IMAGE_DOS_HEADER_00400000: ;XREF[7,1]: 0040012c,00401ac4,00401aef,00401af7
; 0041a4ea,0041a4fe,0041a504,00401acd
Headers:004000004d5a90000... IMAGE_DO... ;Magic number
|_Headers:00400000e_magic char[2] "MZ"
|_Headers:00400000[0] char 'M'
|_Headers:00400001[1] char 'Z'
|_Headers:00400002e_cblp dw 90h
|_Headers:00400004e_cp dw 3h
|_Headers:00400006e_crlc dw 0h
|_Headers:00400008e_cparhdr dw 4h
|_Headers:0040000ae_minalloc dw 0h
|_Headers:0040000ce_maxalloc dw FFFFh
|_Headers:0040000ee_ss dw 0h
|_Headers:00400010e_sp dw B8h
|_Headers:00400012e_csum dw 0h
|_Headers:00400014e_ip dw 0h
|_Headers:00400016e_cs dw 0h
|_Headers:00400018e_lfarlc dw 40h
|_Headers:0040001ae_ovno dw 0h
|_Headers:0040001ce_res[4] dw[4]
|_Headers:0040001c[0] dw 0h
|_Headers:0040001e[1] dw 0h
|_Headers:00400020[2] dw 0h
|_Headers:00400022[3] dw 0h
|_Headers:00400024e_oemid dw 0h
|_Headers:00400026e_oeminfo dw 0h
|_Headers:00400028e_res2[10] dw[10]
|_Headers:00400028[0] dw 0h
|_Headers:0040002a[1] dw 0h
|_Headers:0040002c[2] dw 0h
|_Headers:0040002e[3] dw 0h
|_Headers:00400030[4] dw 0h
|_Headers:00400032[5] dw 0h
|_Headers:00400034[6] dw 0h
|_Headers:00400036[7] dw 0h
|_Headers:00400038[8] dw 0h
|_Headers:0040003a[9] dw 0h
|_Headers:0040003ce_lfanew ddw F8h
|_Headers:00400040e_program db[64]
|_Headers:00400040[0] db Eh
|_Headers:00400041[1] db 1Fh
|_Headers:00400042[2] db BAh
|_Headers:00400043[3] db Eh
|_Headers:00400044[4] db 0h
|_Headers:00400045[5] db B4h
|_Headers:00400046[6] db 9h
|_Headers:00400047[7] db CDh
|_Headers:00400048[8] db 21h
|_Headers:00400049[9] db B8h
|_Headers:0040004a[10] db 1h
|_Headers:0040004b[11] db 4Ch
|_Headers:0040004c[12] db CDh
|_Headers:0040004d[13] db 21h
|_Headers:0040004e[14] db 54h
|_Headers:0040004f[15] db 68h
|_Headers:00400050[16] db 69h
|_Headers:00400051[17] db 73h
|_Headers:00400052[18] db 20h
|_Headers:00400053[19] db 70h
|_Headers:00400054[20] db 72h
|_Headers:00400055[21] db 6Fh
|_Headers:00400056[22] db 67h
|_Headers:00400057[23] db 72h
|_Headers:00400058[24] db 61h
|_Headers:00400059[25] db 6Dh
|_Headers:0040005a[26] db 20h
|_Headers:0040005b[27] db 63h
|_Headers:0040005c[28] db 61h
|_Headers:0040005d[29] db 6Eh
|_Headers:0040005e[30] db 6Eh
|_Headers:0040005f[31] db 6Fh
|_Headers:00400060[32] db 74h
|_Headers:00400061[33] db 20h
|_Headers:00400062[34] db 62h
|_Headers:00400063[35] db 65h
|_Headers:00400064[36] db 20h
|_Headers:00400065[37] db 72h
|_Headers:00400066[38] db 75h
|_Headers:00400067[39] db 6Eh
|_Headers:00400068[40] db 20h
|_Headers:00400069[41] db 69h
|_Headers:0040006a[42] db 6Eh
|_Headers:0040006b[43] db 20h
|_Headers:0040006c[44] db 44h
|_Headers:0040006d[45] db 4Fh
|_Headers:0040006e[46] db 53h
|_Headers:0040006f[47] db 20h
|_Headers:00400070[48] db 6Dh
|_Headers:00400071[49] db 6Fh
|_Headers:00400072[50] db 64h
|_Headers:00400073[51] db 65h
|_Headers:00400074[52] db 2Eh
|_Headers:00400075[53] db Dh
|_Headers:00400076[54] db Dh
|_Headers:00400077[55] db Ah
|_Headers:00400078[56] db 24h
|_Headers:00400079[57] db 0h
|_Headers:0040007a[58] db 0h
|_Headers:0040007b[59] db 0h
|_Headers:0040007c[60] db 0h
|_Headers:0040007d[61] db 0h
|_Headers:0040007e[62] db 0h
|_Headers:0040007f[63] db 0h
Headers:0040008069c8fe112... IMAGE_RI...
|_Headers:00400080field0 "DanS"
|_Headers:00400084__pad0 xorddw 0
|_Headers:00400088__pad1 xorddw 0
|_Headers:0040008c__pad2 xorddw 0
|_Headers:00400090product_00 MSRichRe...
|_Headers:00400090productInfo Product ...
|_Headers:00400090product Product ID Assembler from VS2015
|_Headers:00400092buildNumber xordw 30795
|_Headers:00400094objectCount xorddw 10
|_Headers:00400098product_01 MSRichRe...
|_Headers:00400098productInfo Product ...
|_Headers:00400098product Product ID C++ Compiler from VS2015
|_Headers:0040009abuildNumber xordw 30795
|_Headers:0040009cobjectCount xorddw 150
|_Headers:004000a0product_02 MSRichRe...
|_Headers:004000a0productInfo Product ...
|_Headers:004000a0product Product ID C Compiler from VS2015
|_Headers:004000a2buildNumber xordw 30795
|_Headers:004000a4objectCount xorddw 20
|_Headers:004000a8product_03 MSRichRe...
|_Headers:004000a8productInfo Product ...
|_Headers:004000a8product Product ID C++ Compiler from VS2015
|_Headers:004000aabuildNumber xordw 31935
|_Headers:004000acobjectCount xorddw 38
|_Headers:004000b0product_04 MSRichRe...
|_Headers:004000b0productInfo Product ...
|_Headers:004000b0product Product ID C Compiler from VS2015
|_Headers:004000b2buildNumber xordw 31935
|_Headers:004000b4objectCount xorddw 17
|_Headers:004000b8product_05 MSRichRe...
|_Headers:004000b8productInfo Product ...
|_Headers:004000b8product Product ID Assembler from VS2015
|_Headers:004000babuildNumber xordw 31935
|_Headers:004000bcobjectCount xorddw 20
|_Headers:004000c0product_06 MSRichRe...
|_Headers:004000c0productInfo Product ...
|_Headers:004000c0product Product ID Linker from VS2015
|_Headers:004000c2buildNumber xordw 30795
|_Headers:004000c4objectCount xorddw 3
|_Headers:004000c8product_07 MSRichRe...
|_Headers:004000c8productInfo Product ...
|_Headers:004000c8product Product ID Unmarked objects
|_Headers:004000cabuildNumber xordw 0
|_Headers:004000ccobjectCount xorddw 81
|_Headers:004000d0product_08 MSRichRe...
|_Headers:004000d0productInfo Product ...
|_Headers:004000d0product Product ID Unknown Product (109)
|_Headers:004000d2buildNumber xordw 32215
|_Headers:004000d4objectCount xorddw 1
|_Headers:004000d8product_09 MSRichRe...
|_Headers:004000d8productInfo Product ...
|_Headers:004000d8product Product ID CVTRes from VS2015
|_Headers:004000dabuildNumber xordw 32215
|_Headers:004000dcobjectCount xorddw 1
|_Headers:004000e0product_10 MSRichRe...
|_Headers:004000e0productInfo Product ...
|_Headers:004000e0product Product ID Linker from VS2015
|_Headers:004000e2buildNumber xordw 32215
|_Headers:004000e4objectCount xorddw 1
|_Headers:004000e8signature "Rich"
|_Headers:004000ecmask ddw 4290A92Dh
Headers:004000f000 ?? 00h
Headers:004000f100 ?? 00h
Headers:004000f200 ?? 00h
Headers:004000f300 ?? 00h
Headers:004000f400 ?? 00h
Headers:004000f500 ?? 00h
Headers:004000f600 ?? 00h
Headers:004000f700 ?? 00h
IMAGE_NT_HEADERS32_004000f8: ;XREF[1,1]: 00401ad2,00401ae3
Headers:004000f8504500004... IMAGE_NT... ;= 000222dc
;= 221C4h
|_Headers:004000f8Signature char[4] "PE"
|_Headers:004000f8[0] char 'P'
|_Headers:004000f9[1] char 'E'
|_Headers:004000fa[2] char '\0'
|_Headers:004000fb[3] char '\0'
|_Headers:004000fcFileHeader IMAGE_FI...
|_Headers:004000fcMachine dw 14Ch
|_Headers:004000feNumberOfS... dw 5h
|_Headers:00400100TimeDateS... ddw 659FD558h
|_Headers:00400104PointerTo... ddw 0h
|_Headers:00400108NumberOfS... ddw 0h
|_Headers:0040010cSizeOfOpt... dw E0h
|_Headers:0040010eCharacter... dw 102h
|_Headers:00400110OptionalH... IMAGE_OP...
|_Headers:00400110Magic dw 10Bh
|_Headers:00400112MajorLink... db Eh
|_Headers:00400113MinorLink... db 23h
|_Headers:00400114SizeOfCode ddw 19E00h
|_Headers:00400118SizeOfIni... ddw A400h
|_Headers:0040011cSizeOfUni... ddw 0h
|_Headers:00400120AddressOf... ibo32 .text:entry
|_Headers:00400124BaseOfCode ibo32 .text:FUN_00401000
|_Headers:00400128BaseOfData ibo32 .rdata:PTR_QueryPerformanceCounter_00...
|_Headers:0040012cImageBase addr IMAGE_DOS_HEADER_00400000
|_Headers:00400130SectionAl... ddw 1000h
|_Headers:00400134FileAlign... ddw 200h
|_Headers:00400138MajorOper... dw 6h
|_Headers:0040013aMinorOper... dw 0h
|_Headers:0040013cMajorImag... dw 0h
|_Headers:0040013eMinorImag... dw 0h
|_Headers:00400140MajorSubs... dw 6h
|_Headers:00400142MinorSubs... dw 0h
|_Headers:00400144Win32Vers... ddw 0h
|_Headers:00400148SizeOfImage ddw 28000h
|_Headers:0040014cSizeOfHea... ddw 400h
|_Headers:00400150CheckSum ddw 0h
|_Headers:00400154Subsystem dw 3h
|_Headers:00400156DllCharac... dw 8140h
|_Headers:00400158SizeOfSta... ddw 100000h
|_Headers:0040015cSizeOfSta... ddw 1000h
|_Headers:00400160SizeOfHea... ddw 100000h
|_Headers:00400164SizeOfHea... ddw 1000h
|_Headers:00400168LoaderFlags ddw 0h
|_Headers:0040016cNumberOfR... ddw 10h
|_Headers:00400170DataDirec... IMAGE_DA...
|_Headers:00400170[0] IMAGE_DA...
|_Headers:00400170VirtualAd... ibo32 NaP
|_Headers:00400174Size ddw 0h
|_Headers:00400178[1] IMAGE_DA...
|_Headers:00400178VirtualAd... ibo32 .rdata:DWORD_0042219c
|_Headers:0040017cSize ddw 28h
|_Headers:00400180[2] IMAGE_DA...
|_Headers:00400180VirtualAd... ibo32 .rsrc:IMAGE_RESOURCE_DIRECTORY_00425000
|_Headers:00400184Size ddw 1E0h
|_Headers:00400188[3] IMAGE_DA...
|_Headers:00400188VirtualAd... ibo32 NaP
|_Headers:0040018cSize ddw 0h
|_Headers:00400190[4] IMAGE_DA...
|_Headers:00400190VirtualAd... ibo32 NaP
|_Headers:00400194Size ddw 0h
|_Headers:00400198[5] IMAGE_DA...
|_Headers:00400198VirtualAd... ibo32 .reloc:DWORD_00426000
|_Headers:0040019cSize ddw 1240h
|_Headers:004001a0[6] IMAGE_DA...
|_Headers:004001a0VirtualAd... ibo32 .rdata:IMAGE_DEBUG_DIRECTORY_00421420
|_Headers:004001a4Size ddw 70h
|_Headers:004001a8[7] IMAGE_DA...
|_Headers:004001a8VirtualAd... ibo32 NaP
|_Headers:004001acSize ddw 0h
|_Headers:004001b0[8] IMAGE_DA...
|_Headers:004001b0VirtualAd... ibo32 NaP
|_Headers:004001b4Size ddw 0h
|_Headers:004001b8[9] IMAGE_DA...
|_Headers:004001b8VirtualAd... ibo32 NaP
|_Headers:004001bcSize ddw 0h
|_Headers:004001c0[10] IMAGE_DA...
|_Headers:004001c0VirtualAd... ibo32 .rdata:IMAGE_LOAD_CONFIG_DIRECTORY32_...
|_Headers:004001c4Size ddw 40h
|_Headers:004001c8[11] IMAGE_DA...
|_Headers:004001c8VirtualAd... ibo32 NaP
|_Headers:004001ccSize ddw 0h
|_Headers:004001d0[12] IMAGE_DA...
|_Headers:004001d0VirtualAd... ibo32 .rdata:PTR_QueryPerformanceCounter_00...
|_Headers:004001d4Size ddw 118h
|_Headers:004001d8[13] IMAGE_DA...
|_Headers:004001d8VirtualAd... ibo32 NaP
|_Headers:004001dcSize ddw 0h
|_Headers:004001e0[14] IMAGE_DA...
|_Headers:004001e0VirtualAd... ibo32 NaP
|_Headers:004001e4Size ddw 0h
|_Headers:004001e8[15] IMAGE_DA...
|_Headers:004001e8VirtualAd... ibo32 NaP
|_Headers:004001ecSize ddw 0h
Headers:004001f02e7465787... IMAGE_SE... ;.text
|_Headers:004001f0Name char[8] ".text"
|_Headers:004001f0[0] char '.'
|_Headers:004001f1[1] char 't'
|_Headers:004001f2[2] char 'e'
|_Headers:004001f3[3] char 'x'
|_Headers:004001f4[4] char 't'
|_Headers:004001f5[5] char '\0'
|_Headers:004001f6[6] char '\0'
|_Headers:004001f7[7] char '\0'
|_Headers:004001f8Misc Misc
|_Headers:004001f8PhysicalA... ddw 19DDEh
|_Headers:004001f8VirtualSize ddw 19DDEh
|_Headers:004001fcVirtualAd... ibo32 .text:FUN_00401000
|_Headers:00400200SizeOfRaw... ddw 19E00h
|_Headers:00400204PointerTo... ddw 400h
|_Headers:00400208PointerTo... ddw 0h
|_Headers:0040020cPointerTo... ddw 0h
|_Headers:00400210NumberOfR... dw 0h
|_Headers:00400212NumberOfL... dw 0h
|_Headers:00400214Character... SectionF...IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EX...
Headers:004002182e7264617... IMAGE_SE... ;.rdata
|_Headers:00400218Name char[8] ".rdata"
|_Headers:00400218[0] char '.'
|_Headers:00400219[1] char 'r'
|_Headers:0040021a[2] char 'd'
|_Headers:0040021b[3] char 'a'
|_Headers:0040021c[4] char 't'
|_Headers:0040021d[5] char 'a'
|_Headers:0040021e[6] char '\0'
|_Headers:0040021f[7] char '\0'
|_Headers:00400220Misc Misc
|_Headers:00400220PhysicalA... ddw 77E0h
|_Headers:00400220VirtualSize ddw 77E0h
|_Headers:00400224VirtualAd... ibo32 .rdata:PTR_QueryPerformanceCounter_00...
|_Headers:00400228SizeOfRaw... ddw 7800h
|_Headers:0040022cPointerTo... ddw 1A200h
|_Headers:00400230PointerTo... ddw 0h
|_Headers:00400234PointerTo... ddw 0h
|_Headers:00400238NumberOfR... dw 0h
|_Headers:0040023aNumberOfL... dw 0h
|_Headers:0040023cCharacter... SectionF...IMAGE_SCN_CNT_INITIALIZED_DATA | IMAG...
Headers:004002402e6461746... IMAGE_SE... ;.data
|_Headers:00400240Name char[8] ".data"
|_Headers:00400240[0] char '.'
|_Headers:00400241[1] char 'd'
|_Headers:00400242[2] char 'a'
|_Headers:00400243[3] char 't'
|_Headers:00400244[4] char 'a'
|_Headers:00400245[5] char '\0'
|_Headers:00400246[6] char '\0'
|_Headers:00400247[7] char '\0'
|_Headers:00400248Misc Misc
|_Headers:00400248PhysicalA... ddw 155Ch
|_Headers:00400248VirtualSize ddw 155Ch
|_Headers:0040024cVirtualAd... ibo32 .data:DAT_00423000
|_Headers:00400250SizeOfRaw... ddw A00h
|_Headers:00400254PointerTo... ddw 21A00h
|_Headers:00400258PointerTo... ddw 0h
|_Headers:0040025cPointerTo... ddw 0h
|_Headers:00400260NumberOfR... dw 0h
|_Headers:00400262NumberOfL... dw 0h
|_Headers:00400264Character... SectionF...IMAGE_SCN_CNT_INITIALIZED_DATA | IMAG...
Headers:004002682e7273726... IMAGE_SE... ;.rsrc
|_Headers:00400268Name char[8] ".rsrc"
|_Headers:00400268[0] char '.'
|_Headers:00400269[1] char 'r'
|_Headers:0040026a[2] char 's'
|_Headers:0040026b[3] char 'r'
|_Headers:0040026c[4] char 'c'
|_Headers:0040026d[5] char '\0'
|_Headers:0040026e[6] char '\0'
|_Headers:0040026f[7] char '\0'
|_Headers:00400270Misc Misc
|_Headers:00400270PhysicalA... ddw 1E0h
|_Headers:00400270VirtualSize ddw 1E0h
|_Headers:00400274VirtualAd... ibo32 .rsrc:IMAGE_RESOURCE_DIRECTORY_00425000
|_Headers:00400278SizeOfRaw... ddw 200h
|_Headers:0040027cPointerTo... ddw 22400h
|_Headers:00400280PointerTo... ddw 0h
|_Headers:00400284PointerTo... ddw 0h
|_Headers:00400288NumberOfR... dw 0h
|_Headers:0040028aNumberOfL... dw 0h
|_Headers:0040028cCharacter... SectionF...IMAGE_SCN_CNT_INITIALIZED_DATA | IMAG...
Headers:004002902e72656c6... IMAGE_SE... ;.reloc
|_Headers:00400290Name char[8] ".reloc"
|_Headers:00400290[0] char '.'
|_Headers:00400291[1] char 'r'
|_Headers:00400292[2] char 'e'
|_Headers:00400293[3] char 'l'
|_Headers:00400294[4] char 'o'
|_Headers:00400295[5] char 'c'
|_Headers:00400296[6] char '\0'
|_Headers:00400297[7] char '\0'
|_Headers:00400298Misc Misc
|_Headers:00400298PhysicalA... ddw 1240h
|_Headers:00400298VirtualSize ddw 1240h
|_Headers:0040029cVirtualAd... ibo32 .reloc:DWORD_00426000
|_Headers:004002a0SizeOfRaw... ddw 1400h
|_Headers:004002a4PointerTo... ddw 22600h
|_Headers:004002a8PointerTo... ddw 0h
|_Headers:004002acPointerTo... ddw 0h
|_Headers:004002b0NumberOfR... dw 0h
|_Headers:004002b2NumberOfL... dw 0h
|_Headers:004002b4Character... SectionF...IMAGE_SCN_CNT_INITIALIZED_DATA | IMAG...
Headers:004002b800 ?? 00h
Headers:004002b900 ?? 00h
Headers:004002ba00 ?? 00h
Headers:004002bb00 ?? 00h
Headers:004002bc00 ?? 00h
Headers:004002bd00 ?? 00h
Headers:004002be00 ?? 00h
Headers:004002bf00 ?? 00h
Headers:004002c000 ?? 00h
Headers:004002c100 ?? 00h
Headers:004002c200 ?? 00h
Headers:004002c300 ?? 00h
Headers:004002c400 ?? 00h
Headers:004002c500 ?? 00h
Headers:004002c600 ?? 00h
Headers:004002c700 ?? 00h
Headers:004002c800 ?? 00h
Headers:004002c900 ?? 00h
Headers:004002ca00 ?? 00h
Headers:004002cb00 ?? 00h
Headers:004002cc00 ?? 00h
Headers:004002cd00 ?? 00h
Headers:004002ce00 ?? 00h
Headers:004002cf00 ?? 00h
Headers:004002d000 ?? 00h
Headers:004002d100 ?? 00h
Headers:004002d200 ?? 00h
Headers:004002d300 ?? 00h
Headers:004002d400 ?? 00h
Headers:004002d500 ?? 00h
Headers:004002d600 ?? 00h
Headers:004002d700 ?? 00h
Headers:004002d800 ?? 00h
Headers:004002d900 ?? 00h
Headers:004002da00 ?? 00h
Headers:004002db00 ?? 00h
Headers:004002dc00 ?? 00h
Headers:004002dd00 ?? 00h
Headers:004002de00 ?? 00h
Headers:004002df00 ?? 00h
Headers:004002e000 ?? 00h
Headers:004002e100 ?? 00h
Headers:004002e200 ?? 00h
Headers:004002e300 ?? 00h
Headers:004002e400 ?? 00h
Headers:004002e500 ?? 00h
Headers:004002e600 ?? 00h
Headers:004002e700 ?? 00h
Headers:004002e800 ?? 00h
Headers:004002e900 ?? 00h
Headers:004002ea00 ?? 00h
Headers:004002eb00 ?? 00h
Headers:004002ec00 ?? 00h
Headers:004002ed00 ?? 00h
Headers:004002ee00 ?? 00h
Headers:004002ef00 ?? 00h
Headers:004002f000 ?? 00h
Headers:004002f100 ?? 00h
Headers:004002f200 ?? 00h
Headers:004002f300 ?? 00h
Headers:004002f400 ?? 00h
Headers:004002f500 ?? 00h
Headers:004002f600 ?? 00h
Headers:004002f700 ?? 00h
Headers:004002f800 ?? 00h
Headers:004002f900 ?? 00h
Headers:004002fa00 ?? 00h
Headers:004002fb00 ?? 00h
Headers:004002fc00 ?? 00h
Headers:004002fd00 ?? 00h
Headers:004002fe00 ?? 00h
Headers:004002ff00 ?? 00h
Headers:0040030000 ?? 00h
Headers:0040030100 ?? 00h
Headers:0040030200 ?? 00h
Headers:0040030300 ?? 00h
Headers:0040030400 ?? 00h
Headers:0040030500 ?? 00h
Headers:0040030600 ?? 00h
Headers:0040030700 ?? 00h
Headers:0040030800 ?? 00h
Headers:0040030900 ?? 00h
Headers:0040030a00 ?? 00h
Headers:0040030b00 ?? 00h
Headers:0040030c00 ?? 00h
Headers:0040030d00 ?? 00h
Headers:0040030e00 ?? 00h
Headers:0040030f00 ?? 00h
Headers:0040031000 ?? 00h
Headers:0040031100 ?? 00h
Headers:0040031200 ?? 00h
Headers:0040031300 ?? 00h
Headers:0040031400 ?? 00h
Headers:0040031500 ?? 00h
Headers:0040031600 ?? 00h
Headers:0040031700 ?? 00h
Headers:0040031800 ?? 00h
Headers:0040031900 ?? 00h
Headers:0040031a00 ?? 00h
Headers:0040031b00 ?? 00h
Headers:0040031c00 ?? 00h
Headers:0040031d00 ?? 00h
Headers:0040031e00 ?? 00h
Headers:0040031f00 ?? 00h
Headers:0040032000 ?? 00h
Headers:0040032100 ?? 00h
Headers:0040032200 ?? 00h
Headers:0040032300 ?? 00h
Headers:0040032400 ?? 00h
Headers:0040032500 ?? 00h
Headers:0040032600 ?? 00h
Headers:0040032700 ?? 00h
Headers:0040032800 ?? 00h
Headers:0040032900 ?? 00h
Headers:0040032a00 ?? 00h
Headers:0040032b00 ?? 00h
Headers:0040032c00 ?? 00h
Headers:0040032d00 ?? 00h
Headers:0040032e00 ?? 00h
Headers:0040032f00 ?? 00h
Headers:0040033000 ?? 00h
Headers:0040033100 ?? 00h
Headers:0040033200 ?? 00h
Headers:0040033300 ?? 00h
Headers:0040033400 ?? 00h
Headers:0040033500 ?? 00h
Headers:0040033600 ?? 00h
Headers:0040033700 ?? 00h
Headers:0040033800 ?? 00h
Headers:0040033900 ?? 00h
Headers:0040033a00 ?? 00h
Headers:0040033b00 ?? 00h
Headers:0040033c00 ?? 00h
Headers:0040033d00 ?? 00h
Headers:0040033e00 ?? 00h
Headers:0040033f00 ?? 00h
Headers:0040034000 ?? 00h
Headers:0040034100 ?? 00h
Headers:0040034200 ?? 00h
Headers:0040034300 ?? 00h
Headers:0040034400 ?? 00h
Headers:0040034500 ?? 00h
Headers:0040034600 ?? 00h
Headers:0040034700 ?? 00h
Headers:0040034800 ?? 00h
Headers:0040034900 ?? 00h
Headers:0040034a00 ?? 00h
Headers:0040034b00 ?? 00h
Headers:0040034c00 ?? 00h
Headers:0040034d00 ?? 00h
Headers:0040034e00 ?? 00h
Headers:0040034f00 ?? 00h
Headers:0040035000 ?? 00h
Headers:0040035100 ?? 00h
Headers:0040035200 ?? 00h
Headers:0040035300 ?? 00h
Headers:0040035400 ?? 00h
Headers:0040035500 ?? 00h
Headers:0040035600 ?? 00h
Headers:0040035700 ?? 00h
Headers:0040035800 ?? 00h
Headers:0040035900 ?? 00h
Headers:0040035a00 ?? 00h
Headers:0040035b00 ?? 00h
Headers:0040035c00 ?? 00h
Headers:0040035d00 ?? 00h
Headers:0040035e00 ?? 00h
Headers:0040035f00 ?? 00h
Headers:0040036000 ?? 00h
Headers:0040036100 ?? 00h
Headers:0040036200 ?? 00h
Headers:0040036300 ?? 00h
Headers:0040036400 ?? 00h
Headers:0040036500 ?? 00h
Headers:0040036600 ?? 00h
Headers:0040036700 ?? 00h
Headers:0040036800 ?? 00h
Headers:0040036900 ?? 00h
Headers:0040036a00 ?? 00h
Headers:0040036b00 ?? 00h
Headers:0040036c00 ?? 00h
Headers:0040036d00 ?? 00h
Headers:0040036e00 ?? 00h
Headers:0040036f00 ?? 00h
Headers:0040037000 ?? 00h
Headers:0040037100 ?? 00h
Headers:0040037200 ?? 00h
Headers:0040037300 ?? 00h
Headers:0040037400 ?? 00h
Headers:0040037500 ?? 00h
Headers:0040037600 ?? 00h
Headers:0040037700 ?? 00h
Headers:0040037800 ?? 00h
Headers:0040037900 ?? 00h
Headers:0040037a00 ?? 00h
Headers:0040037b00 ?? 00h
Headers:0040037c00 ?? 00h
Headers:0040037d00 ?? 00h
Headers:0040037e00 ?? 00h
Headers:0040037f00 ?? 00h
Headers:0040038000 ?? 00h
Headers:0040038100 ?? 00h
Headers:0040038200 ?? 00h
Headers:0040038300 ?? 00h
Headers:0040038400 ?? 00h
Headers:0040038500 ?? 00h
Headers:0040038600 ?? 00h
Headers:0040038700 ?? 00h
Headers:0040038800 ?? 00h
Headers:0040038900 ?? 00h
Headers:0040038a00 ?? 00h
Headers:0040038b00 ?? 00h
Headers:0040038c00 ?? 00h
Headers:0040038d00 ?? 00h
Headers:0040038e00 ?? 00h
Headers:0040038f00 ?? 00h
Headers:0040039000 ?? 00h
Headers:0040039100 ?? 00h
Headers:0040039200 ?? 00h
Headers:0040039300 ?? 00h
Headers:0040039400 ?? 00h
Headers:0040039500 ?? 00h
Headers:0040039600 ?? 00h
Headers:0040039700 ?? 00h
Headers:0040039800 ?? 00h
Headers:0040039900 ?? 00h
Headers:0040039a00 ?? 00h
Headers:0040039b00 ?? 00h
Headers:0040039c00 ?? 00h
Headers:0040039d00 ?? 00h
Headers:0040039e00 ?? 00h
Headers:0040039f00 ?? 00h
Headers:004003a000 ?? 00h
Headers:004003a100 ?? 00h
Headers:004003a200 ?? 00h
Headers:004003a300 ?? 00h
Headers:004003a400 ?? 00h
Headers:004003a500 ?? 00h
Headers:004003a600 ?? 00h
Headers:004003a700 ?? 00h
Headers:004003a800 ?? 00h
Headers:004003a900 ?? 00h
Headers:004003aa00 ?? 00h
Headers:004003ab00 ?? 00h
Headers:004003ac00 ?? 00h
Headers:004003ad00 ?? 00h
Headers:004003ae00 ?? 00h
Headers:004003af00 ?? 00h
Headers:004003b000 ?? 00h
Headers:004003b100 ?? 00h
Headers:004003b200 ?? 00h
Headers:004003b300 ?? 00h
Headers:004003b400 ?? 00h
Headers:004003b500 ?? 00h
Headers:004003b600 ?? 00h
Headers:004003b700 ?? 00h
Headers:004003b800 ?? 00h
Headers:004003b900 ?? 00h
Headers:004003ba00 ?? 00h
Headers:004003bb00 ?? 00h
Headers:004003bc00 ?? 00h
Headers:004003bd00 ?? 00h
Headers:004003be00 ?? 00h
Headers:004003bf00 ?? 00h
Headers:004003c000 ?? 00h
Headers:004003c100 ?? 00h
Headers:004003c200 ?? 00h
Headers:004003c300 ?? 00h
Headers:004003c400 ?? 00h
Headers:004003c500 ?? 00h
Headers:004003c600 ?? 00h
Headers:004003c700 ?? 00h
Headers:004003c800 ?? 00h
Headers:004003c900 ?? 00h
Headers:004003ca00 ?? 00h
Headers:004003cb00 ?? 00h
Headers:004003cc00 ?? 00h
Headers:004003cd00 ?? 00h
Headers:004003ce00 ?? 00h
Headers:004003cf00 ?? 00h
Headers:004003d000 ?? 00h
Headers:004003d100 ?? 00h
Headers:004003d200 ?? 00h
Headers:004003d300 ?? 00h
Headers:004003d400 ?? 00h
Headers:004003d500 ?? 00h
Headers:004003d600 ?? 00h
Headers:004003d700 ?? 00h
Headers:004003d800 ?? 00h
Headers:004003d900 ?? 00h
Headers:004003da00 ?? 00h
Headers:004003db00 ?? 00h
Headers:004003dc00 ?? 00h
Headers:004003dd00 ?? 00h
Headers:004003de00 ?? 00h
Headers:004003df00 ?? 00h
Headers:004003e000 ?? 00h
Headers:004003e100 ?? 00h
Headers:004003e200 ?? 00h
Headers:004003e300 ?? 00h
Headers:004003e400 ?? 00h
Headers:004003e500 ?? 00h
Headers:004003e600 ?? 00h
Headers:004003e700 ?? 00h
Headers:004003e800 ?? 00h
Headers:004003e900 ?? 00h
Headers:004003ea00 ?? 00h
Headers:004003eb00 ?? 00h
Headers:004003ec00 ?? 00h
Headers:004003ed00 ?? 00h
Headers:004003ee00 ?? 00h
Headers:004003ef00 ?? 00h
Headers:004003f000 ?? 00h
Headers:004003f100 ?? 00h
Headers:004003f200 ?? 00h
Headers:004003f300 ?? 00h
Headers:004003f400 ?? 00h
Headers:004003f500 ?? 00h
Headers:004003f600 ?? 00h
Headers:004003f700 ?? 00h
Headers:004003f800 ?? 00h
Headers:004003f900 ?? 00h
Headers:004003fa00 ?? 00h
Headers:004003fb00 ?? 00h
Headers:004003fc00 ?? 00h
Headers:004003fd00 ?? 00h
Headers:004003fe00 ?? 00h
Headers:004003ff00 ?? 00h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined * FUN_00401000(void)
;XREF[4,0]: 00400124,004001fc,00401039,00401ca2
.text:00401000 b840454200 MOV EAX,.data:DAT_00424540 ;= ??
.text:00401005 c3 RET
.text:00401006 ccccccccc... align align(10)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined * FUN_00401010(void)
;XREF[4,0]: 00401069,00401099,004010d1,00401cb0
.text:00401010 b838454200 MOV EAX,.data:DAT_00424538 ;= ??
.text:00401015 c3 RET
.text:00401016 ccccccccc... align align(10)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00401020(int param_1)
;param_1 int 4 ;XREF[1,0]: 00401024
;XREF[45,0]: 00401133,00401197,004011b6,004011de
; 004011f7,00401201,0040120b,00401215
; 0040121f,00401229,00401289,004012b8
; 00401307,00401326,00401354,0040136a
; 004013a0,004013c3,00401413,00401429
; 0040145f,00401480,00401499,004014d0
; 004014ed,004014fc,0040150b,0040151f
; 00401533,0040156c,00401576,00401580
; 0040158a,00401594,0040159e,004015a8
; 004015eb,0040161d,00401639,00401653
; 00401680,004016af,004016d5,004016e9
; 004016fd
.text:00401020 55 PUSH EBP
.text:00401021 8bec MOV EBP,ESP
.text:00401023 56 PUSH ESI
.text:00401024 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00401027 6a01 PUSH 0x1
.text:00401029 e85b390000 CALL FUN_00404989 ;undefined * FUN_00404989(int param_1)
.text:0040102e 83c404 ADD ESP,0x4
.text:00401031 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00401034 51 PUSH ECX
.text:00401035 6a00 PUSH 0x0
.text:00401037 56 PUSH ESI
.text:00401038 50 PUSH EAX
.text:00401039 e8c2ffffff CALL FUN_00401000 ;undefined * FUN_00401000(void)
.text:0040103e ff7004 PUSH dword ptr [EAX + 0x4]
.text:00401041 ff30 PUSH dword ptr [EAX]
.text:00401043 e8f6560000 CALL FUN_0040673e ;undefined4 FUN_0040673e(undefined4 p...
.text:00401048 83c418 ADD ESP,0x18
.text:0040104b 5e POP ESI
.text:0040104c 5d POP EBP
.text:0040104d c3 RET
.text:0040104e cccc align align(2)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00401050(int param_1)
;param_1 int 4 ;XREF[1,0]: 00401054
;XREF[7,0]: 00401237,00401334,004013ce,00401437
; 004015b6,00401661,0040168e
.text:00401050 55 PUSH EBP
.text:00401051 8bec MOV EBP,ESP
.text:00401053 56 PUSH ESI
.text:00401054 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00401057 6a00 PUSH 0x0
.text:00401059 e82b390000 CALL FUN_00404989 ;undefined * FUN_00404989(int param_1)
.text:0040105e 83c404 ADD ESP,0x4
.text:00401061 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00401064 51 PUSH ECX
.text:00401065 6a00 PUSH 0x0
.text:00401067 56 PUSH ESI
.text:00401068 50 PUSH EAX
.text:00401069 e8a2ffffff CALL FUN_00401010 ;undefined * FUN_00401010(void)
.text:0040106e ff7004 PUSH dword ptr [EAX + 0x4]
.text:00401071 ff30 PUSH dword ptr [EAX]
.text:00401073 e8acb80000 CALL FUN_0040c924 ;int FUN_0040c924(undefined4 param_1,...
.text:00401078 83c418 ADD ESP,0x18
.text:0040107b 5e POP ESI
.text:0040107c 5d POP EBP
.text:0040107d c3 RET
.text:0040107e cccc align align(2)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00401080(int param_1)
;param_1 int 4 ;XREF[1,0]: 00401084
;XREF[3,0]: 00401296,00401378,004014a7
.text:00401080 55 PUSH EBP
.text:00401081 8bec MOV EBP,ESP
.text:00401083 56 PUSH ESI
.text:00401084 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00401087 6a00 PUSH 0x0
.text:00401089 e8fb380000 CALL FUN_00404989 ;undefined * FUN_00404989(int param_1)
.text:0040108e 83c404 ADD ESP,0x4
.text:00401091 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00401094 51 PUSH ECX
.text:00401095 6a00 PUSH 0x0
.text:00401097 56 PUSH ESI
.text:00401098 50 PUSH EAX
.text:00401099 e872ffffff CALL FUN_00401010 ;undefined * FUN_00401010(void)
.text:0040109e 8b08 MOV ECX,dword ptr [EAX]
.text:004010a0 ff7004 PUSH dword ptr [EAX + 0x4]
.text:004010a3 83c901 OR ECX,0x1
.text:004010a6 51 PUSH ECX
.text:004010a7 e878b80000 CALL FUN_0040c924 ;int FUN_0040c924(undefined4 param_1,...
.text:004010ac 83c418 ADD ESP,0x18
.text:004010af 5e POP ESI
.text:004010b0 5d POP EBP
.text:004010b1 c3 RET
.text:004010b2 ccccccccc... align align(14)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004010c0(char * param_1, char * param_2)
;param_1 char * 4 ;XREF[1,0]: 004010ce
;param_2 char * 8 ;XREF[1,0]: 004010c9
;XREF[1,0]: 0040117a
.text:004010c0 55 PUSH EBP
.text:004010c1 8bec MOV EBP,ESP
.text:004010c3 8d4510 LEA EAX=>Stack[0xc],[EBP + 0x10]
.text:004010c6 50 PUSH EAX
.text:004010c7 6a00 PUSH 0x0
.text:004010c9 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:004010cc 6aff PUSH -0x1
.text:004010ce ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004010d1 e83affffff CALL FUN_00401010 ;undefined * FUN_00401010(void)
.text:004010d6 ff7004 PUSH dword ptr [EAX + 0x4]
.text:004010d9 ff30 PUSH dword ptr [EAX]
.text:004010db e8c9b80000 CALL ___stdio_common_vsscanf ;undefined ___stdio_common_vsscanf(un...
.text:004010e0 83c41c ADD ESP,0x1c
.text:004010e3 5d POP EBP
.text:004010e4 c3 RET
.text:004010e5 ccccccccc... align align(11)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004010f0(void)
;local_8 undefined4 -8 ;XREF[4,0]: 004010fb,00401169,00401187,004011a1
;local_c undefined4 -c ;XREF[3,0]: 0040116d,0040118a,004011aa
;local_10 undefined4 -10 ;XREF[1,0]: 0040112c
;local_14 undefined4 -14 ;XREF[1,0]: 00401125
;local_24 undefined1[16] -24 ;XREF[1,0]: 00401121
;local_34 undefined1[16] -34 ;XREF[1,0]: 00401111
;local_68 undefined1 -68 ;XREF[3,0]: 004010f8,00401157,00401171
;XREF[1,0]: 0040170c
.text:004010f0 55 PUSH EBP
.text:004010f1 8bec MOV EBP,ESP
.text:004010f3 83ec64 SUB ESP,0x64
.text:004010f6 6a32 PUSH 0x32
.text:004010f8 8d459c LEA EAX=>local_68,[EBP + -0x64]
.text:004010fb c745fc000... MOV dword ptr [EBP + local_8+0x4],0x0
.text:00401102 6a00 PUSH 0x0
.text:00401104 50 PUSH EAX
.text:00401105 e826150000 CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040110a 0f2805401... MOVAPS XMM0,xmmword ptr [.rdata:DAT_00421340]
.text:00401111 0f1145d0 MOVUPS xmmword ptr [EBP + local_34[0]+0x4],XMM0
.text:00401115 68580f4200 PUSH .rdata:s_Enter_an_index,_maybe_someth...;= "Enter an index, maybe something e...
.text:0040111a 0f2805501... MOVAPS XMM0,xmmword ptr [.rdata:DAT_00421350] ;= 08h
.text:00401121 0f1145e0 MOVUPS xmmword ptr [EBP + local_24[0]+0x4],XMM0
.text:00401125 c745f0100... MOV dword ptr [EBP + local_14+0x4],0x10
.text:0040112c c745f4120... MOV dword ptr [EBP + local_10+0x4],0x12
.text:00401133 e8e8feffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401138 83c410 ADD ESP,0x10
.text:0040113b 0f1f440000 NOP dword ptr [EAX + EAX*0x1]
LAB_00401140: ;XREF[1,0]: 0040114d
.text:00401140 e8ebba0000 CALL thunk_FUN_0040cafc ;undefined thunk_FUN_0040cafc(void)
.text:00401145 83f80a CMP EAX,0xa
.text:00401148 7405 JZ LAB_0040114f
.text:0040114a 83f8ff CMP EAX,-0x1
.text:0040114d 75f1 JNZ LAB_00401140
LAB_0040114f: ;XREF[1,0]: 00401148
.text:0040114f 6a00 PUSH 0x0
.text:00401151 e833380000 CALL FUN_00404989 ;undefined * FUN_00404989(int param_1)
.text:00401156 50 PUSH EAX
.text:00401157 8d459c LEA EAX=>local_68,[EBP + -0x64]
.text:0040115a 6a32 PUSH 0x32
.text:0040115c 50 PUSH EAX
.text:0040115d e852570000 CALL FUN_004068b4 ;undefined FUN_004068b4(char * param_...
.text:00401162 83c410 ADD ESP,0x10
.text:00401165 85c0 TEST EAX,EAX
.text:00401167 7438 JZ LAB_004011a1
.text:00401169 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:0040116c 50 PUSH EAX
.text:0040116d 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00401170 50 PUSH EAX
.text:00401171 8d459c LEA EAX=>local_68,[EBP + -0x64]
.text:00401174 68880f4200 PUSH .rdata:s_%u_%u_00420f88 ;= "%u %u"
.text:00401179 50 PUSH EAX
.text:0040117a e841ffffff CALL FUN_004010c0 ;undefined FUN_004010c0(char * param_...
.text:0040117f 83c410 ADD ESP,0x10
.text:00401182 83f801 CMP EAX,0x1
.text:00401185 751a JNZ LAB_004011a1
.text:00401187 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
LAB_0040118a: ;XREF[1,0]: 004011a8
.text:0040118a 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:0040118d 83f80a CMP EAX,0xa
.text:00401190 721b JC LAB_004011ad
.text:00401192 689c0f4200 PUSH .rdata:s_YOU_CANT_DO_THAT!_BYE!_00420f9c;= "YOU CANT DO THAT! BYE!"
.text:00401197 e884feffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040119c 83c404 ADD ESP,0x4
.text:0040119f eb1d JMP LAB_004011be
LAB_004011a1: ;XREF[2,0]: 00401167,00401185
.text:004011a1 817dfc334... CMP dword ptr [EBP + local_8+0x4],0x4533
.text:004011a8 75e0 JNZ LAB_0040118a
.text:004011aa 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
LAB_004011ad: ;XREF[1,0]: 00401190
.text:004011ad ff7485d0 PUSH dword ptr [EBP + EAX*0x4 + -0x30]
.text:004011b1 68900f4200 PUSH .rdata:s_Value:_%d_00420f90 ;= "Value: %d\n"
.text:004011b6 e865feffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004011bb 83c408 ADD ESP,0x8
LAB_004011be: ;XREF[1,0]: 0040119f
.text:004011be 6a01 PUSH 0x1
.text:004011c0 e8e6360000 CALL _exit ;void _exit(int _Code)
.text:004011c5 ccccccccc... align align(11)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004011d0(void)
;local_c undefined4 -c ;XREF[3,0]: 004011e3,0040122e,0040124f
;XREF[1,0]: 004016c4
.text:004011d0 55 PUSH EBP
.text:004011d1 8bec MOV EBP,ESP
.text:004011d3 83ec08 SUB ESP,0x8
.text:004011d6 53 PUSH EBX
.text:004011d7 56 PUSH ESI
.text:004011d8 57 PUSH EDI
.text:004011d9 6884114200 PUSH .rdata:s_Welcome_to_the_very_secure_a...;= "Welcome to the very secure admin ...
.text:004011de e83dfeffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004011e3 c745f8000... MOV dword ptr [EBP + local_c+0x4],0x0
.text:004011ea bb54114200 MOV EBX,.rdata:s_Not_an_admin,_this_incid...;= "Not an admin, this incident will ...
LAB_004011ef: ;XREF[7,0]: 00401359,004013a5,00401418,00401464
; 004014d5,004014f2,00401501
.text:004011ef 83c404 ADD ESP,0x4
LAB_004011f2: ;XREF[3,0]: 004012c6,00401315,00401488
.text:004011f2 68ac114200 PUSH .rdata:s_choice:_004211ac ;= "choice: \n"
.text:004011f7 e824feffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004011fc 68b8114200 PUSH .rdata:s_1._Add_User_004211b8 ;= "1. Add User\n"
.text:00401201 e81afeffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401206 68c8114200 PUSH .rdata:s_2._Remove_User_004211c8 ;= "2. Remove User\n"
.text:0040120b e810feffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401210 68d8114200 PUSH .rdata:s_3._Edit_User_004211d8 ;= "3. Edit User\n"
.text:00401215 e806feffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040121a 68e8114200 PUSH .rdata:s_4._Print_User_004211e8 ;= "4. Print User\n"
.text:0040121f e8fcfdffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401224 68f8114200 PUSH .rdata:s_5._Login_004211f8 ;= "5. Login\n"
.text:00401229 e8f2fdffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040122e 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00401231 50 PUSH EAX
.text:00401232 68ac0e4200 PUSH .rdata:DAT_00420eac ;= 25h %
.text:00401237 e814feffff CALL FUN_00401050 ;undefined FUN_00401050(int param_1)
.text:0040123c 83c420 ADD ESP,0x20
.text:0040123f 90 NOP
LAB_00401240: ;XREF[1,0]: 0040124d
.text:00401240 e8ebb90000 CALL thunk_FUN_0040cafc ;undefined thunk_FUN_0040cafc(void)
.text:00401245 83f80a CMP EAX,0xa
.text:00401248 7405 JZ LAB_0040124f
.text:0040124a 83f8ff CMP EAX,-0x1
.text:0040124d 75f1 JNZ LAB_00401240
LAB_0040124f: ;XREF[1,0]: 00401248
.text:0040124f 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00401252 48 DEC EAX
.text:00401253 83f805 CMP EAX,0x5
.text:00401256 0f879b020000 JA LAB_004014f7
.text:0040125c ff2485441... JMP dword ptr [EAX*0x4 + PTR_LAB_00401544] ;= 00401263
LAB_00401263: ;XREF[1,0]: 00401544
.text:00401263 833d30434... CMP dword ptr [.data:DAT_00424330],0x9 ;= ??
.text:0040126a 0f8fbe020000 JG LAB_0040152e
.text:00401270 6a10 PUSH 0x10
.text:00401272 e8beb90000 CALL FUN_0040cc35 ;undefined FUN_0040cc35(SIZE_T param_1)
.text:00401277 8bf0 MOV ESI,EAX
.text:00401279 83c404 ADD ESP,0x4
.text:0040127c 85f6 TEST ESI,ESI
.text:0040127e 0f8496020000 JZ LAB_0040151a
.text:00401284 68e40f4200 PUSH .rdata:s_Username:_00420fe4 ;= "Username: \n"
.text:00401289 e892fdffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040128e 6a10 PUSH 0x10
.text:00401290 56 PUSH ESI
.text:00401291 68f00f4200 PUSH .rdata:DAT_00420ff0 ;= 25h %
.text:00401296 e8e5fdffff CALL FUN_00401080 ;undefined FUN_00401080(int param_1)
.text:0040129b 83c410 ADD ESP,0x10
.text:0040129e 8bf8 MOV EDI,EAX
LAB_004012a0: ;XREF[1,0]: 004012ad
.text:004012a0 e88bb90000 CALL thunk_FUN_0040cafc ;undefined thunk_FUN_0040cafc(void)
.text:004012a5 83f80a CMP EAX,0xa
.text:004012a8 7405 JZ LAB_004012af
.text:004012aa 83f8ff CMP EAX,-0x1
.text:004012ad 75f1 JNZ LAB_004012a0
LAB_004012af: ;XREF[1,0]: 004012a8
.text:004012af 85ff TEST EDI,EDI
.text:004012b1 7518 JNZ LAB_004012cb
.text:004012b3 68f40f4200 PUSH .rdata:s_too_long_00420ff4 ;= "too long\n"
.text:004012b8 e863fdffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004012bd 56 PUSH ESI
.text:004012be e8e2b70000 CALL FUN_0040caa5 ;undefined FUN_0040caa5(LPVOID param_1)
.text:004012c3 83c408 ADD ESP,0x8
.text:004012c6 e927ffffff JMP LAB_004011f2
LAB_004012cb: ;XREF[1,0]: 004012b1
.text:004012cb 8bce MOV ECX,ESI
.text:004012cd 8d5101 LEA EDX,[ECX + 0x1]
LAB_004012d0: ;XREF[1,0]: 004012d5
.text:004012d0 8a01 MOV AL,byte ptr [ECX]
.text:004012d2 41 INC ECX
.text:004012d3 84c0 TEST AL,AL
.text:004012d5 75f9 JNZ LAB_004012d0
.text:004012d7 6b0530434... IMUL EAX,dword ptr [.data:DAT_00424330],0x33 ;= ??
.text:004012de 2bca SUB ECX,EDX
.text:004012e0 51 PUSH ECX
.text:004012e1 56 PUSH ESI
.text:004012e2 0539434200 ADD EAX,.data:DAT_00424339 ;= ??
.text:004012e7 50 PUSH EAX
.text:004012e8 e8c31d0000 CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:004012ed 56 PUSH ESI
.text:004012ee e8b2b70000 CALL FUN_0040caa5 ;undefined FUN_0040caa5(LPVOID param_1)
.text:004012f3 a130434200 MOV EAX,[.data:DAT_00424330] ;= ??
.text:004012f8 50 PUSH EAX
.text:004012f9 6bc033 IMUL EAX,EAX,0x33
.text:004012fc 0539434200 ADD EAX,.data:DAT_00424339 ;= ??
.text:00401301 50 PUSH EAX
.text:00401302 6800104200 PUSH .rdata:s__User_Added_----------------...;= "\nUser Added\n----------------\nn...
.text:00401307 e814fdffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040130c 83c41c ADD ESP,0x1c
.text:0040130f ff0530434200 INC dword ptr [.data:DAT_00424330] ;= ??
.text:00401315 e9d8feffff JMP LAB_004011f2
LAB_0040131a: ;XREF[1,0]: 00401548
.text:0040131a 684c104200 PUSH .rdata:s_Enter_user_id_to_remove_0042...;= "Enter user_id to remove\n\n"
.text:0040131f c745fc000... MOV dword ptr [EBP + -0x4],0x0
.text:00401326 e8f5fcffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040132b 8d45fc LEA EAX,[EBP + -0x4]
.text:0040132e 50 PUSH EAX
.text:0040132f 68ac0e4200 PUSH .rdata:DAT_00420eac ;= 25h %
.text:00401334 e817fdffff CALL FUN_00401050 ;undefined FUN_00401050(int param_1)
.text:00401339 83c40c ADD ESP,0xc
.text:0040133c 0f1f4000 NOP dword ptr [EAX]
LAB_00401340: ;XREF[1,0]: 0040134d
.text:00401340 e8ebb80000 CALL thunk_FUN_0040cafc ;undefined thunk_FUN_0040cafc(void)
.text:00401345 83f80a CMP EAX,0xa
.text:00401348 7405 JZ LAB_0040134f
.text:0040134a 83f8ff CMP EAX,-0x1
.text:0040134d 75f1 JNZ LAB_00401340
LAB_0040134f: ;XREF[1,0]: 00401348
.text:0040134f 6868104200 PUSH .rdata:s_Removed,_trust_me_bro!_00421068;= "Removed, trust me bro!\n\n"
.text:00401354 e8c7fcffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401359 e991feffff JMP LAB_004011ef
LAB_0040135e: ;XREF[1,0]: 0040154c
.text:0040135e 6884104200 PUSH .rdata:s_Enter_user_id_to_edit_00421084 ;= "Enter user_id to edit\n"
.text:00401363 c745fc000... MOV dword ptr [EBP + -0x4],0x0
.text:0040136a e8b1fcffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040136f 8d45fc LEA EAX,[EBP + -0x4]
.text:00401372 50 PUSH EAX
.text:00401373 68ac0e4200 PUSH .rdata:DAT_00420eac ;= 25h %
.text:00401378 e803fdffff CALL FUN_00401080 ;undefined FUN_00401080(int param_1)
.text:0040137d 83c40c ADD ESP,0xc
LAB_00401380: ;XREF[1,0]: 0040138d
.text:00401380 e8abb80000 CALL thunk_FUN_0040cafc ;undefined thunk_FUN_0040cafc(void)
.text:00401385 83f80a CMP EAX,0xa
.text:00401388 7405 JZ LAB_0040138f
.text:0040138a 83f8ff CMP EAX,-0x1
.text:0040138d 75f1 JNZ LAB_00401380
LAB_0040138f: ;XREF[1,0]: 00401388
.text:0040138f 8b45fc MOV EAX,dword ptr [EBP + -0x4]
.text:00401392 3b0530434200 CMP EAX,dword ptr [.data:DAT_00424330] ;= ??
.text:00401398 7e10 JLE LAB_004013aa
.text:0040139a b89c104200 MOV EAX,.rdata:s_User_doesnt_exist_0042109c ;= "User doesnt exist\n"
.text:0040139f 50 PUSH EAX=>.rdata:s_User_doesnt_exist_0042109c;= "User doesnt exist\n"
.text:004013a0 e87bfcffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004013a5 e945feffff JMP LAB_004011ef
LAB_004013aa: ;XREF[1,0]: 00401398
.text:004013aa 6a50 PUSH 0x50
.text:004013ac e884b80000 CALL FUN_0040cc35 ;undefined FUN_0040cc35(SIZE_T param_1)
.text:004013b1 8bf0 MOV ESI,EAX
.text:004013b3 83c404 ADD ESP,0x4
.text:004013b6 85f6 TEST ESI,ESI
.text:004013b8 0f845c010000 JZ LAB_0040151a
.text:004013be 68b0104200 PUSH .rdata:s_Enter_the_new_name_004210b0 ;= "Enter the new name\n"
.text:004013c3 e858fcffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004013c8 56 PUSH ESI
.text:004013c9 68f00f4200 PUSH .rdata:DAT_00420ff0 ;= 25h %
.text:004013ce e87dfcffff CALL FUN_00401050 ;undefined FUN_00401050(int param_1)
.text:004013d3 83c40c ADD ESP,0xc
LAB_004013d6: ;XREF[1,0]: 004013e3
.text:004013d6 e855b80000 CALL thunk_FUN_0040cafc ;undefined thunk_FUN_0040cafc(void)
.text:004013db 83f80a CMP EAX,0xa
.text:004013de 7405 JZ LAB_004013e5
.text:004013e0 83f8ff CMP EAX,-0x1
.text:004013e3 75f1 JNZ LAB_004013d6
LAB_004013e5: ;XREF[1,0]: 004013de
.text:004013e5 8bce MOV ECX,ESI
.text:004013e7 8d5101 LEA EDX,[ECX + 0x1]
.text:004013ea 660f1f440000 NOP word ptr [EAX + EAX*0x1]
LAB_004013f0: ;XREF[1,0]: 004013f5
.text:004013f0 8a01 MOV AL,byte ptr [ECX]
.text:004013f2 41 INC ECX
.text:004013f3 84c0 TEST AL,AL
.text:004013f5 75f9 JNZ LAB_004013f0
.text:004013f7 6b45fc33 IMUL EAX,dword ptr [EBP + -0x4],0x33
.text:004013fb 2bca SUB ECX,EDX
.text:004013fd 51 PUSH ECX
.text:004013fe 56 PUSH ESI
.text:004013ff 0539434200 ADD EAX,.data:DAT_00424339 ;= ??
.text:00401404 50 PUSH EAX
.text:00401405 e8a61c0000 CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:0040140a 83c40c ADD ESP,0xc
.text:0040140d b8c4104200 MOV EAX,.rdata:s_User_updated_successfull...;= "User updated successfully\n"
.text:00401412 50 PUSH EAX=>.rdata:s_User_updated_successful...;= "User updated successfully\n"
.text:00401413 e808fcffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401418 e9d2fdffff JMP LAB_004011ef
LAB_0040141d: ;XREF[1,0]: 00401550
.text:0040141d 68e0104200 PUSH .rdata:s_Enter_user_id_to_print_004210e0;= "Enter user_id to print\n"
.text:00401422 c745fc000... MOV dword ptr [EBP + -0x4],0x0
.text:00401429 e8f2fbffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040142e 8d45fc LEA EAX,[EBP + -0x4]
.text:00401431 50 PUSH EAX
.text:00401432 68ac0e4200 PUSH .rdata:DAT_00420eac ;= 25h %
.text:00401437 e814fcffff CALL FUN_00401050 ;undefined FUN_00401050(int param_1)
.text:0040143c 83c40c ADD ESP,0xc
.text:0040143f 90 NOP
LAB_00401440: ;XREF[1,0]: 0040144d
.text:00401440 e8ebb70000 CALL thunk_FUN_0040cafc ;undefined thunk_FUN_0040cafc(void)
.text:00401445 83f80a CMP EAX,0xa
.text:00401448 7405 JZ LAB_0040144f
.text:0040144a 83f8ff CMP EAX,-0x1
.text:0040144d 75f1 JNZ LAB_00401440
LAB_0040144f: ;XREF[1,0]: 00401448
.text:0040144f 8b45fc MOV EAX,dword ptr [EBP + -0x4]
.text:00401452 3b0530434200 CMP EAX,dword ptr [.data:DAT_00424330] ;= ??
.text:00401458 7e0f JLE LAB_00401469
.text:0040145a 689c104200 PUSH .rdata:s_User_doesnt_exist_0042109c ;= "User doesnt exist\n"
.text:0040145f e8bcfbffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401464 e986fdffff JMP LAB_004011ef
LAB_00401469: ;XREF[1,0]: 00401458
.text:00401469 6bc833 IMUL ECX,EAX,0x33
.text:0040146c 0fb681384... MOVZX EAX,byte ptr [ECX + .data:DAT_00424338] ;= ??
.text:00401473 50 PUSH EAX
.text:00401474 8d8139434200 LEA EAX,[ECX + .data:DAT_00424339] ;= ??
.text:0040147a 50 PUSH EAX
.text:0040147b 68f8104200 PUSH .rdata:s__User_Info_----------------_...;= "\nUser Info\n----------------\nna...
.text:00401480 e89bfbffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401485 83c40c ADD ESP,0xc
.text:00401488 e965fdffff JMP LAB_004011f2
LAB_0040148d: ;XREF[1,0]: 00401554
.text:0040148d 6844114200 PUSH .rdata:s_Enter_User_id_00421144 ;= "Enter User_id\n"
.text:00401492 c745fc000... MOV dword ptr [EBP + -0x4],0x0
.text:00401499 e882fbffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040149e 8d45fc LEA EAX,[EBP + -0x4]
.text:004014a1 50 PUSH EAX
.text:004014a2 68ac0e4200 PUSH .rdata:DAT_00420eac ;= 25h %
.text:004014a7 e8d4fbffff CALL FUN_00401080 ;undefined FUN_00401080(int param_1)
.text:004014ac 83c40c ADD ESP,0xc
.text:004014af 90 NOP
LAB_004014b0: ;XREF[1,0]: 004014bd
.text:004014b0 e87bb70000 CALL thunk_FUN_0040cafc ;undefined thunk_FUN_0040cafc(void)
.text:004014b5 83f80a CMP EAX,0xa
.text:004014b8 7405 JZ LAB_004014bf
.text:004014ba 83f8ff CMP EAX,-0x1
.text:004014bd 75f1 JNZ LAB_004014b0
LAB_004014bf: ;XREF[1,0]: 004014b8
.text:004014bf 8b45fc MOV EAX,dword ptr [EBP + -0x4]
.text:004014c2 3b0530434200 CMP EAX,dword ptr [.data:DAT_00424330] ;= ??
.text:004014c8 7e10 JLE LAB_004014da
.text:004014ca b99c104200 MOV ECX,.rdata:s_User_doesnt_exist_0042109c ;= "User doesnt exist\n"
.text:004014cf 51 PUSH ECX=>.rdata:s_User_doesnt_exist_0042109c;= "User doesnt exist\n"
.text:004014d0 e84bfbffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004014d5 e915fdffff JMP LAB_004011ef
LAB_004014da: ;XREF[1,0]: 004014c8
.text:004014da 6bc033 IMUL EAX,EAX,0x33
.text:004014dd b9d00a4200 MOV ECX,.rdata:s_Fight_Bugs_|_|_\\_V_//_\...;= "Fight Bugs |...
.text:004014e2 80b838434... CMP byte ptr [EAX + .data:DAT_00424338],0x5a;= ??
.text:004014e9 0f45cb CMOVNZ ECX,EBX
.text:004014ec 51 PUSH ECX
.text:004014ed e82efbffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004014f2 e9f8fcffff JMP LAB_004011ef
LAB_004014f7: ;XREF[1,0]: 00401256
.text:004014f7 6810124200 PUSH .rdata:s_What_are_you_trying_to_do??_...;= "What are you trying to do??\n"
.text:004014fc e81ffbffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401501 e9e9fcffff JMP LAB_004011ef
LAB_00401506: ;XREF[1,0]: 00401558
.text:00401506 6804124200 PUSH .rdata:s_Exiting..._00421204 ;= "Exiting...\n"
.text:0040150b e810fbffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401510 83c404 ADD ESP,0x4
.text:00401513 5f POP EDI
.text:00401514 5e POP ESI
.text:00401515 5b POP EBX
.text:00401516 8be5 MOV ESP,EBP
.text:00401518 5d POP EBP
.text:00401519 c3 RET
LAB_0040151a: ;XREF[2,0]: 0040127e,004013b8
.text:0040151a 68d00f4200 PUSH .rdata:s_Unexpected_error_00420fd0 ;= "Unexpected error\n"
.text:0040151f e8fcfaffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401524 83c404 ADD ESP,0x4
.text:00401527 6aff PUSH -0x1
.text:00401529 e87d330000 CALL _exit ;void _exit(int _Code)
LAB_0040152e: ;XREF[1,0]: 0040126a
.text:0040152e 68b40f4200 PUSH .rdata:s_Reached_max_users_boohoo.._0...;= "Reached max users boohoo..\n"
.text:00401533 e8e8faffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401538 83c404 ADD ESP,0x4
.text:0040153b 6a01 PUSH 0x1
.text:0040153d e869330000 CALL _exit ;void _exit(int _Code)
.text:00401542 66 ?? 66h f
.text:00401543 90 ?? 90h
PTR_LAB_00401544: ;XREF[1,0]: 0040125c
.text:00401544 63124000 addr LAB_00401263
.text:00401548 1a134000 addr LAB_0040131a
.text:0040154c 5e134000 addr LAB_0040135e
.text:00401550 1d144000 addr LAB_0040141d
.text:00401554 8d144000 addr LAB_0040148d
.text:00401558 06154000 addr LAB_00401506
.text:0040155c cc ?? CCh
.text:0040155d cc ?? CCh
.text:0040155e cc ?? CCh
.text:0040155f cc ?? CCh
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00401560(void)
;local_8 undefined4 -8 ;XREF[3,0]: 00401658,00401666,00401699
;local_c undefined4 -c ;XREF[2,0]: 004015ad,004015bb
;local_10 undefined4 -10 ;XREF[2,0]: 00401685,00401693
;local_14 undefined4 -14 ;XREF[1,0]: 00401616
;local_24 undefined1[16] -24 ;XREF[1,1]: 00401612,00401630
;XREF[1,0]: 004018e2
.text:00401560 55 PUSH EBP
.text:00401561 8bec MOV EBP,ESP
.text:00401563 83ec20 SUB ESP,0x20
.text:00401566 56 PUSH ESI
.text:00401567 6830124200 PUSH .rdata:s_-----_Welcome_To_The_Bug_Hun...;= "----- Welcome To The Bug Hunter's...
.text:0040156c e8affaffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401571 6864124200 PUSH .rdata:s_1._Silent_Observer_(EASY)_00...;= "1. Silent Observer (EASY)\n"
.text:00401576 e8a5faffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040157b 6880124200 PUSH .rdata:s_2._Echoing_Chamber(EASY)_004...;= "2. Echoing Chamber(EASY)\n"
.text:00401580 e89bfaffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401585 689c124200 PUSH .rdata:s_3._Shadow_Glitch_(MED)_0042129c;= "3. Shadow Glitch (MED)\n"
.text:0040158a e891faffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040158f 68b4124200 PUSH .rdata:s_4._Labyrinthine_Loops_(HIGH-...;= "4. Labyrinthine Loops (HIGH-MID)\n"
.text:00401594 e887faffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401599 68d8124200 PUSH .rdata:s_5._The_Minotaur's_Exploit_(H...;= "5. The Minotaur's Exploit (HARD)\n"
.text:0040159e e87dfaffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004015a3 68fc124200 PUSH .rdata:s_Pick_Your_Poison:_004212fc ;= "Pick Your Poison: "
.text:004015a8 e873faffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004015ad 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:004015b0 50 PUSH EAX
.text:004015b1 68ac0e4200 PUSH .rdata:DAT_00420eac ;= 25h %
.text:004015b6 e895faffff CALL FUN_00401050 ;undefined FUN_00401050(int param_1)
.text:004015bb 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:004015be 83c424 ADD ESP,0x24
.text:004015c1 48 DEC EAX
.text:004015c2 83f804 CMP EAX,0x4
.text:004015c5 0f8705010000 JA switchD_004015cb::caseD_5
switchD: ; FWD[7,0]: 004015d2,00401606,0040164e,004016c4
; 004016d0,0040170c,00401714
.text:004015cb ff2485141... JMP dword ptr [EAX*0x4 + switchD_004015cb...;= 004015d2
caseD_0: ;XREF[2,0]: 004015cb,00401714
.text:004015d2 6a04 PUSH 0x4
.text:004015d4 e85cb60000 CALL FUN_0040cc35 ;undefined FUN_0040cc35(SIZE_T param_1)
.text:004015d9 8bf0 MOV ESI,EAX
.text:004015db 68e8070000 PUSH 0x7e8
.text:004015e0 68580e4200 PUSH .rdata:s_IT'S_%d!_00420e58 ;= "IT'S %d! \n"
.text:004015e5 c706e8070000 MOV dword ptr [ESI],0x7e8
.text:004015eb e830faffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004015f0 56 PUSH ESI
.text:004015f1 e8afb40000 CALL FUN_0040caa5 ;undefined FUN_0040caa5(LPVOID param_1)
.text:004015f6 83c410 ADD ESP,0x10
.text:004015f9 c706e7070000 MOV dword ptr [ESI],0x7e7
.text:004015ff 33c0 XOR EAX,EAX
.text:00401601 5e POP ESI
.text:00401602 8be5 MOV ESP,EBP
.text:00401604 5d POP EBP
.text:00401605 c3 RET
caseD_1: ;XREF[2,0]: 004015cb,00401718
.text:00401606 0f2805301... MOVAPS XMM0,xmmword ptr [.rdata:DAT_00421330] ;= 01h
.text:0040160d 68640e4200 PUSH .rdata:s_Printing_Array_[1,2,3,4,5]_0...;= "Printing Array [1,2,3,4,5]\n"
.text:00401612 0f1145e0 MOVUPS xmmword ptr [EBP + local_24[0]+0x4],XMM0
.text:00401616 c745f0050... MOV dword ptr [EBP + local_14+0x4],0x5
.text:0040161d e8fef9ffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401622 83c404 ADD ESP,0x4
.text:00401625 33f6 XOR ESI,ESI
.text:00401627 660f1f840... NOP word ptr [EAX + EAX*0x1]
LAB_00401630: ;XREF[1,0]: 00401645
.text:00401630 ff74f5e0 PUSH dword ptr [EBP + ESI*0x8 + local_24[8...
.text:00401634 68800e4200 PUSH .rdata:DAT_00420e80 ;= 25h %
.text:00401639 e8e2f9ffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:0040163e 46 INC ESI
.text:0040163f 83c408 ADD ESP,0x8
.text:00401642 83fe14 CMP ESI,0x14
.text:00401645 7ee9 JLE LAB_00401630
.text:00401647 33c0 XOR EAX,EAX
.text:00401649 5e POP ESI
.text:0040164a 8be5 MOV ESP,EBP
.text:0040164c 5d POP EBP
.text:0040164d c3 RET
caseD_2: ;XREF[2,0]: 004015cb,0040171c
.text:0040164e 68840e4200 PUSH .rdata:s_Enter_the_number_of_items_to...;= "Enter the number of items to allo...
.text:00401653 e8c8f9ffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401658 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:0040165b 50 PUSH EAX
.text:0040165c 68ac0e4200 PUSH .rdata:DAT_00420eac ;= 25h %
.text:00401661 e8eaf9ffff CALL FUN_00401050 ;undefined FUN_00401050(int param_1)
.text:00401666 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00401669 c1e002 SHL EAX,0x2
.text:0040166c 50 PUSH EAX
.text:0040166d e8c3b50000 CALL FUN_0040cc35 ;undefined FUN_0040cc35(SIZE_T param_1)
.text:00401672 8bf0 MOV ESI,EAX
.text:00401674 83c410 ADD ESP,0x10
.text:00401677 85f6 TEST ESI,ESI
.text:00401679 7469 JZ LAB_004016e4
.text:0040167b 68cc0e4200 PUSH .rdata:s_How_many_items_do_you_want_t...;= "How many items do you want to sto...
.text:00401680 e89bf9ffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401685 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00401688 50 PUSH EAX
.text:00401689 68ac0e4200 PUSH .rdata:DAT_00420eac ;= 25h %
.text:0040168e e8bdf9ffff CALL FUN_00401050 ;undefined FUN_00401050(int param_1)
.text:00401693 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00401696 83c40c ADD ESP,0xc
.text:00401699 3b45fc CMP EAX,dword ptr [EBP + local_8+0x4]
.text:0040169c 7f5a JG LAB_004016f8
.text:0040169e c1e802 SHR EAX,0x2
.text:004016a1 50 PUSH EAX
.text:004016a2 6a00 PUSH 0x0
.text:004016a4 56 PUSH ESI
.text:004016a5 e8860f0000 CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:004016aa 68280f4200 PUSH .rdata:s_Memory_allocated_and_initial...;= "Memory allocated and initialized ...
.text:004016af e86cf9ffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004016b4 56 PUSH ESI
.text:004016b5 e8ebb30000 CALL FUN_0040caa5 ;undefined FUN_0040caa5(LPVOID param_1)
.text:004016ba 83c414 ADD ESP,0x14
.text:004016bd 33c0 XOR EAX,EAX
.text:004016bf 5e POP ESI
.text:004016c0 8be5 MOV ESP,EBP
.text:004016c2 5d POP EBP
.text:004016c3 c3 RET
caseD_4: ;XREF[2,0]: 004015cb,00401724
.text:004016c4 e807fbffff CALL FUN_004011d0 ;undefined FUN_004011d0(void)
.text:004016c9 33c0 XOR EAX,EAX
.text:004016cb 5e POP ESI
.text:004016cc 8be5 MOV ESP,EBP
.text:004016ce 5d POP EBP
.text:004016cf c3 RET
caseD_5: ;XREF[2,0]: 004015c5,004015cb
.text:004016d0 6810134200 PUSH .rdata:s_wrong_answer.._see_you_later...;= "wrong answer.. see you later\n"
.text:004016d5 e846f9ffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004016da 83c404 ADD ESP,0x4
.text:004016dd 33c0 XOR EAX,EAX
.text:004016df 5e POP ESI
.text:004016e0 8be5 MOV ESP,EBP
.text:004016e2 5d POP EBP
.text:004016e3 c3 RET
LAB_004016e4: ;XREF[1,0]: 00401679
.text:004016e4 68b00e4200 PUSH .rdata:s_Failed_to_allocate_memory_00...;= "Failed to allocate memory\n"
.text:004016e9 e832f9ffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:004016ee 83c404 ADD ESP,0x4
.text:004016f1 6a01 PUSH 0x1
.text:004016f3 e8b3310000 CALL _exit ;void _exit(int _Code)
LAB_004016f8: ;XREF[1,0]: 0040169c
.text:004016f8 68f40e4200 PUSH .rdata:s_There_are_not_enough_items_t...;= "There are not enough items to sto...
.text:004016fd e81ef9ffff CALL FUN_00401020 ;undefined FUN_00401020(int param_1)
.text:00401702 83c404 ADD ESP,0x4
.text:00401705 6a01 PUSH 0x1
.text:00401707 e89f310000 CALL _exit ;void _exit(int _Code)
caseD_3: ;XREF[2,0]: 004015cb,00401720
.text:0040170c e8dff9ffff CALL FUN_004010f0 ;undefined FUN_004010f0(void)
.text:00401711 0f ?? 0Fh
.text:00401712 1f ?? 1Fh
.text:00401713 00 ?? 00h
switchdataD_00401714: ;XREF[1,0]: 004015cb
.text:00401714 d2154000 addr switchD_004015cb::caseD_0
.text:00401718 06164000 addr switchD_004015cb::caseD_1
.text:0040171c 4e164000 addr switchD_004015cb::caseD_2
.text:00401720 0c174000 addr switchD_004015cb::caseD_3
.text:00401724 c4164000 addr switchD_004015cb::caseD_4
LAB_00401728: ;XREF[1,0]: 0041b130
.text:00401728 56 PUSH ESI
.text:00401729 6a01 PUSH 0x1
.text:0040172b e85cb60000 CALL FUN_0040cd8c ;undefined FUN_0040cd8c(undefined4 pa...
.text:00401730 e834050000 CALL FUN_00401c69 ;undefined4 FUN_00401c69(void)
.text:00401735 50 PUSH EAX
.text:00401736 e8fabc0000 CALL __set_fmode ;errno_t __set_fmode(int _Mode)
.text:0040173b e822050000 CALL FUN_00401c62 ;undefined4 FUN_00401c62(void)
.text:00401740 8bf0 MOV ESI,EAX
.text:00401742 e888be0000 CALL FUN_0040d5cf ;undefined * FUN_0040d5cf(void)
.text:00401747 6a01 PUSH 0x1
.text:00401749 8930 MOV dword ptr [EAX],ESI
.text:0040174b e8d8020000 CALL ___scrt_initialize_onexit_tables ;undefined4 ___scrt_initialize_onexit...
.text:00401750 83c40c ADD ESP,0xc
.text:00401753 5e POP ESI
.text:00401754 84c0 TEST AL,AL
.text:00401756 7473 JZ LAB_004017cb
.text:00401758 dbe2 FNCLEX
.text:0040175a e844070000 CALL FUN_00401ea3 ;undefined FUN_00401ea3(void)
.text:0040175f 68cf1e4000 PUSH FUN_00401ecf
.text:00401764 e84c040000 CALL _atexit ;int _atexit(_func_4879 * param_1)
.text:00401769 e8f7040000 CALL FUN_00401c65 ;undefined4 FUN_00401c65(void)
.text:0040176e 50 PUSH EAX
.text:0040176f e89eb90000 CALL FUN_0040d112 ;undefined FUN_0040d112(int param_1)
.text:00401774 59 POP ECX
.text:00401775 59 POP ECX
.text:00401776 85c0 TEST EAX,EAX
.text:00401778 7551 JNZ LAB_004017cb
.text:0040177a e8f0040000 CALL FUN_00401c6f ;undefined FUN_00401c6f(void)
.text:0040177f e83b050000 CALL FUN_00401cbf ;bool FUN_00401cbf(void)
.text:00401784 85c0 TEST EAX,EAX
.text:00401786 740b JZ LAB_00401793
.text:00401788 68621c4000 PUSH FUN_00401c62
.text:0040178d e86bb60000 CALL ___setusermatherr ;undefined ___setusermatherr(_func_vo...
.text:00401792 59 POP ECX
LAB_00401793: ;XREF[1,0]: 00401786
.text:00401793 e807050000 CALL _guard_check_icall ;undefined _guard_check_icall(void)
.text:00401798 e802050000 CALL _guard_check_icall ;undefined _guard_check_icall(void)
.text:0040179d e8dc040000 CALL __initialize_default_precision ;undefined __initialize_default_preci...
.text:004017a2 e8bb040000 CALL FUN_00401c62 ;undefined4 FUN_00401c62(void)
.text:004017a7 50 PUSH EAX
.text:004017a8 e88abd0000 CALL __configthreadlocale ;int __configthreadlocale(int _Flag)
.text:004017ad 59 POP ECX
.text:004017ae e8c8040000 CALL FUN_00401c7b ;undefined FUN_00401c7b(void)
.text:004017b3 84c0 TEST AL,AL
.text:004017b5 7405 JZ LAB_004017bc
.text:004017b7 e81bbc0000 CALL thunk_FUN_0040d149 ;undefined4 thunk_FUN_0040d149(void)
LAB_004017bc: ;XREF[1,0]: 004017b5
.text:004017bc e8a1040000 CALL FUN_00401c62 ;undefined4 FUN_00401c62(void)
.text:004017c1 e82c060000 CALL thunk_FUN_00401c62 ;undefined4 thunk_FUN_00401c62(void)
.text:004017c6 85c0 TEST EAX,EAX
.text:004017c8 7501 JNZ LAB_004017cb
.text:004017ca c3 RET
LAB_004017cb: ;XREF[3,0]: 00401756,00401778,004017c8
.text:004017cb 6a07 PUSH 0x7
.text:004017cd e805050000 CALL FUN_00401cd7 ;undefined FUN_00401cd7(void)
.text:004017d2 cc INT3
LAB_004017d3: ;XREF[1,0]: 0041b134
.text:004017d3 e8ca040000 CALL FUN_00401ca2 ;undefined FUN_00401ca2(void)
.text:004017d8 33c0 XOR EAX,EAX
.text:004017da c3 RET
.text:004017db e8 ?? E8h
.text:004017dc 59 ?? 59h Y
.text:004017dd 06 ?? 06h
.text:004017de 00 ?? 00h
.text:004017df 00 ?? 00h
.text:004017e0 e8 ?? E8h
.text:004017e1 7d ?? 7Dh }
.text:004017e2 04 ?? 04h
.text:004017e3 00 ?? 00h
.text:004017e4 00 ?? 00h
.text:004017e5 50 ?? 50h P
.text:004017e6 e8 ?? E8h
.text:004017e7 b5 ?? B5h
.text:004017e8 bd ?? BDh
.text:004017e9 00 ?? 00h
.text:004017ea 00 ?? 00h
.text:004017eb 59 ?? 59h Y
.text:004017ec c3 ?? C3h
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl __scrt_common_main_seh(void) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int __scrt_common_main_seh(void)
;local_8 undefined4 -8 ;XREF[3,0]: 0040180e,00401849,00401909
;local_14 undefined4 -14 ;XREF[1,0]: 00401949
;local_1d undefined1 -1d ;XREF[2,0]: 0040180b,00401879
;local_28 undefined4 -28 ;XREF[2,0]: 00401817,0040187c
;XREF[1,0]: 00401974
.text:004017ed 6a14 PUSH 0x14
.text:004017ef 68401b4200 PUSH .rdata:DAT_00421b40 ;= FEh
.text:004017f4 e807070000 CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:004017f9 6a01 PUSH 0x1
.text:004017fb e8ef010000 CALL ___scrt_initialize_crt ;undefined4 ___scrt_initialize_crt(in...
.text:00401800 59 POP ECX
.text:00401801 84c0 TEST AL,AL
.text:00401803 0f8450010000 JZ LAB_00401959
.text:00401809 32db XOR BL,BL
.text:0040180b 885de7 MOV byte ptr [EBP + local_1d+0x4],BL
.text:0040180e 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00401812 e8a6010000 CALL ___scrt_acquire_startup_lock ;undefined4 ___scrt_acquire_startup_l...
.text:00401817 8845dc MOV byte ptr [EBP + local_28+0x4],AL
.text:0040181a a108394200 MOV EAX,[.data:DAT_00423908]
.text:0040181f 33c9 XOR ECX,ECX
.text:00401821 41 INC ECX
.text:00401822 3bc1 CMP EAX,ECX
.text:00401824 0f842f010000 JZ LAB_00401959
.text:0040182a 85c0 TEST EAX,EAX
.text:0040182c 7549 JNZ LAB_00401877
.text:0040182e 890d08394200 MOV dword ptr [.data:DAT_00423908],ECX
.text:00401834 6848b14100 PUSH .rdata:DAT_0041b148
.text:00401839 682cb14100 PUSH .rdata:DAT_0041b12c
.text:0040183e e8c4bb0000 CALL __initterm_e ;int __initterm_e(undefined * * param...
.text:00401843 59 POP ECX
.text:00401844 59 POP ECX
.text:00401845 85c0 TEST EAX,EAX
.text:00401847 7411 JZ LAB_0040185a
.text:00401849 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00401850 b8ff000000 MOV EAX,0xff
.text:00401855 e9ef000000 JMP LAB_00401949
LAB_0040185a: ;XREF[1,0]: 00401847
.text:0040185a 6828b14100 PUSH .rdata:DAT_0041b128
.text:0040185f 6820b14100 PUSH .rdata:DAT_0041b120
.text:00401864 e873bb0000 CALL FUN_0040d3dc ;undefined FUN_0040d3dc(undefined * *...
.text:00401869 59 POP ECX
.text:0040186a 59 POP ECX
.text:0040186b c70508394... MOV dword ptr [.data:DAT_00423908],0x2
.text:00401875 eb05 JMP LAB_0040187c
LAB_00401877: ;XREF[1,0]: 0040182c
.text:00401877 8ad9 MOV BL,CL
.text:00401879 885de7 MOV byte ptr [EBP + local_1d+0x4],BL
LAB_0040187c: ;XREF[1,0]: 00401875
.text:0040187c ff75dc PUSH dword ptr [EBP + local_28+0x4]
.text:0040187f e8bf020000 CALL ___scrt_release_startup_lock ;int ___scrt_release_startup_lock(cha...
.text:00401884 59 POP ECX
.text:00401885 e841040000 CALL FUN_00401ccb ;undefined * FUN_00401ccb(void)
.text:0040188a 8bf0 MOV ESI,EAX
.text:0040188c 33ff XOR EDI,EDI
.text:0040188e 393e CMP dword ptr [ESI],EDI
.text:00401890 741b JZ LAB_004018ad
.text:00401892 56 PUSH ESI
.text:00401893 e817020000 CALL ___scrt_is_nonwritable_in_current_image ;undefined4 ___scrt_is_nonwritable_in...
.text:00401898 59 POP ECX
.text:00401899 84c0 TEST AL,AL
.text:0040189b 7410 JZ LAB_004018ad
.text:0040189d 8b36 MOV ESI,dword ptr [ESI]
.text:0040189f 57 PUSH EDI
.text:004018a0 6a02 PUSH 0x2
.text:004018a2 57 PUSH EDI
.text:004018a3 8bce MOV ECX,ESI
.text:004018a5 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:004018ab ffd6 CALL ESI
LAB_004018ad: ;XREF[2,0]: 00401890,0040189b
.text:004018ad e81f040000 CALL FUN_00401cd1 ;undefined * FUN_00401cd1(void)
.text:004018b2 8bf0 MOV ESI,EAX
.text:004018b4 393e CMP dword ptr [ESI],EDI
.text:004018b6 7413 JZ LAB_004018cb
.text:004018b8 56 PUSH ESI
.text:004018b9 e8f1010000 CALL ___scrt_is_nonwritable_in_current_image ;undefined4 ___scrt_is_nonwritable_in...
.text:004018be 59 POP ECX
.text:004018bf 84c0 TEST AL,AL
.text:004018c1 7408 JZ LAB_004018cb
.text:004018c3 ff36 PUSH dword ptr [ESI]
.text:004018c5 e8bb2f0000 CALL __register_thread_local_exe_atexit_ca...;undefined __register_thread_local_ex...
.text:004018ca 59 POP ECX
LAB_004018cb: ;XREF[2,0]: 004018b6,004018c1
.text:004018cb e8f3ba0000 CALL FID_conflict:__get_initial_narrow_env...;undefined FID_conflict:__get_initial...
.text:004018d0 8bf8 MOV EDI,EAX
.text:004018d2 e8babb0000 CALL FUN_0040d491 ;undefined4 * FUN_0040d491(void)
.text:004018d7 8b30 MOV ESI,dword ptr [EAX]
.text:004018d9 e8adbb0000 CALL FUN_0040d48b ;undefined * FUN_0040d48b(void)
.text:004018de 57 PUSH EDI
.text:004018df 56 PUSH ESI
.text:004018e0 ff30 PUSH dword ptr [EAX]
.text:004018e2 e879fcffff CALL FUN_00401560 ;undefined4 FUN_00401560(void)
.text:004018e7 83c40c ADD ESP,0xc
.text:004018ea 8bf0 MOV ESI,EAX
.text:004018ec e806050000 CALL FUN_00401df7 ;uint FUN_00401df7(void)
.text:004018f1 84c0 TEST AL,AL
.text:004018f3 746b JZ LAB_00401960
.text:004018f5 84db TEST BL,BL
.text:004018f7 7505 JNZ LAB_004018fe
.text:004018f9 e8622f0000 CALL __cexit ;void __cexit(void)
LAB_004018fe: ;XREF[1,0]: 004018f7
.text:004018fe 6a00 PUSH 0x0
.text:00401900 6a01 PUSH 0x1
.text:00401902 e859020000 CALL ___scrt_uninitialize_crt ;undefined4 ___scrt_uninitialize_crt(...
.text:00401907 59 POP ECX
.text:00401908 59 POP ECX
.text:00401909 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00401910 8bc6 MOV EAX,ESI
.text:00401912 eb35 JMP LAB_00401949
.text:00401914 8b ?? 8Bh
.text:00401915 4d ?? 4Dh M
.text:00401916 ec ?? ECh
.text:00401917 8b ?? 8Bh
.text:00401918 01 ?? 01h
.text:00401919 8b ?? 8Bh
.text:0040191a 00 ?? 00h
.text:0040191b 89 ?? 89h
.text:0040191c 45 ?? 45h E
.text:0040191d e0 ?? E0h
.text:0040191e 51 ?? 51h Q
.text:0040191f 50 ?? 50h P
.text:00401920 e8 ?? E8h
.text:00401921 1b ?? 1Bh
.text:00401922 b3 ?? B3h
.text:00401923 00 ?? 00h
.text:00401924 00 ?? 00h
.text:00401925 59 ?? 59h Y
.text:00401926 59 ?? 59h Y
.text:00401927 c3 ?? C3h
.text:00401928 8b ?? 8Bh
.text:00401929 65 ?? 65h e
.text:0040192a e8 ?? E8h
.text:0040192b e8 ?? E8h
.text:0040192c c7 ?? C7h
.text:0040192d 04 ?? 04h
.text:0040192e 00 ?? 00h
.text:0040192f 00 ?? 00h
.text:00401930 84 ?? 84h
.text:00401931 c0 ?? C0h
.text:00401932 74 ?? 74h t
.text:00401933 32 ?? 32h 2
.text:00401934 80 ?? 80h
.text:00401935 7d ?? 7Dh }
.text:00401936 e7 ?? E7h
.text:00401937 00 ?? 00h
.text:00401938 75 ?? 75h u
.text:00401939 05 ?? 05h
.text:0040193a e8 ?? E8h
.text:0040193b 12 ?? 12h
.text:0040193c 2f ?? 2Fh /
.text:0040193d 00 ?? 00h
.text:0040193e 00 ?? 00h
.text:0040193f c7 ?? C7h
.text:00401940 45 ?? 45h E
.text:00401941 fc ?? FCh
.text:00401942 fe ?? FEh
.text:00401943 ff ?? FFh
.text:00401944 ff ?? FFh
.text:00401945 ff ?? FFh
.text:00401946 8b ?? 8Bh
.text:00401947 45 ?? 45h E
.text:00401948 e0 ?? E0h
LAB_00401949: ;XREF[2,0]: 00401855,00401912
.text:00401949 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:0040194c 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00401953 59 POP ECX
.text:00401954 5f POP EDI
.text:00401955 5e POP ESI
.text:00401956 5b POP EBX
.text:00401957 c9 LEAVE
.text:00401958 c3 RET
LAB_00401959: ;XREF[2,0]: 00401803,00401824
.text:00401959 6a07 PUSH 0x7
.text:0040195b e877030000 CALL FUN_00401cd7 ;undefined FUN_00401cd7(void)
LAB_00401960: ;XREF[1,0]: 004018f3
.text:00401960 56 PUSH ESI
.text:00401961 e8452f0000 CALL _exit ;void _exit(int _Code)
.text:00401966 ff ?? FFh
.text:00401967 75 ?? 75h u
.text:00401968 e0 ?? E0h
.text:00401969 e8 ?? E8h
.text:0040196a 01 ?? 01h
.text:0040196b 2f ?? 2Fh /
.text:0040196c 00 ?? 00h
.text:0040196d 00 ?? 00h
.text:0040196e cc ?? CCh
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined entry(void)
;XREF[2,0]: Entry Point,00400120
.text:0040196f e8a3020000 CALL ___security_init_cookie ;void ___security_init_cookie(void)
.text:00401974 e974feffff JMP __scrt_common_main_seh ;int __scrt_common_main_seh(void)
;************************************************************************************************
;* Library Function - Single Match *
;* struct _IMAGE_SECTION_HEADER * __cdecl find_pe_section(unsigned char * const,unsigned int) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;_IMAGE_SECTION_HEADER * find_pe_section(uchar * param_1, uint param_2)
;param_1 uchar * 4 ;XREF[1,0]: 0040197c
;param_2 uint 8 ;XREF[1,0]: 0040199b
;XREF[1,0]: 00401af8
.text:00401979 55 PUSH EBP
.text:0040197a 8bec MOV EBP,ESP
.text:0040197c 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040197f 56 PUSH ESI
.text:00401980 8b483c MOV ECX,dword ptr [EAX + 0x3c]
.text:00401983 03c8 ADD ECX,EAX
.text:00401985 0fb74114 MOVZX EAX,word ptr [ECX + 0x14]
.text:00401989 8d5118 LEA EDX,[ECX + 0x18]
.text:0040198c 03d0 ADD EDX,EAX
.text:0040198e 0fb74106 MOVZX EAX,word ptr [ECX + 0x6]
.text:00401992 6bf028 IMUL ESI,EAX,0x28
.text:00401995 03f2 ADD ESI,EDX
.text:00401997 3bd6 CMP EDX,ESI
.text:00401999 7419 JZ LAB_004019b4
.text:0040199b 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
LAB_0040199e: ;XREF[1,0]: 004019b2
.text:0040199e 3b4a0c CMP ECX,dword ptr [EDX + 0xc]
.text:004019a1 720a JC LAB_004019ad
.text:004019a3 8b4208 MOV EAX,dword ptr [EDX + 0x8]
.text:004019a6 03420c ADD EAX,dword ptr [EDX + 0xc]
.text:004019a9 3bc8 CMP ECX,EAX
.text:004019ab 720c JC LAB_004019b9
LAB_004019ad: ;XREF[1,0]: 004019a1
.text:004019ad 83c228 ADD EDX,0x28
.text:004019b0 3bd6 CMP EDX,ESI
.text:004019b2 75ea JNZ LAB_0040199e
LAB_004019b4: ;XREF[1,0]: 00401999
.text:004019b4 33c0 XOR EAX,EAX
LAB_004019b6: ;XREF[1,0]: 004019bb
.text:004019b6 5e POP ESI
.text:004019b7 5d POP EBP
.text:004019b8 c3 RET
LAB_004019b9: ;XREF[1,0]: 004019ab
.text:004019b9 8bc2 MOV EAX,EDX
.text:004019bb ebf9 JMP LAB_004019b6
;************************************************************************************************
;* Library Function - Single Match *
;* ___scrt_acquire_startup_lock *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___scrt_acquire_startup_lock(void)
;XREF[1,0]: 00401812
.text:004019bd 56 PUSH ESI
.text:004019be e856070000 CALL ___scrt_is_ucrt_dll_in_use ;bool ___scrt_is_ucrt_dll_in_use(void)
.text:004019c3 85c0 TEST EAX,EAX
.text:004019c5 7420 JZ LAB_004019e7
.text:004019c7 64a118000000 MOV EAX,FS:[offset ->ExceptionList &0xff] ;= ffdff000
.text:004019cd be0c394200 MOV ESI,.data:DAT_0042390c
.text:004019d2 8b5004 MOV EDX,dword ptr [EAX + offset tdb:Stack...;= 00000000
.text:004019d5 eb04 JMP LAB_004019db
LAB_004019d7: ;XREF[1,0]: 004019e5
.text:004019d7 3bd0 CMP EDX,EAX
.text:004019d9 7410 JZ LAB_004019eb
LAB_004019db: ;XREF[1,0]: 004019d5
.text:004019db 33c0 XOR EAX,EAX
.text:004019dd 8bca MOV ECX,EDX
.text:004019df f00fb10e CMPXCHG....dword ptr [ESI]=>.data:DAT_0042390c,ECX
.text:004019e3 85c0 TEST EAX,EAX
.text:004019e5 75f0 JNZ LAB_004019d7
LAB_004019e7: ;XREF[1,0]: 004019c5
.text:004019e7 32c0 XOR AL,AL
.text:004019e9 5e POP ESI
.text:004019ea c3 RET
LAB_004019eb: ;XREF[1,0]: 004019d9
.text:004019eb b001 MOV AL,0x1
.text:004019ed 5e POP ESI
.text:004019ee c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___scrt_initialize_crt *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___scrt_initialize_crt(int param_1)
;param_1 int 4 ;XREF[1,0]: 004019f2
;XREF[1,0]: 004017fb
.text:004019ef 55 PUSH EBP
.text:004019f0 8bec MOV EBP,ESP
.text:004019f2 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:004019f6 7507 JNZ LAB_004019ff
.text:004019f8 c60510394... MOV byte ptr [.data:DAT_00423910],0x1
LAB_004019ff: ;XREF[1,0]: 004019f6
.text:004019ff e841050000 CALL FUN_00401f45 ;undefined4 FUN_00401f45(void)
.text:00401a04 e8f5090000 CALL ___vcrt_initialize ;undefined4 ___vcrt_initialize(void)
.text:00401a09 84c0 TEST AL,AL
.text:00401a0b 7504 JNZ LAB_00401a11
LAB_00401a0d: ;XREF[1,0]: 00401a22
.text:00401a0d 32c0 XOR AL,AL
.text:00401a0f 5d POP EBP
.text:00401a10 c3 RET
LAB_00401a11: ;XREF[1,0]: 00401a0b
.text:00401a11 e8fcbf0000 CALL ___acrt_initialize ;undefined ___acrt_initialize(void)
.text:00401a16 84c0 TEST AL,AL
.text:00401a18 750a JNZ LAB_00401a24
.text:00401a1a 6a00 PUSH 0x0
.text:00401a1c e8fc090000 CALL ___vcrt_uninitialize ;undefined4 ___vcrt_uninitialize(char...
.text:00401a21 59 POP ECX
.text:00401a22 ebe9 JMP LAB_00401a0d
LAB_00401a24: ;XREF[1,0]: 00401a18
.text:00401a24 b001 MOV AL,0x1
.text:00401a26 5d POP EBP
.text:00401a27 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___scrt_initialize_onexit_tables *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___scrt_initialize_onexit_tables(int param_1)
;param_1 int 4 ;XREF[1,0]: 00401a39
;XREF[1,0]: 0040174b
.text:00401a28 55 PUSH EBP
.text:00401a29 8bec MOV EBP,ESP
.text:00401a2b 803d11394... CMP byte ptr [.data:DAT_00423911],0x0
.text:00401a32 7404 JZ LAB_00401a38
.text:00401a34 b001 MOV AL,0x1
.text:00401a36 5d POP EBP
.text:00401a37 c3 RET
LAB_00401a38: ;XREF[1,0]: 00401a32
.text:00401a38 56 PUSH ESI
.text:00401a39 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00401a3c 85f6 TEST ESI,ESI
.text:00401a3e 7405 JZ LAB_00401a45
.text:00401a40 83fe01 CMP ESI,0x1
.text:00401a43 7562 JNZ LAB_00401aa7
LAB_00401a45: ;XREF[1,0]: 00401a3e
.text:00401a45 e8cf060000 CALL ___scrt_is_ucrt_dll_in_use ;bool ___scrt_is_ucrt_dll_in_use(void)
.text:00401a4a 85c0 TEST EAX,EAX
.text:00401a4c 7426 JZ LAB_00401a74
.text:00401a4e 85f6 TEST ESI,ESI
.text:00401a50 7522 JNZ LAB_00401a74
.text:00401a52 6814394200 PUSH .data:DAT_00423914
.text:00401a57 e85fbe0000 CALL __initialize_onexit_table ;undefined4 __initialize_onexit_table...
.text:00401a5c 59 POP ECX
.text:00401a5d 85c0 TEST EAX,EAX
.text:00401a5f 750f JNZ LAB_00401a70
.text:00401a61 6820394200 PUSH .data:DAT_00423920
.text:00401a66 e850be0000 CALL __initialize_onexit_table ;undefined4 __initialize_onexit_table...
.text:00401a6b 59 POP ECX
.text:00401a6c 85c0 TEST EAX,EAX
.text:00401a6e 742b JZ LAB_00401a9b
LAB_00401a70: ;XREF[1,0]: 00401a5f
.text:00401a70 32c0 XOR AL,AL
.text:00401a72 eb30 JMP LAB_00401aa4
LAB_00401a74: ;XREF[2,0]: 00401a4c,00401a50
.text:00401a74 83c9ff OR ECX,0xffffffff
.text:00401a77 890d14394200 MOV dword ptr [.data:DAT_00423914],ECX
.text:00401a7d 890d18394200 MOV dword ptr [.data:DAT_00423918],ECX
.text:00401a83 890d1c394200 MOV dword ptr [.data:DAT_0042391c],ECX
.text:00401a89 890d20394200 MOV dword ptr [.data:DAT_00423920],ECX
.text:00401a8f 890d24394200 MOV dword ptr [.data:DAT_00423924],ECX
.text:00401a95 890d28394200 MOV dword ptr [.data:DAT_00423928],ECX
LAB_00401a9b: ;XREF[1,0]: 00401a6e
.text:00401a9b c60511394... MOV byte ptr [.data:DAT_00423911],0x1
.text:00401aa2 b001 MOV AL,0x1
LAB_00401aa4: ;XREF[1,0]: 00401a72
.text:00401aa4 5e POP ESI
.text:00401aa5 5d POP EBP
.text:00401aa6 c3 RET
LAB_00401aa7: ;XREF[1,0]: 00401a43
.text:00401aa7 6a05 PUSH 0x5
.text:00401aa9 e829020000 CALL FUN_00401cd7 ;undefined FUN_00401cd7(void)
.text:00401aae cc INT3
;************************************************************************************************
;* Library Function - Single Match *
;* ___scrt_is_nonwritable_in_current_image *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___scrt_is_nonwritable_in_current_image(int param_1)
;param_1 int 4 ;XREF[1,0]: 00401aec
;local_8 undefined4 -8 ;XREF[3,0]: 00401abb,00401b09,00401b2a
;local_14 undefined4 -14 ;XREF[1,0]: 00401b33
;XREF[2,0]: 00401893,004018b9
.text:00401aaf 6a08 PUSH 0x8
.text:00401ab1 68601b4200 PUSH .rdata:DAT_00421b60 ;= FEh
.text:00401ab6 e845040000 CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00401abb 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00401abf b84d5a0000 MOV EAX,0x5a4d
.text:00401ac4 663905000... CMP word ptr [Header...,AX
.text:00401acb 755d JNZ LAB_00401b2a
.text:00401acd a13c004000 MOV EAX,[Headers:IMAGE_DOS_HEADER_0040000...
.text:00401ad2 81b800004... CMP dword ptr [EAX +...,0x4550
.text:00401adc 754c JNZ LAB_00401b2a
.text:00401ade b90b010000 MOV ECX,0x10b
.text:00401ae3 663988180... CMP word ptr [EAX + ...,CX
.text:00401aea 753e JNZ LAB_00401b2a
.text:00401aec 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00401aef b900004000 MOV ECX,Headers:IMAGE_DOS_HEADER_00400000
.text:00401af4 2bc1 SUB EAX,ECX
.text:00401af6 50 PUSH EAX
.text:00401af7 51 PUSH ECX=>Headers:IMAGE_DOS_HEADER_00400000
.text:00401af8 e87cfeffff CALL find_pe_section ;_IMAGE_SECTION_HEADER * find_pe_sect...
.text:00401afd 59 POP ECX
.text:00401afe 59 POP ECX
.text:00401aff 85c0 TEST EAX,EAX
.text:00401b01 7427 JZ LAB_00401b2a
.text:00401b03 83782400 CMP dword ptr [EAX + 0x24],0x0
.text:00401b07 7c21 JL LAB_00401b2a
.text:00401b09 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00401b10 b001 MOV AL,0x1
.text:00401b12 eb1f JMP LAB_00401b33
.text:00401b14 8b ?? 8Bh
.text:00401b15 45 ?? 45h E
.text:00401b16 ec ?? ECh
.text:00401b17 8b ?? 8Bh
.text:00401b18 00 ?? 00h
.text:00401b19 33 ?? 33h 3
.text:00401b1a c9 ?? C9h
.text:00401b1b 81 ?? 81h
.text:00401b1c 38 ?? 38h 8
.text:00401b1d 05 ?? 05h
.text:00401b1e 00 ?? 00h
.text:00401b1f 00 ?? 00h
.text:00401b20 c0 ?? C0h
.text:00401b21 0f ?? 0Fh
.text:00401b22 94 ?? 94h
.text:00401b23 c1 ?? C1h
.text:00401b24 8b ?? 8Bh
.text:00401b25 c1 ?? C1h
.text:00401b26 c3 ?? C3h
.text:00401b27 8b ?? 8Bh
.text:00401b28 65 ?? 65h e
.text:00401b29 e8 ?? E8h
LAB_00401b2a: ;XREF[5,0]: 00401acb,00401adc,00401aea,00401b01
; 00401b07
.text:00401b2a c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00401b31 32c0 XOR AL,AL
LAB_00401b33: ;XREF[1,0]: 00401b12
.text:00401b33 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00401b36 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00401b3d 59 POP ECX
.text:00401b3e 5f POP EDI
.text:00401b3f 5e POP ESI
.text:00401b40 5b POP EBX
.text:00401b41 c9 LEAVE
.text:00401b42 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___scrt_release_startup_lock *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;int ___scrt_release_startup_lock(char param_1)
;param_1 char 4 ;XREF[1,0]: 00401b4f
;XREF[1,0]: 0040187f
.text:00401b43 55 PUSH EBP
.text:00401b44 8bec MOV EBP,ESP
.text:00401b46 e8ce050000 CALL ___scrt_is_ucrt_dll_in_use ;bool ___scrt_is_ucrt_dll_in_use(void)
.text:00401b4b 85c0 TEST EAX,EAX
.text:00401b4d 740f JZ LAB_00401b5e
.text:00401b4f 807d0800 CMP byte ptr [EBP + param_1+0x4],0x0
.text:00401b53 7509 JNZ LAB_00401b5e
.text:00401b55 33c0 XOR EAX,EAX
.text:00401b57 b90c394200 MOV ECX,.data:DAT_0042390c
.text:00401b5c 8701 XCHG dword ptr [ECX]=>.data:DAT_0042390c,EAX
LAB_00401b5e: ;XREF[2,0]: 00401b4d,00401b53
.text:00401b5e 5d POP EBP
.text:00401b5f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___scrt_uninitialize_crt *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___scrt_uninitialize_crt(char param_1, char param_2)
;param_1 char 4 ;XREF[2,0]: 00401b72,00401b7a
;param_2 char 8 ;XREF[1,0]: 00401b6c
;XREF[1,0]: 00401902
.text:00401b60 55 PUSH EBP
.text:00401b61 8bec MOV EBP,ESP
.text:00401b63 803d10394... CMP byte ptr [.data:DAT_00423910],0x0
.text:00401b6a 7406 JZ LAB_00401b72
.text:00401b6c 807d0c00 CMP byte ptr [EBP + param_2+0x4],0x0
.text:00401b70 7512 JNZ LAB_00401b84
LAB_00401b72: ;XREF[1,0]: 00401b6a
.text:00401b72 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00401b75 e8aabe0000 CALL ___acrt_uninitialize ;undefined4 ___acrt_uninitialize(char...
.text:00401b7a ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00401b7d e89b080000 CALL ___vcrt_uninitialize ;undefined4 ___vcrt_uninitialize(char...
.text:00401b82 59 POP ECX
.text:00401b83 59 POP ECX
LAB_00401b84: ;XREF[1,0]: 00401b70
.text:00401b84 b001 MOV AL,0x1
.text:00401b86 5d POP EBP
.text:00401b87 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __onexit *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;_onexit_t __onexit(_onexit_t _Func)
;_Func _onexit_t 4 ;XREF[2,0]: 00401b92,00401bb0
;XREF[1,0]: 00401bbb
.text:00401b88 55 PUSH EBP
.text:00401b89 8bec MOV EBP,ESP
.text:00401b8b 833d14394... CMP dword ptr [.data:DAT_00423914],-0x1
.text:00401b92 ff7508 PUSH dword ptr [EBP + _Func+0x4]
.text:00401b95 7507 JNZ LAB_00401b9e
.text:00401b97 e8cbbc0000 CALL __crt_atexit ;undefined __crt_atexit(undefined4 pa...
.text:00401b9c eb0b JMP LAB_00401ba9
LAB_00401b9e: ;XREF[1,0]: 00401b95
.text:00401b9e 6814394200 PUSH .data:DAT_00423914
.text:00401ba3 e83cbd0000 CALL __register_onexit_function ;undefined __register_onexit_function...
.text:00401ba8 59 POP ECX
LAB_00401ba9: ;XREF[1,0]: 00401b9c
.text:00401ba9 f7d8 NEG EAX
.text:00401bab 59 POP ECX
.text:00401bac 1bc0 SBB EAX,EAX
.text:00401bae f7d0 NOT EAX
.text:00401bb0 234508 AND EAX,dword ptr [EBP + _Func+0x4]
.text:00401bb3 5d POP EBP
.text:00401bb4 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* _atexit *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int _atexit(_func_4879 * param_1)
;param_1 _func_4879 * 4 ;XREF[1,0]: 00401bb8
;XREF[1,0]: 00401764
.text:00401bb5 55 PUSH EBP
.text:00401bb6 8bec MOV EBP,ESP
.text:00401bb8 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00401bbb e8c8ffffff CALL __onexit ;_onexit_t __onexit(_onexit_t _Func)
.text:00401bc0 f7d8 NEG EAX
.text:00401bc2 59 POP ECX
.text:00401bc3 1bc0 SBB EAX,EAX
.text:00401bc5 f7d8 NEG EAX
.text:00401bc7 48 DEC EAX
.text:00401bc8 5d POP EBP
.text:00401bc9 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___get_entropy *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;uint ___get_entropy(void)
;local_8 undefined4 -8 ;XREF[5,0]: 00401be8,00401bf1,00401bfa,00401c0a,00401c10
;local_c undefined4 -c ;XREF[2,0]: 00401bd7,00401be2
;local_10 undefined4 -10 ;XREF[3,0]: 00401bd0,00401bd4,00401be5
;local_14 undefined4 -14 ;XREF[1,0]: 00401c07
;local_18 undefined4 -18 ;XREF[2,0]: 00401bfd,00401c0d
;XREF[1,0]: 00401c31
.text:00401bca 55 PUSH EBP
.text:00401bcb 8bec MOV EBP,ESP
.text:00401bcd 83ec14 SUB ESP,0x14
.text:00401bd0 8365f400 AND dword ptr [EBP + local_10+0x4],0x0
.text:00401bd4 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00401bd7 8365f800 AND dword ptr [EBP + local_c+0x4],0x0
.text:00401bdb 50 PUSH EAX ;LPFILETIME lpSystemTimeAsFileTime fo...
.text:00401bdc ff150cb04100 CALL dword ptr [->KERNEL32.DLL::GetSystemT...;= 00022322
.text:00401be2 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00401be5 3345f4 XOR EAX,dword ptr [EBP + local_10+0x4]
.text:00401be8 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00401beb ff1508b04100 CALL dword ptr [->KERNEL32.DLL::GetCurrent...;= 0002230c
.text:00401bf1 3145fc XOR dword ptr [EBP + local_8+0x4],EAX
.text:00401bf4 ff1504b04100 CALL dword ptr [->KERNEL32.DLL::GetCurrent...;= 000222f6
.text:00401bfa 3145fc XOR dword ptr [EBP + local_8+0x4],EAX
.text:00401bfd 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:00401c00 50 PUSH EAX ;LARGE_INTEGER * lpPerformanceCount f...
.text:00401c01 ff1500b04100 CALL dword ptr [->KERNEL32.DLL::QueryPerfo...;= 000222dc
.text:00401c07 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00401c0a 8d4dfc LEA ECX=>local_8,[EBP + -0x4]
.text:00401c0d 3345ec XOR EAX,dword ptr [EBP + local_18+0x4]
.text:00401c10 3345fc XOR EAX,dword ptr [EBP + local_8+0x4]
.text:00401c13 33c1 XOR EAX,ECX
.text:00401c15 c9 LEAVE
.text:00401c16 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___security_init_cookie *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;void ___security_init_cookie(void)
;XREF[1,0]: 0040196f
.text:00401c17 8b0d14304200 MOV ECX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:00401c1d 56 PUSH ESI
.text:00401c1e 57 PUSH EDI
.text:00401c1f bf4ee640bb MOV EDI,0xbb40e64e
.text:00401c24 be0000ffff MOV ESI,0xffff0000
.text:00401c29 3bcf CMP ECX,EDI
.text:00401c2b 7404 JZ LAB_00401c31
.text:00401c2d 85ce TEST ESI,ECX
.text:00401c2f 7526 JNZ LAB_00401c57
LAB_00401c31: ;XREF[1,0]: 00401c2b
.text:00401c31 e894ffffff CALL ___get_entropy ;uint ___get_entropy(void)
.text:00401c36 8bc8 MOV ECX,EAX
.text:00401c38 3bcf CMP ECX,EDI
.text:00401c3a 7507 JNZ LAB_00401c43
.text:00401c3c b94fe640bb MOV ECX,0xbb40e64f
.text:00401c41 eb0e JMP LAB_00401c51
LAB_00401c43: ;XREF[1,0]: 00401c3a
.text:00401c43 85ce TEST ESI,ECX
.text:00401c45 750a JNZ LAB_00401c51
.text:00401c47 0d11470000 OR EAX,0x4711
.text:00401c4c c1e010 SHL EAX,0x10
.text:00401c4f 0bc8 OR ECX,EAX
LAB_00401c51: ;XREF[2,0]: 00401c41,00401c45
.text:00401c51 890d14304200 MOV dword ptr [.data:DAT_00423014],ECX ;= BB40E64Eh
LAB_00401c57: ;XREF[1,0]: 00401c2f
.text:00401c57 f7d1 NOT ECX
.text:00401c59 5f POP EDI
.text:00401c5a 890d18304200 MOV dword ptr [.data:DAT_00423018],ECX ;= 44BF19B1h
.text:00401c60 5e POP ESI
.text:00401c61 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00401c62(void)
;XREF[5,0]: 0040173b,00401788,004017a2,004017bc
; 00401df2
.text:00401c62 33c0 XOR EAX,EAX
.text:00401c64 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00401c65(void)
;XREF[1,0]: 00401769
.text:00401c65 33c0 XOR EAX,EAX
.text:00401c67 40 INC EAX
.text:00401c68 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00401c69(void)
;XREF[1,0]: 00401730
.text:00401c69 b800400000 MOV EAX,0x4000
.text:00401c6e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00401c6f(void)
;XREF[1,0]: 0040177a
.text:00401c6f 6830394200 PUSH .data:ListHead_00423930 ;PSLIST_HEADER ListHead for Initializ...
.text:00401c74 ff1510b04100 CALL dword ptr [->KERNEL32.DLL::Initialize...;= 0002233c
.text:00401c7a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00401c7b(void)
;XREF[6,0]: 004017ae,0041ca88,0041ca8c,0041cabc
; 0041cae0,0041caec
.text:00401c7b b001 MOV AL,0x1
.text:00401c7d c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __initialize_default_precision *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined __initialize_default_precision(void)
;XREF[1,0]: 0040179d
.text:00401c7e 6800000300 PUSH 0x30000
.text:00401c83 6800000100 PUSH 0x10000
.text:00401c88 6a00 PUSH 0x0
.text:00401c8a e8c5bd0000 CALL __controlfp_s ;errno_t __controlfp_s(uint * _Curren...
.text:00401c8f 83c40c ADD ESP,0xc
.text:00401c92 85c0 TEST EAX,EAX
.text:00401c94 7501 JNZ LAB_00401c97
.text:00401c96 c3 RET
LAB_00401c97: ;XREF[1,0]: 00401c94
.text:00401c97 6a07 PUSH 0x7
.text:00401c99 e839000000 CALL FUN_00401cd7 ;undefined FUN_00401cd7(void)
.text:00401c9e cc INT3
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined _guard_check_icall(void)
;XREF[59,0]: 00401793,00401798,004018a5,00401ebc
; 00401ee8,004023ac,004024f9,004028fa
; 004028ff,00402be6,00402c21,00402c5c
; 00402c9a,00402cdb,00402e6a,00402e70
; 00403683,00403eb5,0040443b,00404526
; 00404649,00404818,0040cd59,0040cd72
; 0040cdf1,0040d3f3,0040d41b,0040d7fb
; 0040dad1,0040e1dc,0040e592,0040e5b6
; 0040e5f3,0040e64c,0040e68b,0040e6ca
; 0040e70c,0040e751,0040e79a,0040e7e2
; 00412e9c,00412ecc,00412f04,00412f40
; 00413231,0041325f,00417227,004172d2
; 00417343,004173a5,00417424,0041745a
; 004174a8,00417540,00417580,004195f6
; 004196a0,004196e6,0041b118
.text:00401c9f c20000 RET 0x0
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00401ca2(void)
;XREF[1,0]: 004017d3
.text:00401ca2 e859f3ffff CALL FUN_00401000 ;undefined * FUN_00401000(void)
.text:00401ca7 8b4804 MOV ECX,dword ptr [EAX + 0x4]
.text:00401caa 830824 OR dword ptr [EAX],0x24
.text:00401cad 894804 MOV dword ptr [EAX + 0x4],ECX
.text:00401cb0 e85bf3ffff CALL FUN_00401010 ;undefined * FUN_00401010(void)
.text:00401cb5 8b4804 MOV ECX,dword ptr [EAX + 0x4]
.text:00401cb8 830802 OR dword ptr [EAX],0x2
.text:00401cbb 894804 MOV dword ptr [EAX + 0x4],ECX
.text:00401cbe c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_00401cbf(void)
;XREF[1,0]: 0040177f
.text:00401cbf 33c0 XOR EAX,EAX
.text:00401cc1 390504304200 CMP dword ptr [.data:DAT_00423004],EAX ;= 00000001h
.text:00401cc7 0f94c0 SETZ AL
.text:00401cca c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined * FUN_00401ccb(void)
;XREF[1,0]: 00401885
.text:00401ccb b850454200 MOV EAX,.data:DAT_00424550 ;= ??
.text:00401cd0 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined * FUN_00401cd1(void)
;XREF[1,0]: 004018ad
.text:00401cd1 b84c454200 MOV EAX,.data:DAT_0042454c ;= ??
.text:00401cd6 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00401cd7(void)
;local_res0 undefined4 0 ;XREF[3,0]: 00401d66,00401d6f,00401d98
;local_4 undefined4 -4 ;XREF[1,0]: 00401d82
;local_8 undefined4 -8 ;XREF[1,0]: 00401dca
;local_c undefined4 -c ;XREF[2,0]: 00401dbf,00401dd5
;local_50 undefined4 -50 ;XREF[1,0]: 00401dac
;local_58 undefined4 -58 ;XREF[1,0]: 00401da5
;local_5c undefined4 -5c ;XREF[3,0]: 00401d8d,00401d9e,00401dbc
;local_260 undefined2 -260 ;XREF[1,0]: 00401d35
;local_264 undefined4 -264 ;XREF[1,0]: 00401d72
;local_268 undefined4 -268 ;XREF[1,0]: 00401d60
;local_26c undefined2 -26c ;XREF[1,0]: 00401d3c
;local_270 undefined4 -270 ;XREF[1,0]: 00401d69
;local_274 undefined4 -274 ;XREF[1,0]: 00401d87
;local_278 undefined4 -278 ;XREF[1,0]: 00401d11
;local_27c undefined4 -27c ;XREF[1,0]: 00401d17
;local_280 undefined4 -280 ;XREF[1,0]: 00401d1d
;local_284 undefined4 -284 ;XREF[1,0]: 00401d23
;local_288 undefined4 -288 ;XREF[1,0]: 00401d29
;local_28c undefined4 -28c ;XREF[1,0]: 00401d2f
;local_290 undefined2 -290 ;XREF[1,0]: 00401d43
;local_294 undefined2 -294 ;XREF[1,0]: 00401d4a
;local_298 undefined2 -298 ;XREF[1,0]: 00401d51
;local_29c undefined2 -29c ;XREF[1,0]: 00401d58
;local_328 undefined4 -328 ;XREF[3,0]: 00401d00,00401d78,00401dc2
;XREF[4,0]: 004017cd,0040195b,00401aa9,00401c99
.text:00401cd7 55 PUSH EBP
.text:00401cd8 8bec MOV EBP,ESP
.text:00401cda 81ec24030000 SUB ESP,0x324
.text:00401ce0 53 PUSH EBX
.text:00401ce1 6a17 PUSH 0x17 ;DWORD ProcessorFeature for IsProcess...
.text:00401ce3 ff1524b04100 CALL dword ptr [->KERNEL32.DLL::IsProcesso...;= 000223b2
.text:00401ce9 85c0 TEST EAX,EAX
.text:00401ceb 7405 JZ LAB_00401cf2
.text:00401ced 8b4d08 MOV ECX,dword ptr [EBP + Stack[0x4]+0x4]
.text:00401cf0 cd29 INT 0x29
LAB_00401cf2: ;XREF[1,0]: 00401ceb
.text:00401cf2 6a03 PUSH 0x3
.text:00401cf4 e8a2010000 CALL FUN_00401e9b ;undefined FUN_00401e9b(void)
.text:00401cf9 c70424cc0... MOV dword ptr [ESP],0x2cc
.text:00401d00 8d85dcfcffff LEA EAX=>local_328,[EBP + 0xfffffcdc]
.text:00401d06 6a00 PUSH 0x0
.text:00401d08 50 PUSH EAX
.text:00401d09 e822090000 CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:00401d0e 83c40c ADD ESP,0xc
.text:00401d11 89858cfdffff MOV dword ptr [EBP + local_278+0x4],EAX
.text:00401d17 898d88fdffff MOV dword ptr [EBP + local_27c+0x4],ECX
.text:00401d1d 899584fdffff MOV dword ptr [EBP + local_280+0x4],EDX
.text:00401d23 899d80fdffff MOV dword ptr [EBP + local_284+0x4],EBX
.text:00401d29 89b57cfdffff MOV dword ptr [EBP + local_288+0x4],ESI
.text:00401d2f 89bd78fdffff MOV dword ptr [EBP + local_28c+0x4],EDI
.text:00401d35 668c95a4f... MOV word ptr [EBP + local_260+0x4],SS
.text:00401d3c 668c8d98f... MOV word ptr [EBP + local_26c+0x4],CS
.text:00401d43 668c9d74f... MOV word ptr [EBP + local_290+0x4],DS
.text:00401d4a 668c8570f... MOV word ptr [EBP + local_294+0x4],ES
.text:00401d51 668ca56cf... MOV word ptr [EBP + local_298+0x4],FS
.text:00401d58 668cad68f... MOV word ptr [EBP + local_29c+0x4],GS
.text:00401d5f 9c PUSHFD
.text:00401d60 8f859cfdffff POP dword ptr [EBP + local_268+0x4]
.text:00401d66 8b4504 MOV EAX,dword ptr [EBP + local_res0+0x4]
.text:00401d69 898594fdffff MOV dword ptr [EBP + local_270+0x4],EAX
.text:00401d6f 8d4504 LEA EAX=>local_res0,[EBP + 0x4]
.text:00401d72 8985a0fdffff MOV dword ptr [EBP + local_264+0x4],EAX
.text:00401d78 c785dcfcf... MOV dword ptr [EBP + local_328+0x4],0x10001
.text:00401d82 8b40fc MOV EAX,dword ptr [EAX + local_4]
.text:00401d85 6a50 PUSH 0x50
.text:00401d87 898590fdffff MOV dword ptr [EBP + local_274+0x4],EAX
.text:00401d8d 8d45a8 LEA EAX=>local_5c,[EBP + -0x58]
.text:00401d90 6a00 PUSH 0x0
.text:00401d92 50 PUSH EAX
.text:00401d93 e898080000 CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:00401d98 8b4504 MOV EAX,dword ptr [EBP + local_res0+0x4]
.text:00401d9b 83c40c ADD ESP,0xc
.text:00401d9e c745a8150... MOV dword ptr [EBP +...,0x40000015
.text:00401da5 c745ac010... MOV dword ptr [EBP + local_58+0x4],0x1
.text:00401dac 8945b4 MOV dword ptr [EBP + local_50+0x4],EAX
.text:00401daf ff1514b04100 CALL dword ptr [->KERNEL32.DLL::IsDebugger...;= 00022352
.text:00401db5 6a00 PUSH 0x0 ;LPTOP_LEVEL_EXCEPTION_FILTER lpTopLe...
.text:00401db7 8d58ff LEA EBX,[EAX + -0x1]
.text:00401dba f7db NEG EBX
.text:00401dbc 8d45a8 LEA EAX=>local_5c,[EBP + -0x58]
.text:00401dbf 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00401dc2 8d85dcfcffff LEA EAX=>local_328,[EBP + 0xfffffcdc]
.text:00401dc8 1adb SBB BL,BL
.text:00401dca 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00401dcd fec3 INC BL
.text:00401dcf ff151cb04100 CALL dword ptr [->KERNEL32.DLL::SetUnhandl...;= 00022382
.text:00401dd5 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00401dd8 50 PUSH EAX ;_EXCEPTION_POINTERS * ExceptionInfo ...
.text:00401dd9 ff1518b04100 CALL dword ptr [->KERNEL32.DLL::UnhandledE...;= 00022366
.text:00401ddf 85c0 TEST EAX,EAX
.text:00401de1 750c JNZ LAB_00401def
.text:00401de3 84db TEST BL,BL
.text:00401de5 7508 JNZ LAB_00401def
.text:00401de7 6a03 PUSH 0x3
.text:00401de9 e8ad000000 CALL FUN_00401e9b ;undefined FUN_00401e9b(void)
.text:00401dee 59 POP ECX
LAB_00401def: ;XREF[2,0]: 00401de1,00401de5
.text:00401def 5b POP EBX
.text:00401df0 c9 LEAVE
.text:00401df1 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 thunk_FUN_00401c62(void)
;XREF[1,0]: 004017c1
.text:00401df2 e96bfeffff JMP FUN_00401c62
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00401df7(void)
;XREF[2,0]: 004018ec,0040470c
.text:00401df7 6a00 PUSH 0x0 ;LPCWSTR lpModuleName for GetModuleHa...
.text:00401df9 ff1528b04100 CALL dword ptr [->KERNEL32.DLL::GetModuleH...;= 000223ce
.text:00401dff 85c0 TEST EAX,EAX
.text:00401e01 7433 JZ LAB_00401e36
.text:00401e03 b94d5a0000 MOV ECX,0x5a4d
.text:00401e08 663908 CMP word ptr [EAX],CX
.text:00401e0b 7529 JNZ LAB_00401e36
.text:00401e0d 8b483c MOV ECX,dword ptr [EAX + 0x3c]
.text:00401e10 03c8 ADD ECX,EAX
.text:00401e12 813950450000 CMP dword ptr [ECX],0x4550
.text:00401e18 751c JNZ LAB_00401e36
.text:00401e1a b80b010000 MOV EAX,0x10b
.text:00401e1f 66394118 CMP word ptr [ECX + 0x18],AX
.text:00401e23 7511 JNZ LAB_00401e36
.text:00401e25 8379740e CMP dword ptr [ECX + 0x74],0xe
.text:00401e29 760b JBE LAB_00401e36
.text:00401e2b 83b9e8000... CMP dword ptr [ECX + 0xe8],0x0
.text:00401e32 0f95c0 SETNZ AL
.text:00401e35 c3 RET
LAB_00401e36: ;XREF[5,0]: 00401e01,00401e0b,00401e18,00401e23
; 00401e29
.text:00401e36 32c0 XOR AL,AL
.text:00401e38 c3 RET
.text:00401e39 68 ?? 68h h
.text:00401e3a 45 ?? 45h E ;? -> 00401e45
.text:00401e3b 1e ?? 1Eh
.text:00401e3c 40 ?? 40h @
.text:00401e3d 00 ?? 00h
.text:00401e3e ff ?? FFh
.text:00401e3f 15 ?? 15h
.text:00401e40 1c ?? 1Ch ;? -> 0041b01c
.text:00401e41 b0 ?? B0h
.text:00401e42 41 ?? 41h A
.text:00401e43 00 ?? 00h
.text:00401e44 c3 ?? C3h
;************************************************************************************************
;* Library Function - Single Match *
;* ___scrt_unhandled_exception_filter@4 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___scrt_unhandled_exception_filter@4(int * * param_1)
;param_1 int * * 4 ;XREF[1,0]: 00401e4a
.text:00401e45 55 PUSH EBP
.text:00401e46 8bec MOV EBP,ESP
.text:00401e48 56 PUSH ESI
.text:00401e49 57 PUSH EDI
.text:00401e4a 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00401e4d 8b37 MOV ESI,dword ptr [EDI]
.text:00401e4f 813e63736de0 CMP dword ptr [ESI],0xe06d7363
.text:00401e55 7525 JNZ LAB_00401e7c
.text:00401e57 837e1003 CMP dword ptr [ESI + 0x10],0x3
.text:00401e5b 751f JNZ LAB_00401e7c
.text:00401e5d 8b4614 MOV EAX,dword ptr [ESI + 0x14]
.text:00401e60 3d20059319 CMP EAX,0x19930520
.text:00401e65 741d JZ LAB_00401e84
.text:00401e67 3d21059319 CMP EAX,0x19930521
.text:00401e6c 7416 JZ LAB_00401e84
.text:00401e6e 3d22059319 CMP EAX,0x19930522
.text:00401e73 740f JZ LAB_00401e84
.text:00401e75 3d00409901 CMP EAX,0x1994000
.text:00401e7a 7408 JZ LAB_00401e84
LAB_00401e7c: ;XREF[2,0]: 00401e55,00401e5b
.text:00401e7c 5f POP EDI
.text:00401e7d 33c0 XOR EAX,EAX
.text:00401e7f 5e POP ESI
.text:00401e80 5d POP EBP
.text:00401e81 c20400 RET 0x4
LAB_00401e84: ;XREF[4,0]: 00401e65,00401e6c,00401e73,00401e7a
.text:00401e84 e88e070000 CALL FUN_00402617 ;int FUN_00402617(void)
.text:00401e89 8930 MOV dword ptr [EAX],ESI
.text:00401e8b 8b7704 MOV ESI,dword ptr [EDI + 0x4]
.text:00401e8e e88d070000 CALL FUN_00402620 ;int FUN_00402620(void)
.text:00401e93 8930 MOV dword ptr [EAX],ESI
.text:00401e95 e819bc0000 CALL _terminate ;undefined _terminate(void)
.text:00401e9a cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00401e9b(void)
;XREF[4,0]: 00401cf4,00401de9,0040e046,0040e14d
.text:00401e9b 832538394... AND dword ptr [.data:DAT_00423938],0x0
.text:00401ea2 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00401ea3(void)
;XREF[1,0]: 0040175a
.text:00401ea3 53 PUSH EBX
.text:00401ea4 56 PUSH ESI
.text:00401ea5 be341b4200 MOV ESI,.rdata:DAT_00421b34
.text:00401eaa bb341b4200 MOV EBX,.rdata:DAT_00421b34
.text:00401eaf 3bf3 CMP ESI,EBX
.text:00401eb1 7319 JNC LAB_00401ecc
.text:00401eb3 57 PUSH EDI
LAB_00401eb4: ;XREF[1,0]: 00401ec9
.text:00401eb4 8b3e MOV EDI,dword ptr [ESI]=>.rdata:DAT_00421b34
.text:00401eb6 85ff TEST EDI,EDI
.text:00401eb8 740a JZ LAB_00401ec4
.text:00401eba 8bcf MOV ECX,EDI
.text:00401ebc ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00401ec2 ffd7 CALL EDI
LAB_00401ec4: ;XREF[1,0]: 00401eb8
.text:00401ec4 83c604 ADD ESI,0x4
.text:00401ec7 3bf3 CMP ESI,EBX
.text:00401ec9 72e9 JC LAB_00401eb4
.text:00401ecb 5f POP EDI
LAB_00401ecc: ;XREF[1,0]: 00401eb1
.text:00401ecc 5e POP ESI
.text:00401ecd 5b POP EBX
.text:00401ece c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00401ecf(void)
;XREF[1,0]: 0040175f
.text:00401ecf 53 PUSH EBX
.text:00401ed0 56 PUSH ESI
.text:00401ed1 be3c1b4200 MOV ESI,.rdata:DAT_00421b3c
.text:00401ed6 bb3c1b4200 MOV EBX,.rdata:DAT_00421b3c
.text:00401edb 3bf3 CMP ESI,EBX
.text:00401edd 7319 JNC LAB_00401ef8
.text:00401edf 57 PUSH EDI
LAB_00401ee0: ;XREF[1,0]: 00401ef5
.text:00401ee0 8b3e MOV EDI,dword ptr [ESI]=>.rdata:DAT_00421b3c
.text:00401ee2 85ff TEST EDI,EDI
.text:00401ee4 740a JZ LAB_00401ef0
.text:00401ee6 8bcf MOV ECX,EDI
.text:00401ee8 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00401eee ffd7 CALL EDI
LAB_00401ef0: ;XREF[1,0]: 00401ee4
.text:00401ef0 83c604 ADD ESI,0x4
.text:00401ef3 3bf3 CMP ESI,EBX
.text:00401ef5 72e9 JC LAB_00401ee0
.text:00401ef7 5f POP EDI
LAB_00401ef8: ;XREF[1,0]: 00401edd
.text:00401ef8 5e POP ESI
.text:00401ef9 5b POP EBX
.text:00401efa c3 RET
.text:00401efb cccccccccc align align(5)
;************************************************************************************************
;* Library Function - Single Match *
;* __SEH_prolog4 *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;undefined __SEH_prolog4(undefined4 param_1, int param_2)
;param_1 undefined4 4 ;XREF[3,0]: 00401f22,00401f2e,00401f31
;param_2 int 8 ;XREF[3,0]: 00401f0c,00401f10,00401f14
;local_res0 undefined4 0 ;XREF[2,0]: 00401f2b,00401f38
;local_8 undefined1 -8 ;XREF[1,0]: 00401f3b
;local_10 undefined4 -10 ;XREF[1,0]: 00401f28
;XREF[39,0]: 004017f4,00401ab6,00402477,0040362b
; 00403769,00403fb2,00404222,00404577
; 004045fe,00404a14,004067e9,004068c6
; 0040cb1e,0040d49e,0040d5dc,0040d637
; 0040daba,0040e84b,0040e8f6,0040e982
; 0040ed4c,00410172,004101c4,0041022f
; 00410284,004115ce,00411aaa,004124e1
; 00412d30,00412f5d,00412fb4,004130cb
; 0041385d,004139b2,00414273,00416ccc
; 00417cc3,00417de7,00417ff6
.text:00401f00 68a0224000 PUSH __except_handler4
.text:00401f05 64ff35000... PUSH dword ptr FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:00401f0c 8b442410 MOV EAX,dword ptr [ESP + param_2+0x8]
.text:00401f10 896c2410 MOV dword ptr [ESP + param_2+0x8],EBP
.text:00401f14 8d6c2410 LEA EBP=>param_2,[ESP + 0x10]
.text:00401f18 2be0 SUB ESP,EAX
.text:00401f1a 53 PUSH EBX
.text:00401f1b 56 PUSH ESI
.text:00401f1c 57 PUSH EDI
.text:00401f1d a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00401f22 3145fc XOR dword ptr [EBP + param_1-0x8],EAX
.text:00401f25 33c5 XOR EAX,EBP
.text:00401f27 50 PUSH EAX
.text:00401f28 8965e8 MOV dword ptr [EBP + local_10-0x8],ESP
.text:00401f2b ff75f8 PUSH dword ptr [EBP + local_res0-0x8]
.text:00401f2e 8b45fc MOV EAX,dword ptr [EBP + param_1-0x8]
.text:00401f31 c745fcfef... MOV dword ptr [EBP + param_1-0x8],0xfffffffe
.text:00401f38 8945f8 MOV dword ptr [EBP + local_res0-0x8],EAX
.text:00401f3b 8d45f0 LEA EAX=>local_8,[EBP + -0x10]
.text:00401f3e 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:00401f44 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00401f45(void)
;local_8 undefined4 -8 ;XREF[4,0]: 00401fa2,00401fbf,00402021,0040203d
;local_c undefined4 -c ;XREF[2,0]: 00401fad,00401fc2
;local_10 undefined4 -10 ;XREF[2,0]: 00401f91,00402024
;local_14 undefined4 -14 ;XREF[5,0]: 00401f69,00402059,004020a9,004020af,004020fc
;local_18 undefined4 -18 ;XREF[3,0]: 004020a6,004020ac,004020f4
;local_1c undefined4 -1c ;XREF[4,0]: 00401f88,00401f9a,00401fcd,00402040
;local_20 undefined4 -20 ;XREF[5,0]: 00401f83,00401fa5,00401fca,0040201b,0040203a
;local_24 undefined4 -24 ;XREF[5,0]: 00401f80,00401f8e,00401fc7,00402037,00402043
;local_28 undefined4 -28 ;XREF[8,0]: 00401f74,00401f7e,00401f8b,00401fba,00401fbd
; 00401fd2,00402032,00402035
;XREF[1,0]: 004019ff
.text:00401f45 55 PUSH EBP
.text:00401f46 8bec MOV EBP,ESP
.text:00401f48 83253c394... AND dword ptr [.data:DAT_0042393c],0x0
.text:00401f4f 83ec24 SUB ESP,0x24
.text:00401f52 830d10304... OR dword ptr [.data:DAT_00423010],0x1 ;= 00000001h
.text:00401f59 6a0a PUSH 0xa ;DWORD ProcessorFeature for IsProcess...
.text:00401f5b ff1524b04100 CALL dword ptr [->KERNEL32.DLL::IsProcesso...;= 000223b2
.text:00401f61 85c0 TEST EAX,EAX
.text:00401f63 0f84ac010000 JZ LAB_00402115
.text:00401f69 8365f000 AND dword ptr [EBP + local_14+0x4],0x0
.text:00401f6d 33c0 XOR EAX,EAX
.text:00401f6f 53 PUSH EBX
.text:00401f70 56 PUSH ESI
.text:00401f71 57 PUSH EDI
.text:00401f72 33c9 XOR ECX,ECX
.text:00401f74 8d7ddc LEA EDI=>local_28,[EBP + -0x24]
.text:00401f77 53 PUSH EBX
.text:00401f78 0fa2 CPUID
.text:00401f7a 8bf3 MOV ESI,EBX
.text:00401f7c 5b POP EBX
.text:00401f7d 90 NOP
.text:00401f7e 8907 MOV dword ptr [EDI]=>local_28,EAX
.text:00401f80 897704 MOV dword ptr [EDI + local_24+0x28],ESI
.text:00401f83 894f08 MOV dword ptr [EDI + local_20+0x28],ECX
.text:00401f86 33c9 XOR ECX,ECX
.text:00401f88 89570c MOV dword ptr [EDI + local_1c+0x28],EDX
.text:00401f8b 8b45dc MOV EAX,dword ptr [EBP + local_28+0x4]
.text:00401f8e 8b7de0 MOV EDI,dword ptr [EBP + local_24+0x4]
.text:00401f91 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00401f94 81f747656e75 XOR EDI,0x756e6547
.text:00401f9a 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
.text:00401f9d 35696e6549 XOR EAX,0x49656e69
.text:00401fa2 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00401fa5 8b45e4 MOV EAX,dword ptr [EBP + local_20+0x4]
.text:00401fa8 356e74656c XOR EAX,0x6c65746e
.text:00401fad 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00401fb0 33c0 XOR EAX,EAX
.text:00401fb2 40 INC EAX
.text:00401fb3 53 PUSH EBX
.text:00401fb4 0fa2 CPUID
.text:00401fb6 8bf3 MOV ESI,EBX
.text:00401fb8 5b POP EBX
.text:00401fb9 90 NOP
.text:00401fba 8d5ddc LEA EBX=>local_28,[EBP + -0x24]
.text:00401fbd 8903 MOV dword ptr [EBX]=>local_28,EAX
.text:00401fbf 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00401fc2 0b45f8 OR EAX,dword ptr [EBP + local_c+0x4]
.text:00401fc5 0bc7 OR EAX,EDI
.text:00401fc7 897304 MOV dword ptr [EBX + local_24+0x28],ESI
.text:00401fca 894b08 MOV dword ptr [EBX + local_20+0x28],ECX
.text:00401fcd 89530c MOV dword ptr [EBX + local_1c+0x28],EDX
.text:00401fd0 7543 JNZ LAB_00402015
.text:00401fd2 8b45dc MOV EAX,dword ptr [EBP + local_28+0x4]
.text:00401fd5 25f03fff0f AND EAX,0xfff3ff0
.text:00401fda 3dc0060100 CMP EAX,0x106c0
.text:00401fdf 7423 JZ LAB_00402004
.text:00401fe1 3d60060200 CMP EAX,0x20660
.text:00401fe6 741c JZ LAB_00402004
.text:00401fe8 3d70060200 CMP EAX,0x20670
.text:00401fed 7415 JZ LAB_00402004
.text:00401fef 3d50060300 CMP EAX,0x30650
.text:00401ff4 740e JZ LAB_00402004
.text:00401ff6 3d60060300 CMP EAX,0x30660
.text:00401ffb 7407 JZ LAB_00402004
.text:00401ffd 3d70060300 CMP EAX,0x30670
.text:00402002 7511 JNZ LAB_00402015
LAB_00402004: ;XREF[5,0]: 00401fdf,00401fe6,00401fed,00401ff4
; 00401ffb
.text:00402004 8b3d40394200 MOV EDI,dword ptr [.data:DAT_00423940]
.text:0040200a 83cf01 OR EDI,0x1
.text:0040200d 893d40394200 MOV dword ptr [.data:DAT_00423940],EDI
.text:00402013 eb06 JMP LAB_0040201b
LAB_00402015: ;XREF[2,0]: 00401fd0,00402002
.text:00402015 8b3d40394200 MOV EDI,dword ptr [.data:DAT_00423940]
LAB_0040201b: ;XREF[1,0]: 00402013
.text:0040201b 8b4de4 MOV ECX,dword ptr [EBP + local_20+0x4]
.text:0040201e 6a07 PUSH 0x7
.text:00402020 58 POP EAX
.text:00402021 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
.text:00402024 3945f4 CMP dword ptr [EBP + local_10+0x4],EAX
.text:00402027 7c30 JL LAB_00402059
.text:00402029 33c9 XOR ECX,ECX
.text:0040202b 53 PUSH EBX
.text:0040202c 0fa2 CPUID
.text:0040202e 8bf3 MOV ESI,EBX
.text:00402030 5b POP EBX
.text:00402031 90 NOP
.text:00402032 8d5ddc LEA EBX=>local_28,[EBP + -0x24]
.text:00402035 8903 MOV dword ptr [EBX]=>local_28,EAX
.text:00402037 897304 MOV dword ptr [EBX + local_24+0x28],ESI
.text:0040203a 894b08 MOV dword ptr [EBX + local_20+0x28],ECX
.text:0040203d 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00402040 89530c MOV dword ptr [EBX + local_1c+0x28],EDX
.text:00402043 8b5de0 MOV EBX,dword ptr [EBP + local_24+0x4]
.text:00402046 f7c300020000 TEST EBX,0x200
.text:0040204c 740e JZ LAB_0040205c
.text:0040204e 83cf02 OR EDI,0x2
.text:00402051 893d40394200 MOV dword ptr [.data:DAT_00423940],EDI
.text:00402057 eb03 JMP LAB_0040205c
LAB_00402059: ;XREF[1,0]: 00402027
.text:00402059 8b5df0 MOV EBX,dword ptr [EBP + local_14+0x4]
LAB_0040205c: ;XREF[2,0]: 0040204c,00402057
.text:0040205c a110304200 MOV EAX,[.data:DAT_00423010] ;= 00000001h
.text:00402061 83c802 OR EAX,0x2
.text:00402064 c7053c394... MOV dword ptr [.data:DAT_0042393c],0x1
.text:0040206e a310304200 MOV [.data:DAT_00423010],EAX ;= 00000001h
.text:00402073 f7c100001000 TEST ECX,0x100000
.text:00402079 0f8493000000 JZ LAB_00402112
.text:0040207f 83c804 OR EAX,0x4
.text:00402082 c7053c394... MOV dword ptr [.data:DAT_0042393c],0x2
.text:0040208c a310304200 MOV [.data:DAT_00423010],EAX ;= 00000001h
.text:00402091 f7c100000008 TEST ECX,0x8000000
.text:00402097 7479 JZ LAB_00402112
.text:00402099 f7c100000010 TEST ECX,0x10000000
.text:0040209f 7471 JZ LAB_00402112
.text:004020a1 33c9 XOR ECX,ECX
.text:004020a3 0f01d0 XGETBV
.text:004020a6 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:004020a9 8955f0 MOV dword ptr [EBP + local_14+0x4],EDX
.text:004020ac 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
.text:004020af 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004020b2 6a06 PUSH 0x6
.text:004020b4 5e POP ESI
.text:004020b5 23c6 AND EAX,ESI
.text:004020b7 3bc6 CMP EAX,ESI
.text:004020b9 7557 JNZ LAB_00402112
.text:004020bb a110304200 MOV EAX,[.data:DAT_00423010] ;= 00000001h
.text:004020c0 83c808 OR EAX,0x8
.text:004020c3 c7053c394... MOV dword ptr [.data:DAT_0042393c],0x3
.text:004020cd a310304200 MOV [.data:DAT_00423010],EAX ;= 00000001h
.text:004020d2 f6c320 TEST BL,0x20
.text:004020d5 743b JZ LAB_00402112
.text:004020d7 83c820 OR EAX,0x20
.text:004020da c7053c394... MOV dword ptr [.data:DAT_0042393c],0x5
.text:004020e4 a310304200 MOV [.data:DAT_00423010],EAX ;= 00000001h
.text:004020e9 b8000003d0 MOV EAX,0xd0030000
.text:004020ee 23d8 AND EBX,EAX
.text:004020f0 3bd8 CMP EBX,EAX
.text:004020f2 751e JNZ LAB_00402112
.text:004020f4 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
.text:004020f7 bae0000000 MOV EDX,0xe0
.text:004020fc 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004020ff 23c2 AND EAX,EDX
.text:00402101 3bc2 CMP EAX,EDX
.text:00402103 750d JNZ LAB_00402112
.text:00402105 830d10304... OR dword ptr [.data:DAT_00423010],0x40 ;= 00000001h
.text:0040210c 89353c394200 MOV dword ptr [.data:DAT_0042393c],ESI
LAB_00402112: ;XREF[7,0]: 00402079,00402097,0040209f,004020b9
; 004020d5,004020f2,00402103
.text:00402112 5f POP EDI
.text:00402113 5e POP ESI
.text:00402114 5b POP EBX
LAB_00402115: ;XREF[1,0]: 00401f63
.text:00402115 33c0 XOR EAX,EAX
.text:00402117 c9 LEAVE
.text:00402118 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___scrt_is_ucrt_dll_in_use *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;bool ___scrt_is_ucrt_dll_in_use(void)
;XREF[3,0]: 004019be,00401a45,00401b46
.text:00402119 33c0 XOR EAX,EAX
.text:0040211b 390548454200 CMP dword ptr [.data:DAT_00424548],EAX ;= ??
.text:00402121 0f95c0 SETNZ AL
.text:00402124 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00402125(int param_1)
;param_1 int ECX
;XREF[39,0]: 0040227a,0040228d,0040284b,00402f47
; 00402fe6,0040573f,004060a8,00406a5a
; 00406bc7,00406c51,00406cdb,00406d65
; 00408f12,0040b3a4,0040e159,0041087c
; 00411254,004115c0,00411947,00411d9c
; 00412a39,00413e85,0041404a,00414133
; 00414265,00415d18,004171c6,004179ec
; 0041872d,00418add,00419ac8,00419bde
; 0041ad31,0041ad4e,0041ad6b,0041ad88
; 0041ada5,0041adc5,0041adcf
.text:00402125 3b0d14304200 CMP param_1,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040212b 7501 JNZ LAB_0040212e
.text:0040212d c3 RET
LAB_0040212e: ;XREF[1,0]: 0040212b
.text:0040212e e928000000 JMP FUN_0040215b ;undefined FUN_0040215b(void)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00402133(_EXCEPTION_POINTERS * param_1)
;param_1 _EXCEPTION_... 4 ;XREF[1,0]: 0040213e
;XREF[1,0]: 0040224e
.text:00402133 55 PUSH EBP
.text:00402134 8bec MOV EBP,ESP
.text:00402136 6a00 PUSH 0x0 ;LPTOP_LEVEL_EXCEPTION_FILTER lpTopLe...
.text:00402138 ff151cb04100 CALL dword ptr [->KERNEL32.DLL::SetUnhandl...;= 00022382
.text:0040213e ff7508 PUSH dword ptr [EBP + param_1+0x4] ;_EXCEPTION_POINTERS * ExceptionInfo ...
.text:00402141 ff1518b04100 CALL dword ptr [->KERNEL32.DLL::UnhandledE...;= 00022366
.text:00402147 68090400c0 PUSH 0xc0000409 ;UINT uExitCode for TerminateProcess
.text:0040214c ff152cb04100 CALL dword ptr [->KERNEL32.DLL::GetCurrent...;= 000223e2
.text:00402152 50 PUSH EAX ;HANDLE hProcess for TerminateProcess
.text:00402153 ff1530b04100 CALL dword ptr [->KERNEL32.DLL::TerminateP...;= 000223f6
.text:00402159 5d POP EBP
.text:0040215a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040215b(void)
;local_res0 undefined4 0 ;XREF[1,0]: 004021d1
;local_4 undefined4 -4 ;XREF[1,0]: 004021c9
;local_328 undefined4 -328 ;XREF[1,0]: 004021e1
;XREF[1,0]: 0040212e
.text:0040215b 55 PUSH EBP
.text:0040215c 8bec MOV EBP,ESP
.text:0040215e 81ec24030000 SUB ESP,0x324
.text:00402164 6a17 PUSH 0x17 ;DWORD ProcessorFeature for IsProcess...
.text:00402166 ff1524b04100 CALL dword ptr [->KERNEL32.DLL::IsProcesso...;= 000223b2
.text:0040216c 85c0 TEST EAX,EAX
.text:0040216e 7405 JZ LAB_00402175
.text:00402170 6a02 PUSH 0x2
.text:00402172 59 POP ECX
.text:00402173 cd29 INT 0x29
LAB_00402175: ;XREF[1,0]: 0040216e
.text:00402175 a3483a4200 MOV [.data:DAT_00423a48],EAX ;= ??
.text:0040217a 890d443a4200 MOV dword ptr [.data:DAT_00423a44],ECX ;= ??
.text:00402180 8915403a4200 MOV dword ptr [.data:DAT_00423a40],EDX ;= ??
.text:00402186 891d3c3a4200 MOV dword ptr [.data:DAT_00423a3c],EBX ;= ??
.text:0040218c 8935383a4200 MOV dword ptr [.data:DAT_00423a38],ESI ;= ??
.text:00402192 893d343a4200 MOV dword ptr [.data:DAT_00423a34],EDI ;= ??
.text:00402198 668c15603... MOV word ptr [.data:DAT_00423a60],SS ;= ??
.text:0040219f 668c0d543... MOV word ptr [.data:DAT_00423a54],CS ;= ??
.text:004021a6 668c1d303... MOV word ptr [.data:DAT_00423a30],DS ;= ??
.text:004021ad 668c052c3... MOV word ptr [.data:DAT_00423a2c],ES ;= ??
.text:004021b4 668c25283... MOV word ptr [.data:DAT_00423a28],FS ;= ??
.text:004021bb 668c2d243... MOV word ptr [.data:DAT_00423a24],GS ;= ??
.text:004021c2 9c PUSHFD
.text:004021c3 8f05583a4200 POP dword ptr [.data:DAT_00423a58] ;= ??
.text:004021c9 8b4500 MOV EAX,dword ptr [EBP]=>local_4
.text:004021cc a34c3a4200 MOV [.data:DAT_00423a4c],EAX ;= ??
.text:004021d1 8b4504 MOV EAX,dword ptr [EBP + local_res0+0x4]
.text:004021d4 a3503a4200 MOV [.data:DAT_00423a50],EAX ;= ??
.text:004021d9 8d4508 LEA EAX=>Stack[0x4],[EBP + 0x8]
.text:004021dc a35c3a4200 MOV [.data:DAT_00423a5c],EAX ;= ??
.text:004021e1 8b85dcfcffff MOV EAX,dword ptr [EBP + local_328+0x4]
.text:004021e7 c70598394... MOV dword ptr [.data:DAT_00423998],0x10001
.text:004021f1 a1503a4200 MOV EAX,[.data:DAT_00423a50] ;= ??
.text:004021f6 a354394200 MOV [.data:DAT_00423954],EAX
.text:004021fb c70548394... MOV dword ptr [.data...,0xc0000409
.text:00402205 c7054c394... MOV dword ptr [.data:DAT_0042394c],0x1
.text:0040220f c70558394... MOV dword ptr [.data:DAT_00423958],0x1
.text:00402219 6a04 PUSH 0x4
.text:0040221b 58 POP EAX
.text:0040221c 6bc000 IMUL EAX,EAX,0x0
.text:0040221f c7805c394... MOV dword ptr [EAX + .data:DAT_0042395c],0x2
.text:00402229 6a04 PUSH 0x4
.text:0040222b 58 POP EAX
.text:0040222c 6bc000 IMUL EAX,EAX,0x0
.text:0040222f 8b0d14304200 MOV ECX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:00402235 894c05f8 MOV dword ptr [EBP + EAX*0x1 + -0x8],ECX
.text:00402239 6a04 PUSH 0x4
.text:0040223b 58 POP EAX
.text:0040223c c1e000 SHL EAX,0x0
.text:0040223f 8b0d18304200 MOV ECX,dword ptr [.data:DAT_00423018] ;= 44BF19B1h
.text:00402245 894c05f8 MOV dword ptr [EBP + EAX*0x1 + -0x8],ECX
.text:00402249 6870b14100 PUSH .rdata:PTR_DAT_0041b170 ;= 00423948
.text:0040224e e8e0feffff CALL FUN_00402133 ;undefined FUN_00402133(_EXCEPTION_PO...
.text:00402253 c9 LEAVE
.text:00402254 c3 RET
.text:00402255 ccccccccc... align align(11)
;************************************************************************************************
;* Library Function - Single Match *
;* _ValidateLocalCookies *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined _ValidateLocalCookies(int * param_1, int param_2)
;param_1 int * 4 ;XREF[1,0]: 00402264
;param_2 int 8 ;XREF[1,0]: 00402268
;XREF[3,0]: 004022d7,00402368,004023e8
.text:00402260 55 PUSH EBP
.text:00402261 8bec MOV EBP,ESP
.text:00402263 56 PUSH ESI
.text:00402264 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00402267 57 PUSH EDI
.text:00402268 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:0040226b 8b06 MOV EAX,dword ptr [ESI]
.text:0040226d 83f8fe CMP EAX,-0x2
.text:00402270 740d JZ LAB_0040227f
.text:00402272 8b4e04 MOV ECX,dword ptr [ESI + 0x4]
.text:00402275 03cf ADD ECX,EDI
.text:00402277 330c38 XOR ECX,dword ptr [EAX + EDI*0x1]
.text:0040227a e8a6feffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
LAB_0040227f: ;XREF[1,0]: 00402270
.text:0040227f 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00402282 8b4e0c MOV ECX,dword ptr [ESI + 0xc]
.text:00402285 03cf ADD ECX,EDI
.text:00402287 330c38 XOR ECX,dword ptr [EAX + EDI*0x1]
.text:0040228a 5f POP EDI
.text:0040228b 5e POP ESI
.text:0040228c 5d POP EBP
.text:0040228d e993feffff JMP FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00402292 ccccccccc... align align(14)
;************************************************************************************************
;* Library Function - Single Match *
;* __except_handler4 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 __except_handler4(PEXCEPTION_RECORD param_1, PVOID param_2, int param_3)
;param_1 PEXCEPTION_... 4 ;XREF[5,0]: 004022a7,004022e4,0040237a,004023a9,004023ba
;param_2 PVOID 8 ;XREF[4,0]: 004022c0,004023bd,004023c7,004023de
;param_3 int c ;XREF[2,0]: 004022dc,004022f6
;local_5 undefined1 -5 ;XREF[3,0]: 004022ac,00402329,00402334
;local_c undefined4 -c ;XREF[4,0]: 004022d4,00402307,00402365,004023e2
;local_10 undefined4 -10 ;XREF[3,0]: 004022b2,00402344,00402370
;local_14 undefined4 -14 ;XREF[2,0]: 004022d1,004023b4
;local_18 undefined4 -18 ;XREF[2,0]: 00402319,004023ed
;local_1c undefined4 -1c ;XREF[1,0]: 004022f9
;local_20 undefined4 -20 ;XREF[2,0]: 004022f3,004022fc
;XREF[3,0]: 00401f00,0041a4ba,0042159c
.text:004022a0 55 PUSH EBP
.text:004022a1 8bec MOV EBP,ESP
.text:004022a3 83ec1c SUB ESP,0x1c
.text:004022a6 53 PUSH EBX
.text:004022a7 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:004022aa 56 PUSH ESI
.text:004022ab 57 PUSH EDI
.text:004022ac c645ff00 MOV byte ptr [EBP + local_5+0x4],0x0
.text:004022b0 ff33 PUSH dword ptr [EBX]
.text:004022b2 c745f4010... MOV dword ptr [EBP + local_10+0x4],0x1
.text:004022b9 e8ed890100 CALL __filter_x86_sse2_floating_point_exce...;int __filter_x86_sse2_floating_point...
.text:004022be 8903 MOV dword ptr [EBX],EAX
.text:004022c0 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:004022c3 8b4308 MOV EAX,dword ptr [EBX + 0x8]
.text:004022c6 8d7310 LEA ESI,[EBX + 0x10]
.text:004022c9 330514304200 XOR EAX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:004022cf 56 PUSH ESI
.text:004022d0 50 PUSH EAX
.text:004022d1 8975f0 MOV dword ptr [EBP + local_14+0x4],ESI
.text:004022d4 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:004022d7 e884ffffff CALL _ValidateLocalCookies ;undefined _ValidateLocalCookies(int ...
.text:004022dc ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004022df e813060000 CALL ___except_validate_context_record ;undefined ___except_validate_context...
.text:004022e4 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004022e7 83c410 ADD ESP,0x10
.text:004022ea 8b7b0c MOV EDI,dword ptr [EBX + 0xc]
.text:004022ed f6400466 TEST byte ptr [EAX + 0x4],0x66
.text:004022f1 755a JNZ LAB_0040234d
.text:004022f3 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:004022f6 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:004022f9 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:004022fc 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
.text:004022ff 8943fc MOV dword ptr [EBX + -0x4],EAX
.text:00402302 83fffe CMP EDI,-0x2
.text:00402305 7469 JZ LAB_00402370
LAB_00402307: ;XREF[1,0]: 0040233c
.text:00402307 8b4df8 MOV ECX,dword ptr [EBP + local_c+0x4]
.text:0040230a 8d4702 LEA EAX,[EDI + 0x2]
.text:0040230d 8d0447 LEA EAX,[EDI + EAX*0x2]
.text:00402310 8b1c81 MOV EBX,dword ptr [ECX + EAX*0x4]
.text:00402313 8d0481 LEA EAX,[ECX + EAX*0x4]
.text:00402316 8b4804 MOV ECX,dword ptr [EAX + 0x4]
.text:00402319 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0040231c 85c9 TEST ECX,ECX
.text:0040231e 7414 JZ LAB_00402334
.text:00402320 8bd6 MOV EDX,ESI
.text:00402322 e859050000 CALL @_EH4_CallFilterFunc@8 ;undefined @_EH4_CallFilterFunc@8(und...
.text:00402327 b101 MOV CL,0x1
.text:00402329 884dff MOV byte ptr [EBP + local_5+0x4],CL
.text:0040232c 85c0 TEST EAX,EAX
.text:0040232e 7814 JS LAB_00402344
.text:00402330 7f48 JG LAB_0040237a
.text:00402332 eb03 JMP LAB_00402337
LAB_00402334: ;XREF[1,0]: 0040231e
.text:00402334 8a4dff MOV CL,byte ptr [EBP + local_5+0x4]
LAB_00402337: ;XREF[1,0]: 00402332
.text:00402337 8bfb MOV EDI,EBX
.text:00402339 83fbfe CMP EBX,-0x2
.text:0040233c 75c9 JNZ LAB_00402307
.text:0040233e 84c9 TEST CL,CL
.text:00402340 742e JZ LAB_00402370
.text:00402342 eb20 JMP LAB_00402364
LAB_00402344: ;XREF[1,0]: 0040232e
.text:00402344 c745f4000... MOV dword ptr [EBP + local_10+0x4],0x0
.text:0040234b eb17 JMP LAB_00402364
LAB_0040234d: ;XREF[1,0]: 004022f1
.text:0040234d 83fffe CMP EDI,-0x2
.text:00402350 741e JZ LAB_00402370
.text:00402352 6814304200 PUSH .data:DAT_00423014 ;= BB40E64Eh
.text:00402357 56 PUSH ESI
.text:00402358 bafeffffff MOV EDX,0xfffffffe
.text:0040235d 8bcb MOV ECX,EBX
.text:0040235f e87c050000 CALL @_EH4_LocalUnwind@16 ;undefined @_EH4_LocalUnwind@16(int p...
LAB_00402364: ;XREF[2,0]: 00402342,0040234b
.text:00402364 56 PUSH ESI
.text:00402365 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:00402368 e8f3feffff CALL _ValidateLocalCookies ;undefined _ValidateLocalCookies(int ...
.text:0040236d 83c408 ADD ESP,0x8
LAB_00402370: ;XREF[3,0]: 00402305,00402340,00402350
.text:00402370 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00402373 5f POP EDI
.text:00402374 5e POP ESI
.text:00402375 5b POP EBX
.text:00402376 8be5 MOV ESP,EBP
.text:00402378 5d POP EBP
.text:00402379 c3 RET
LAB_0040237a: ;XREF[1,0]: 00402330
.text:0040237a 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040237d 813863736de0 CMP dword ptr [EAX],0xe06d7363
.text:00402383 7538 JNZ LAB_004023bd
.text:00402385 833d78b14... CMP dword ptr [->___...,0x0 ;= 00402470
.text:0040238c 742f JZ LAB_004023bd
.text:0040238e 6878b14100 PUSH .rdata:PTR____DestructExceptionObject...;= 00402470
.text:00402393 e818810100 CALL __IsNonwritableInCurrentImage ;BOOL __IsNonwritableInCurrentImage(P...
.text:00402398 83c404 ADD ESP,0x4
.text:0040239b 85c0 TEST EAX,EAX
.text:0040239d 741b JZ LAB_004023ba
.text:0040239f 8b3578b14100 MOV ESI,dword ptr [->___DestructException...;= 00402470
.text:004023a5 8bce MOV ECX,ESI
.text:004023a7 6a01 PUSH 0x1
.text:004023a9 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004023ac ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:004023b2 ffd6 CALL ESI=>___DestructExceptionObject ;undefined ___DestructExceptionObject...
.text:004023b4 8b75f0 MOV ESI,dword ptr [EBP + local_14+0x4]
.text:004023b7 83c408 ADD ESP,0x8
LAB_004023ba: ;XREF[1,0]: 0040239d
.text:004023ba 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
LAB_004023bd: ;XREF[2,0]: 00402383,0040238c
.text:004023bd 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:004023c0 8bd0 MOV EDX,EAX
.text:004023c2 e8f9040000 CALL @_EH4_GlobalUnwind2@8 ;undefined @_EH4_GlobalUnwind2@8(PVOI...
.text:004023c7 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004023ca 39780c CMP dword ptr [EAX + 0xc],EDI
.text:004023cd 7412 JZ LAB_004023e1
.text:004023cf 6814304200 PUSH .data:DAT_00423014 ;= BB40E64Eh
.text:004023d4 56 PUSH ESI
.text:004023d5 8bd7 MOV EDX,EDI
.text:004023d7 8bc8 MOV ECX,EAX
.text:004023d9 e802050000 CALL @_EH4_LocalUnwind@16 ;undefined @_EH4_LocalUnwind@16(int p...
.text:004023de 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
LAB_004023e1: ;XREF[1,0]: 004023cd
.text:004023e1 56 PUSH ESI
.text:004023e2 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:004023e5 89580c MOV dword ptr [EAX + 0xc],EBX
.text:004023e8 e873feffff CALL _ValidateLocalCookies ;undefined _ValidateLocalCookies(int ...
.text:004023ed 8b4dec MOV ECX,dword ptr [EBP + local_18+0x4]
.text:004023f0 83c408 ADD ESP,0x8
.text:004023f3 8bd6 MOV EDX,ESI
.text:004023f5 8b4908 MOV ECX,dword ptr [ECX + 0x8]
.text:004023f8 e8a3040000 CALL @_EH4_TransferToHandler@8 ;undefined @_EH4_TransferToHandler@8(...
.text:004023fd cc INT3
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_initialize *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___vcrt_initialize(void)
;XREF[1,0]: 00401a04
.text:004023fe e82e060000 CALL ___vcrt_initialize_locks ;undefined4 ___vcrt_initialize_locks(...
.text:00402403 84c0 TEST AL,AL
.text:00402405 7503 JNZ LAB_0040240a
LAB_00402407: ;XREF[1,0]: 00402418
.text:00402407 32c0 XOR AL,AL
.text:00402409 c3 RET
LAB_0040240a: ;XREF[1,0]: 00402405
.text:0040240a e8d4050000 CALL ___vcrt_initialize_ptd ;undefined4 ___vcrt_initialize_ptd(void)
.text:0040240f 84c0 TEST AL,AL
.text:00402411 7507 JNZ LAB_0040241a
.text:00402413 e855060000 CALL ___vcrt_uninitialize_locks ;undefined4 ___vcrt_uninitialize_lock...
.text:00402418 ebed JMP LAB_00402407
LAB_0040241a: ;XREF[1,0]: 00402411
.text:0040241a b001 MOV AL,0x1
.text:0040241c c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_uninitialize *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___vcrt_uninitialize(char param_1)
;param_1 char 4 ;XREF[1,0]: 00402420
;XREF[3,0]: 00401a1c,00401b7d,0040d976
.text:0040241d 55 PUSH EBP
.text:0040241e 8bec MOV EBP,ESP
.text:00402420 807d0800 CMP byte ptr [EBP + param_1+0x4],0x0
.text:00402424 750a JNZ LAB_00402430
.text:00402426 e8eb050000 CALL ___vcrt_uninitialize_ptd ;undefined4 ___vcrt_uninitialize_ptd(...
.text:0040242b e83d060000 CALL ___vcrt_uninitialize_locks ;undefined4 ___vcrt_uninitialize_lock...
LAB_00402430: ;XREF[1,0]: 00402424
.text:00402430 b001 MOV AL,0x1
.text:00402432 5d POP EBP
.text:00402433 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___std_type_info_compare *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;uint ___std_type_info_compare(int param_1, int param_2)
;param_1 int 4 ;XREF[1,0]: 00402437
;param_2 int 8 ;XREF[1,0]: 0040243a
;XREF[1,0]: 00403f6d
.text:00402434 55 PUSH EBP
.text:00402435 8bec MOV EBP,ESP
.text:00402437 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040243a 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040243d 3bc1 CMP EAX,ECX
.text:0040243f 7504 JNZ LAB_00402445
LAB_00402441: ;XREF[2,0]: 00402453,00402467
.text:00402441 33c0 XOR EAX,EAX
.text:00402443 5d POP EBP
.text:00402444 c3 RET
LAB_00402445: ;XREF[1,0]: 0040243f
.text:00402445 83c105 ADD ECX,0x5
.text:00402448 83c005 ADD EAX,0x5
LAB_0040244b: ;XREF[1,0]: 00402465
.text:0040244b 8a10 MOV DL,byte ptr [EAX]
.text:0040244d 3a11 CMP DL,byte ptr [ECX]
.text:0040244f 7518 JNZ LAB_00402469
.text:00402451 84d2 TEST DL,DL
.text:00402453 74ec JZ LAB_00402441
.text:00402455 8a5001 MOV DL,byte ptr [EAX + 0x1]
.text:00402458 3a5101 CMP DL,byte ptr [ECX + 0x1]
.text:0040245b 750c JNZ LAB_00402469
.text:0040245d 83c002 ADD EAX,0x2
.text:00402460 83c102 ADD ECX,0x2
.text:00402463 84d2 TEST DL,DL
.text:00402465 75e4 JNZ LAB_0040244b
.text:00402467 ebd8 JMP LAB_00402441
LAB_00402469: ;XREF[2,0]: 0040244f,0040245b
.text:00402469 1bc0 SBB EAX,EAX
.text:0040246b 83c801 OR EAX,0x1
.text:0040246e 5d POP EBP
.text:0040246f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___DestructExceptionObject *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___DestructExceptionObject(int * param_1)
;param_1 int * 4 ;XREF[1,0]: 0040247c
;local_8 undefined4 -8 ;XREF[2,0]: 004024ba,004024c7
;local_14 undefined4 -14 ;XREF[1,0]: 00402501
;XREF[5,0]: 004023b2,00403b2c,00403bc1,00404172
; 0041b178
.text:00402470 6a08 PUSH 0x8
.text:00402472 68801b4200 PUSH .rdata:DAT_00421b80 ;= FEh
.text:00402477 e884faffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040247c 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040247f 85c0 TEST EAX,EAX
.text:00402481 747e JZ LAB_00402501
.text:00402483 813863736de0 CMP dword ptr [EAX],0xe06d7363
.text:00402489 7576 JNZ LAB_00402501
.text:0040248b 83781003 CMP dword ptr [EAX + 0x10],0x3
.text:0040248f 7570 JNZ LAB_00402501
.text:00402491 817814200... CMP dword ptr [EAX + 0x14],0x19930520
.text:00402498 7412 JZ LAB_004024ac
.text:0040249a 817814210... CMP dword ptr [EAX + 0x14],0x19930521
.text:004024a1 7409 JZ LAB_004024ac
.text:004024a3 817814220... CMP dword ptr [EAX + 0x14],0x19930522
.text:004024aa 7555 JNZ LAB_00402501
LAB_004024ac: ;XREF[2,0]: 00402498,004024a1
.text:004024ac 8b481c MOV ECX,dword ptr [EAX + 0x1c]
.text:004024af 85c9 TEST ECX,ECX
.text:004024b1 744e JZ LAB_00402501
.text:004024b3 8b5104 MOV EDX,dword ptr [ECX + 0x4]
.text:004024b6 85d2 TEST EDX,EDX
.text:004024b8 7429 JZ LAB_004024e3
.text:004024ba 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:004024be 52 PUSH EDX
.text:004024bf ff7018 PUSH dword ptr [EAX + 0x18]
.text:004024c2 e84a000000 CALL _CallMemberFunction0 ;void _CallMemberFunction0(void * par...
.text:004024c7 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:004024ce eb31 JMP LAB_00402501
.text:004024d0 ff ?? FFh
.text:004024d1 75 ?? 75h u
.text:004024d2 0c ?? 0Ch
.text:004024d3 ff ?? FFh
.text:004024d4 75 ?? 75h u
.text:004024d5 ec ?? ECh
.text:004024d6 e8 ?? E8h
.text:004024d7 43 ?? 43h C
.text:004024d8 00 ?? 00h
.text:004024d9 00 ?? 00h
.text:004024da 00 ?? 00h
.text:004024db 59 ?? 59h Y
.text:004024dc 59 ?? 59h Y
.text:004024dd c3 ?? C3h
.text:004024de 8b ?? 8Bh
.text:004024df 65 ?? 65h e
.text:004024e0 e8 ?? E8h
.text:004024e1 eb ?? EBh
.text:004024e2 e4 ?? E4h
LAB_004024e3: ;XREF[1,0]: 004024b8
.text:004024e3 f60110 TEST byte ptr [ECX],0x10
.text:004024e6 7419 JZ LAB_00402501
.text:004024e8 8b4018 MOV EAX,dword ptr [EAX + 0x18]
.text:004024eb 8b08 MOV ECX,dword ptr [EAX]
.text:004024ed 85c9 TEST ECX,ECX
.text:004024ef 7410 JZ LAB_00402501
.text:004024f1 8b01 MOV EAX,dword ptr [ECX]
.text:004024f3 51 PUSH ECX
.text:004024f4 8b7008 MOV ESI,dword ptr [EAX + 0x8]
.text:004024f7 8bce MOV ECX,ESI
.text:004024f9 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:004024ff ffd6 CALL ESI
LAB_00402501: ;XREF[8,0]: 00402481,00402489,0040248f,004024aa
; 004024b1,004024ce,004024e6,004024ef
.text:00402501 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00402504 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:0040250b 59 POP ECX
.text:0040250c 5f POP EDI
.text:0040250d 5e POP ESI
.text:0040250e 5b POP EBX
.text:0040250f c9 LEAVE
.text:00402510 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void __stdcall _CallMemberFunction0(void * const,void * const) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;void _CallMemberFunction0(void * param_1, void * param_2)
;param_1 void * 4 ;XREF[1,0]: 00402514
;param_2 void * 8 ;XREF[1,0]: 00402517
;XREF[1,0]: 004024c2
.text:00402511 55 PUSH EBP
.text:00402512 8bec MOV EBP,ESP
.text:00402514 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00402517 ff550c CALL dword ptr [EBP + param_2+0x4]
.text:0040251a 5d POP EBP
.text:0040251b c20800 RET 0x8
;************************************************************************************************
;* Library Function - Single Match *
;* unsigned long __cdecl _FilterSetCurrentException(struct _EXCEPTION_POINTERS *,unsigned char)*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;ulong _FilterSetCurrentException(_EXCEPTION_POINTERS * param_1, uchar param_2)
;param_1 _EXCEPTION_... 4 ;XREF[1,0]: 00402529
;param_2 uchar 8 ;XREF[1,0]: 00402521
.text:0040251e 55 PUSH EBP
.text:0040251f 8bec MOV EBP,ESP
.text:00402521 807d0c00 CMP byte ptr [EBP + param_2+0x4],0x0
.text:00402525 7432 JZ LAB_00402559
.text:00402527 56 PUSH ESI
.text:00402528 57 PUSH EDI
.text:00402529 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0040252c 8b37 MOV ESI,dword ptr [EDI]
.text:0040252e 813e63736de0 CMP dword ptr [ESI],0xe06d7363
.text:00402534 7521 JNZ LAB_00402557
.text:00402536 837e1003 CMP dword ptr [ESI + 0x10],0x3
.text:0040253a 751b JNZ LAB_00402557
.text:0040253c 817e14200... CMP dword ptr [ESI + 0x14],0x19930520
.text:00402543 7418 JZ LAB_0040255d
.text:00402545 817e14210... CMP dword ptr [ESI + 0x14],0x19930521
.text:0040254c 740f JZ LAB_0040255d
.text:0040254e 817e14220... CMP dword ptr [ESI + 0x14],0x19930522
.text:00402555 7406 JZ LAB_0040255d
LAB_00402557: ;XREF[2,0]: 00402534,0040253a
.text:00402557 5f POP EDI
.text:00402558 5e POP ESI
LAB_00402559: ;XREF[1,0]: 00402525
.text:00402559 33c0 XOR EAX,EAX
.text:0040255b 5d POP EBP
.text:0040255c c3 RET
LAB_0040255d: ;XREF[3,0]: 00402543,0040254c,00402555
.text:0040255d e8e1030000 CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00402562 897010 MOV dword ptr [EAX + 0x10],ESI
.text:00402565 8b7704 MOV ESI,dword ptr [EDI + 0x4]
.text:00402568 e8d6030000 CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:0040256d 897014 MOV dword ptr [EAX + 0x14],ESI
.text:00402570 e83eb50000 CALL _terminate ;undefined _terminate(void)
.text:00402575 cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* __IsExceptionObjectToBeDestroyed *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined4 __IsExceptionObjectToBeDestroyed(int param_1)
;param_1 int 4 ;XREF[1,0]: 00402585
;XREF[1,0]: 0040415c
.text:00402576 55 PUSH EBP
.text:00402577 8bec MOV EBP,ESP
.text:00402579 e8c5030000 CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:0040257e 8b4024 MOV EAX,dword ptr [EAX + 0x24]
.text:00402581 85c0 TEST EAX,EAX
.text:00402583 740e JZ LAB_00402593
.text:00402585 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
LAB_00402588: ;XREF[1,0]: 00402591
.text:00402588 3908 CMP dword ptr [EAX],ECX
.text:0040258a 740c JZ LAB_00402598
.text:0040258c 8b4004 MOV EAX,dword ptr [EAX + 0x4]
.text:0040258f 85c0 TEST EAX,EAX
.text:00402591 75f5 JNZ LAB_00402588
LAB_00402593: ;XREF[1,0]: 00402583
.text:00402593 33c0 XOR EAX,EAX
.text:00402595 40 INC EAX
.text:00402596 5d POP EBP
.text:00402597 c3 RET
LAB_00402598: ;XREF[1,0]: 0040258a
.text:00402598 33c0 XOR EAX,EAX
.text:0040259a 5d POP EBP
.text:0040259b c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___AdjustPointer *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int ___AdjustPointer(int param_1, int * param_2)
;param_1 int 4 ;XREF[1,0]: 004025a2
;param_2 int * 8 ;XREF[1,0]: 0040259f
;XREF[4,0]: 004036eb,0040370e,004037aa,004037c6
.text:0040259c 55 PUSH EBP
.text:0040259d 8bec MOV EBP,ESP
.text:0040259f 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:004025a2 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:004025a5 56 PUSH ESI
.text:004025a6 8b01 MOV EAX,dword ptr [ECX]
.text:004025a8 8b7104 MOV ESI,dword ptr [ECX + 0x4]
.text:004025ab 03c2 ADD EAX,EDX
.text:004025ad 85f6 TEST ESI,ESI
.text:004025af 780d JS LAB_004025be
.text:004025b1 8b4908 MOV ECX,dword ptr [ECX + 0x8]
.text:004025b4 8b1416 MOV EDX,dword ptr [ESI + EDX*0x1]
.text:004025b7 8b0c0a MOV ECX,dword ptr [EDX + ECX*0x1]
.text:004025ba 03ce ADD ECX,ESI
.text:004025bc 03c1 ADD EAX,ECX
LAB_004025be: ;XREF[1,0]: 004025af
.text:004025be 5e POP ESI
.text:004025bf 5d POP EBP
.text:004025c0 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___FrameUnwindFilter *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___FrameUnwindFilter(int * * param_1)
;param_1 int * * 4 ;XREF[1,0]: 004025c5
.text:004025c1 55 PUSH EBP
.text:004025c2 8bec MOV EBP,ESP
.text:004025c4 56 PUSH ESI
.text:004025c5 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004025c8 57 PUSH EDI
.text:004025c9 8b3e MOV EDI,dword ptr [ESI]
.text:004025cb 813f524343e0 CMP dword ptr [EDI],0xe0434352
.text:004025d1 7412 JZ LAB_004025e5
.text:004025d3 813f4d4f43e0 CMP dword ptr [EDI],0xe0434f4d
.text:004025d9 740a JZ LAB_004025e5
.text:004025db 813f63736de0 CMP dword ptr [EDI],0xe06d7363
.text:004025e1 741b JZ LAB_004025fe
.text:004025e3 eb13 JMP LAB_004025f8
LAB_004025e5: ;XREF[2,0]: 004025d1,004025d9
.text:004025e5 e859030000 CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:004025ea 83781800 CMP dword ptr [EAX + 0x18],0x0
.text:004025ee 7e08 JLE LAB_004025f8
.text:004025f0 e84e030000 CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:004025f5 ff4818 DEC dword ptr [EAX + 0x18]
LAB_004025f8: ;XREF[2,0]: 004025e3,004025ee
.text:004025f8 5f POP EDI
.text:004025f9 33c0 XOR EAX,EAX
.text:004025fb 5e POP ESI
.text:004025fc 5d POP EBP
.text:004025fd c3 RET
LAB_004025fe: ;XREF[1,0]: 004025e1
.text:004025fe e840030000 CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00402603 897810 MOV dword ptr [EAX + 0x10],EDI
.text:00402606 8b7604 MOV ESI,dword ptr [ESI + 0x4]
.text:00402609 e835030000 CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:0040260e 897014 MOV dword ptr [EAX + 0x14],ESI
.text:00402611 e89db40000 CALL _terminate ;undefined _terminate(void)
.text:00402616 cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00402617(void)
;XREF[1,0]: 00401e84
.text:00402617 e827030000 CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:0040261c 83c010 ADD EAX,0x10
.text:0040261f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00402620(void)
;XREF[1,0]: 00401e8e
.text:00402620 e81e030000 CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00402625 83c014 ADD EAX,0x14
.text:00402628 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined Unwind@00402629(void)
;XREF[4,0]: 00421d00,00421de8,00421df0,00421e38
.text:00402629 e985b40000 JMP _terminate
.text:0040262e cccc align align(2)
;************************************************************************************************
;* Library Function - Single Match *
;* _memset *
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;void * _memset(void * _Dst, int _Val, size_t _Size)
;_Dst void * 4 ;XREF[4,0]: 0040263b,0040266e,0040272e,00402783
;_Val int 8 ;XREF[1,0]: 00402634
;_Size size_t c ;XREF[1,0]: 00402630
;local_res0 undefined1 0 ;XREF[3,0]: 004026a1,004026a8,00402763
;XREF[24,0]: 00401105,004016a5,00401d09,00401d93
; 0040983a,00409dbf,0040a497,0040a9c5
; 0040ca71,0040e057,0040e06a,0040f4d0
; 0040f94b,0040fdd1,0040fe49,0041175d
; 00411c4f,00411ce1,004129e3,00412e58
; 00414e5a,00414f44,00414feb,00415507
.text:00402630 8b4c240c MOV ECX,dword ptr [ESP + _Size]
.text:00402634 0fb6442408 MOVZX EAX,byte ptr [ESP + _Val]
.text:00402639 8bd7 MOV EDX,EDI
.text:0040263b 8b7c2404 MOV EDI,dword ptr [ESP + _Dst]
.text:0040263f 85c9 TEST ECX,ECX
.text:00402641 0f843c010000 JZ LAB_00402783
.text:00402647 69c001010101 IMUL EAX,EAX,0x1010101
.text:0040264d 83f920 CMP ECX,0x20
.text:00402650 0f86df000000 JBE LAB_00402735
.text:00402656 81f980000000 CMP ECX,0x80
.text:0040265c 0f828b000000 JC LAB_004026ed
.text:00402662 0fba25403... BT dword ptr [.data:DAT_00423940],0x1
.text:0040266a 7309 JNC LAB_00402675
.text:0040266c f3aa STOSB.REP ES:EDI
.text:0040266e 8b442404 MOV EAX,dword ptr [ESP + _Dst]
.text:00402672 8bfa MOV EDI,EDX
.text:00402674 c3 RET
LAB_00402675: ;XREF[1,0]: 0040266a
.text:00402675 0fba25103... BT dword ptr [.data:DAT_00423010],0x1 ;= 00000001h
.text:0040267d 0f83b2000000 JNC LAB_00402735
.text:00402683 660f6ec0 MOVD XMM0,EAX
.text:00402687 660f70c000 PSHUFD XMM0,XMM0,0x0
.text:0040268c 03cf ADD ECX,EDI
.text:0040268e 0f1107 MOVUPS xmmword ptr [EDI],XMM0
.text:00402691 83c710 ADD EDI,0x10
.text:00402694 83e7f0 AND EDI,0xfffffff0
.text:00402697 2bcf SUB ECX,EDI
.text:00402699 81f980000000 CMP ECX,0x80
.text:0040269f 764c JBE LAB_004026ed
.text:004026a1 8da424000... LEA ESP=>local_res0,[ESP]
.text:004026a8 8da424000... LEA ESP=>local_res0,[ESP]
.text:004026af 90 NOP
LAB_004026b0: ;XREF[1,0]: 004026e9
.text:004026b0 660f7f07 MOVDQA xmmword ptr [EDI],XMM0
.text:004026b4 660f7f4710 MOVDQA xmmword ptr [EDI + 0x10],XMM0
.text:004026b9 660f7f4720 MOVDQA xmmword ptr [EDI + 0x20],XMM0
.text:004026be 660f7f4730 MOVDQA xmmword ptr [EDI + 0x30],XMM0
.text:004026c3 660f7f4740 MOVDQA xmmword ptr [EDI + 0x40],XMM0
.text:004026c8 660f7f4750 MOVDQA xmmword ptr [EDI + 0x50],XMM0
.text:004026cd 660f7f4760 MOVDQA xmmword ptr [EDI + 0x60],XMM0
.text:004026d2 660f7f4770 MOVDQA xmmword ptr [EDI + 0x70],XMM0
.text:004026d7 8dbf80000000 LEA EDI,[EDI + 0x80]
.text:004026dd 81e980000000 SUB ECX,0x80
.text:004026e3 f7c100ffffff TEST ECX,0xffffff00
.text:004026e9 75c5 JNZ LAB_004026b0
.text:004026eb eb13 JMP LAB_00402700
LAB_004026ed: ;XREF[2,0]: 0040265c,0040269f
.text:004026ed 0fba25103... BT dword ptr [.data:DAT_00423010],0x1 ;= 00000001h
.text:004026f5 733e JNC LAB_00402735
.text:004026f7 660f6ec0 MOVD XMM0,EAX
.text:004026fb 660f70c000 PSHUFD XMM0,XMM0,0x0
LAB_00402700: ;XREF[1,0]: 004026eb
.text:00402700 83f920 CMP ECX,0x20
.text:00402703 721c JC LAB_00402721
LAB_00402705: ;XREF[1,0]: 00402717
.text:00402705 f30f7f07 MOVDQU xmmword ptr [EDI],XMM0
.text:00402709 f30f7f4710 MOVDQU xmmword ptr [EDI + 0x10],XMM0
.text:0040270e 83c720 ADD EDI,0x20
.text:00402711 83e920 SUB ECX,0x20
.text:00402714 83f920 CMP ECX,0x20
.text:00402717 73ec JNC LAB_00402705
.text:00402719 f7c11f000000 TEST ECX,0x1f
.text:0040271f 7462 JZ LAB_00402783
LAB_00402721: ;XREF[1,0]: 00402703
.text:00402721 8d7c0fe0 LEA EDI,[EDI + ECX*0x1 + -0x20]
.text:00402725 f30f7f07 MOVDQU xmmword ptr [EDI],XMM0
.text:00402729 f30f7f4710 MOVDQU xmmword ptr [EDI + 0x10],XMM0
.text:0040272e 8b442404 MOV EAX,dword ptr [ESP + _Dst]
.text:00402732 8bfa MOV EDI,EDX
.text:00402734 c3 RET
LAB_00402735: ;XREF[3,0]: 00402650,0040267d,004026f5
.text:00402735 f7c103000000 TEST ECX,0x3
.text:0040273b 740e JZ LAB_0040274b
LAB_0040273d: ;XREF[1,0]: 00402749
.text:0040273d 8807 MOV byte ptr [EDI],AL
.text:0040273f 47 INC EDI
.text:00402740 83e901 SUB ECX,0x1
.text:00402743 f7c103000000 TEST ECX,0x3
.text:00402749 75f2 JNZ LAB_0040273d
LAB_0040274b: ;XREF[1,0]: 0040273b
.text:0040274b f7c104000000 TEST ECX,0x4
.text:00402751 7408 JZ LAB_0040275b
.text:00402753 8907 MOV dword ptr [EDI],EAX
.text:00402755 83c704 ADD EDI,0x4
.text:00402758 83e904 SUB ECX,0x4
LAB_0040275b: ;XREF[1,0]: 00402751
.text:0040275b f7c1f8ffffff TEST ECX,0xfffffff8
.text:00402761 7420 JZ LAB_00402783
.text:00402763 8da424000... LEA ESP=>local_res0,[ESP]
.text:0040276a 8d9b00000000 LEA EBX,[EBX]
LAB_00402770: ;XREF[1,0]: 00402781
.text:00402770 8907 MOV dword ptr [EDI],EAX
.text:00402772 894704 MOV dword ptr [EDI + 0x4],EAX
.text:00402775 83c708 ADD EDI,0x8
.text:00402778 83e908 SUB ECX,0x8
.text:0040277b f7c1f8ffffff TEST ECX,0xfffffff8
.text:00402781 75ed JNZ LAB_00402770
LAB_00402783: ;XREF[3,0]: 00402641,0040271f,00402761
.text:00402783 8b442404 MOV EAX,dword ptr [ESP + _Dst]
.text:00402787 8bfa MOV EDI,EDX
.text:00402789 c3 RET
.text:0040278a cccccccccccc align align(6)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00402790(uint * param_1, int param_2, uint param_3)
;param_1 uint * 4 ;XREF[2,0]: 00402793,004027c9
;param_2 int 8 ;XREF[2,0]: 00402797,004027c2
;param_3 uint c ;XREF[2,0]: 0040279b,004027db
;local_20 undefined4 -20 ;XREF[1,0]: 004027b7
;XREF[3,0]: 0040285d,004028eb,0040cbeb
.text:00402790 53 PUSH EBX
.text:00402791 56 PUSH ESI
.text:00402792 57 PUSH EDI
.text:00402793 8b542410 MOV EDX,dword ptr [ESP + param_1+0xc]
.text:00402797 8b442414 MOV EAX,dword ptr [ESP + param_2+0xc]
.text:0040279b 8b4c2418 MOV ECX,dword ptr [ESP + param_3+0xc]
.text:0040279f 55 PUSH EBP
.text:004027a0 52 PUSH EDX
.text:004027a1 50 PUSH EAX
.text:004027a2 51 PUSH ECX
.text:004027a3 51 PUSH ECX
.text:004027a4 6830284000 PUSH LAB_00402830
.text:004027a9 64ff35000... PUSH dword ptr FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:004027b0 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:004027b5 33c4 XOR EAX,ESP
.text:004027b7 89442408 MOV dword ptr [ESP + local_20+0x28],EAX
.text:004027bb 648925000... MOV dword ptr FS:[0x...,ESP ;= 00000000
LAB_004027c2: ;XREF[2,0]: 004027fc,0040281c
.text:004027c2 8b442430 MOV EAX,dword ptr [ESP + param_2+0x28]
.text:004027c6 8b5808 MOV EBX,dword ptr [EAX + 0x8]
.text:004027c9 8b4c242c MOV ECX,dword ptr [ESP + param_1+0x28]
.text:004027cd 3319 XOR EBX,dword ptr [ECX]
.text:004027cf 8b700c MOV ESI,dword ptr [EAX + 0xc]
.text:004027d2 83fefe CMP ESI,-0x2
.text:004027d5 0f8446000000 JZ LAB_00402821
.text:004027db 8b542434 MOV EDX,dword ptr [ESP + param_3+0x28]
.text:004027df 83fafe CMP EDX,-0x2
.text:004027e2 7408 JZ LAB_004027ec
.text:004027e4 3bf2 CMP ESI,EDX
.text:004027e6 0f8635000000 JBE LAB_00402821
LAB_004027ec: ;XREF[1,0]: 004027e2
.text:004027ec 8d3476 LEA ESI,[ESI + ESI*0x2]
.text:004027ef 8d5cb310 LEA EBX,[EBX + ESI*0x4 + 0x10]
.text:004027f3 8b0b MOV ECX,dword ptr [EBX]
.text:004027f5 89480c MOV dword ptr [EAX + 0xc],ECX
.text:004027f8 837b0400 CMP dword ptr [EBX + 0x4],0x0
.text:004027fc 0f85c0ffffff JNZ LAB_004027c2
.text:00402802 6801010000 PUSH 0x101
.text:00402807 8b4308 MOV EAX,dword ptr [EBX + 0x8]
.text:0040280a e8a1020000 CALL __NLG_Notify ;void __NLG_Notify(ulong param_1)
.text:0040280f b901000000 MOV ECX,0x1
.text:00402814 8b4308 MOV EAX,dword ptr [EBX + 0x8]
.text:00402817 e8b4020000 CALL FUN_00402ad0 ;undefined FUN_00402ad0(void)
.text:0040281c e9a1ffffff JMP LAB_004027c2
LAB_00402821: ;XREF[2,0]: 004027d5,004027e6
.text:00402821 648f05000... POP dword ptr FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:00402828 83c418 ADD ESP,0x18
.text:0040282b 5f POP EDI
.text:0040282c 5e POP ESI
.text:0040282d 5b POP EBX
.text:0040282e c3 RET
.text:0040282f cc align align(1)
LAB_00402830: ;XREF[2,0]: 004027a4,004215a0
.text:00402830 8b4c2404 MOV ECX,dword ptr [ESP + 0x4]
.text:00402834 f74104060... TEST dword ptr [ECX + 0x4],0x6
.text:0040283b b801000000 MOV EAX,0x1
.text:00402840 7433 JZ LAB_00402875
.text:00402842 8b442408 MOV EAX,dword ptr [ESP + 0x8]
.text:00402846 8b4808 MOV ECX,dword ptr [EAX + 0x8]
.text:00402849 33c8 XOR ECX,EAX
.text:0040284b e8d5f8ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00402850 55 PUSH EBP
.text:00402851 8b6818 MOV EBP,dword ptr [EAX + 0x18]
.text:00402854 ff700c PUSH dword ptr [EAX + 0xc]
.text:00402857 ff7010 PUSH dword ptr [EAX + 0x10]
.text:0040285a ff7014 PUSH dword ptr [EAX + 0x14]
.text:0040285d e82effffff CALL FUN_00402790 ;undefined FUN_00402790(uint * param_...
.text:00402862 83c40c ADD ESP,0xc
.text:00402865 5d POP EBP
.text:00402866 8b442408 MOV EAX,dword ptr [ESP + 0x8]
.text:0040286a 8b542410 MOV EDX,dword ptr [ESP + 0x10]
.text:0040286e 8902 MOV dword ptr [EDX],EAX
.text:00402870 b803000000 MOV EAX,0x3
LAB_00402875: ;XREF[1,0]: 00402840
.text:00402875 c3 RET
.text:00402876 cc ?? CCh
.text:00402877 cc ?? CCh
.text:00402878 cc ?? CCh
.text:00402879 cc ?? CCh
.text:0040287a cc ?? CCh
.text:0040287b cc ?? CCh
.text:0040287c cc ?? CCh
.text:0040287d cc ?? CCh
.text:0040287e cc ?? CCh
.text:0040287f cc ?? CCh
;************************************************************************************************
;* Library Function - Single Match *
;* @_EH4_CallFilterFunc@8 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined @_EH4_CallFilterFunc@8(undefined * param_1)
;param_1 undefined * ECX
;XREF[1,0]: 00402322
.text:00402880 55 PUSH EBP
.text:00402881 56 PUSH ESI
.text:00402882 57 PUSH EDI
.text:00402883 53 PUSH EBX
.text:00402884 8bea MOV EBP,EDX
.text:00402886 33c0 XOR EAX,EAX
.text:00402888 33db XOR EBX,EBX
.text:0040288a 33d2 XOR EDX,EDX
.text:0040288c 33f6 XOR ESI,ESI
.text:0040288e 33ff XOR EDI,EDI
.text:00402890 ffd1 CALL param_1
.text:00402892 5b POP EBX
.text:00402893 5f POP EDI
.text:00402894 5e POP ESI
.text:00402895 5d POP EBP
.text:00402896 c3 RET
.text:00402897 ccccccccc... align align(9)
;************************************************************************************************
;* Library Function - Single Match *
;* @_EH4_TransferToHandler@8 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined @_EH4_TransferToHandler@8(undefined * UNRECOVERED_JUMPTABLE)
;UNRECOVERE... undefined * ECX
;XREF[1,0]: 004023f8
.text:004028a0 8bea MOV EBP,EDX
.text:004028a2 8bf1 MOV ESI,UNRECOVERED_JUMPTABLE
.text:004028a4 8bc1 MOV EAX,UNRECOVERED_JUMPTABLE
.text:004028a6 6a01 PUSH 0x1
.text:004028a8 e803020000 CALL __NLG_Notify ;void __NLG_Notify(ulong param_1)
.text:004028ad 33c0 XOR EAX,EAX
.text:004028af 33db XOR EBX,EBX
.text:004028b1 33c9 XOR UNRECOVERED_JUMP...,UNRECOVERED_JUMPT...
.text:004028b3 33d2 XOR EDX,EDX
.text:004028b5 33ff XOR EDI,EDI
.text:004028b7 ffe6 JMP ESI
.text:004028b9 ccccccccc... align align(7)
;************************************************************************************************
;* Library Function - Single Match *
;* @_EH4_GlobalUnwind2@8 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined @_EH4_GlobalUnwind2@8(PVOID param_1, PEXCEPTION_RECORD param_2)
;param_1 PVOID ECX
;param_2 PEXCEPTION_... EDX
;XREF[1,0]: 004023c2
.text:004028c0 55 PUSH EBP
.text:004028c1 8bec MOV EBP,ESP
.text:004028c3 53 PUSH EBX
.text:004028c4 56 PUSH ESI
.text:004028c5 57 PUSH EDI
.text:004028c6 6a00 PUSH 0x0 ;PVOID ReturnValue for RtlUnwind
.text:004028c8 52 PUSH param_2 ;PEXCEPTION_RECORD ExceptionRecord fo...
.text:004028c9 68d5284000 PUSH 0x4028d5 ;PVOID TargetIp for RtlUnwind
.text:004028ce 51 PUSH param_1 ;PVOID TargetFrame for RtlUnwind
.text:004028cf ff1534b04100 CALL dword ptr [->KERNEL32.DLL::RtlUnwind] ;= 0002240a
.text:004028d5 5f POP EDI
.text:004028d6 5e POP ESI
.text:004028d7 5b POP EBX
.text:004028d8 5d POP EBP
.text:004028d9 c3 RET
.text:004028da cccccccccccc align align(6)
;************************************************************************************************
;* Library Function - Single Match *
;* @_EH4_LocalUnwind@16 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined @_EH4_LocalUnwind@16(int param_1, uint param_2, undefined4 param_3, uint * param_4)
;param_1 int ECX
;param_2 uint EDX
;param_3 undefined4 4 ;XREF[1,0]: 004028e1
;param_4 uint * 8 ;XREF[1,0]: 004028e7
;XREF[2,0]: 0040235f,004023d9
.text:004028e0 55 PUSH EBP
.text:004028e1 8b6c2408 MOV EBP,dword ptr [ESP + param_3+0x4]
.text:004028e5 52 PUSH param_2
.text:004028e6 51 PUSH param_1
.text:004028e7 ff742414 PUSH dword ptr [ESP + param_4+0xc]
.text:004028eb e8a0feffff CALL FUN_00402790 ;undefined FUN_00402790(uint * param_...
.text:004028f0 83c40c ADD ESP,0xc
.text:004028f3 5d POP EBP
.text:004028f4 c20800 RET 0x8
;************************************************************************************************
;* Library Function - Single Match *
;* ___except_validate_context_record *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___except_validate_context_record(int param_1)
;param_1 int 4 ;XREF[1,0]: 0040290d
;XREF[2,0]: 004022df,00403ded
.text:004028f7 55 PUSH EBP
.text:004028f8 8bec MOV EBP,ESP
.text:004028fa a118b14100 MOV EAX=>_guard_chec...,[->_guard_check_i...;= 00401c9f
.text:004028ff 3d9f1c4000 CMP EAX,_guard_check_icall
.text:00402904 741f JZ LAB_00402925
.text:00402906 648b0d180... MOV ECX,dword ptr FS:[offset ->ExceptionL...;= ffdff000
.text:0040290d 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00402910 8b80c4000000 MOV EAX,dword ptr [EAX + 0xc4]
.text:00402916 3b4108 CMP EAX,dword ptr [ECX + offset tdb:Stack...;= 00000000
.text:00402919 7205 JC LAB_00402920
.text:0040291b 3b4104 CMP EAX,dword ptr [ECX + offset tdb:Stack...;= 00000000
.text:0040291e 7605 JBE LAB_00402925
LAB_00402920: ;XREF[1,0]: 00402919
.text:00402920 6a0d PUSH 0xd
.text:00402922 59 POP ECX
.text:00402923 cd29 INT 0x29
LAB_00402925: ;XREF[2,0]: 00402904,0040291e
.text:00402925 5d POP EBP
.text:00402926 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00402927(undefined * param_1)
;param_1 undefined * 4 ;XREF[1,0]: 0040292a
;XREF[1,0]: 004029e3
.text:00402927 55 PUSH EBP
.text:00402928 8bec MOV EBP,ESP
.text:0040292a 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040292d 85c0 TEST EAX,EAX
.text:0040292f 740e JZ LAB_0040293f
.text:00402931 3d683c4200 CMP EAX,.data:DAT_00423c68 ;= ??
.text:00402936 7407 JZ LAB_0040293f
.text:00402938 50 PUSH EAX
.text:00402939 e867a10000 CALL FUN_0040caa5 ;undefined FUN_0040caa5(LPVOID param_1)
.text:0040293e 59 POP ECX
LAB_0040293f: ;XREF[2,0]: 0040292f,00402936
.text:0040293f 5d POP EBP
.text:00402940 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_getptd *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___vcrt_getptd(void)
;XREF[42,0]: 0040255d,00402568,00402579,004025e5
; 004025f0,004025fe,00402609,00402617
; 00402620,00402e5a,00402f77,00402f82
; 00402f93,00402fa3,00402fae,004038f8
; 00403906,0040390e,00403957,00403961
; 0040396c,00403b5d,00403b65,00403ba9
; 00403bde,00403be6,00403c38,00403c4d
; 00403df3,00403fde,00403fe9,00403ff4
; 00403ffc,00404110,0040411b,00404186
; 0040419a,004041f0,0040423d,004042e9
; 004042f4,0040442d
.text:00402943 e809000000 CALL ___vcrt_getptd_noexit ;LPVOID ___vcrt_getptd_noexit(void)
.text:00402948 85c0 TEST EAX,EAX
.text:0040294a 0f84f9b10000 JZ _abort
.text:00402950 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_getptd_noexit *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;LPVOID ___vcrt_getptd_noexit(void)
;XREF[1,0]: 00402943
.text:00402951 833d20304... CMP dword ptr [.data:DAT_00423020],-0x1 ;= FFFFFFFFh
.text:00402958 7503 JNZ LAB_0040295d
.text:0040295a 33c0 XOR EAX,EAX
.text:0040295c c3 RET
LAB_0040295d: ;XREF[1,0]: 00402958
.text:0040295d 53 PUSH EBX
.text:0040295e 57 PUSH EDI
.text:0040295f ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00402965 ff3520304200 PUSH dword ptr [.data:DAT_00423020] ;= FFFFFFFFh
.text:0040296b 8bf8 MOV EDI,EAX
.text:0040296d e8c2020000 CALL ___vcrt_FlsGetValue ;undefined ___vcrt_FlsGetValue(DWORD ...
.text:00402972 8bd8 MOV EBX,EAX
.text:00402974 59 POP ECX
.text:00402975 83fbff CMP EBX,-0x1
.text:00402978 7417 JZ LAB_00402991
.text:0040297a 85db TEST EBX,EBX
.text:0040297c 7559 JNZ LAB_004029d7
.text:0040297e 6aff PUSH -0x1
.text:00402980 ff3520304200 PUSH dword ptr [.data:DAT_00423020] ;= FFFFFFFFh
.text:00402986 e8e4020000 CALL ___vcrt_FlsSetValue ;undefined ___vcrt_FlsSetValue(DWORD ...
.text:0040298b 59 POP ECX
.text:0040298c 59 POP ECX
.text:0040298d 85c0 TEST EAX,EAX
.text:0040298f 7504 JNZ LAB_00402995
LAB_00402991: ;XREF[1,0]: 00402978
.text:00402991 33db XOR EBX,EBX
.text:00402993 eb42 JMP LAB_004029d7
LAB_00402995: ;XREF[1,0]: 0040298f
.text:00402995 56 PUSH ESI
.text:00402996 6a28 PUSH 0x28
.text:00402998 6a01 PUSH 0x1
.text:0040299a e8eeb10000 CALL FUN_0040db8d ;undefined FUN_0040db8d(uint param_1,...
.text:0040299f 8bf0 MOV ESI,EAX
.text:004029a1 59 POP ECX
.text:004029a2 59 POP ECX
.text:004029a3 85f6 TEST ESI,ESI
.text:004029a5 7412 JZ LAB_004029b9
.text:004029a7 56 PUSH ESI
.text:004029a8 ff3520304200 PUSH dword ptr [.data:DAT_00423020] ;= FFFFFFFFh
.text:004029ae e8bc020000 CALL ___vcrt_FlsSetValue ;undefined ___vcrt_FlsSetValue(DWORD ...
.text:004029b3 59 POP ECX
.text:004029b4 59 POP ECX
.text:004029b5 85c0 TEST EAX,EAX
.text:004029b7 7512 JNZ LAB_004029cb
LAB_004029b9: ;XREF[1,0]: 004029a5
.text:004029b9 33db XOR EBX,EBX
.text:004029bb 53 PUSH EBX
.text:004029bc ff3520304200 PUSH dword ptr [.data:DAT_00423020] ;= FFFFFFFFh
.text:004029c2 e8a8020000 CALL ___vcrt_FlsSetValue ;undefined ___vcrt_FlsSetValue(DWORD ...
.text:004029c7 59 POP ECX
.text:004029c8 59 POP ECX
.text:004029c9 eb04 JMP LAB_004029cf
LAB_004029cb: ;XREF[1,0]: 004029b7
.text:004029cb 8bde MOV EBX,ESI
.text:004029cd 33f6 XOR ESI,ESI
LAB_004029cf: ;XREF[1,0]: 004029c9
.text:004029cf 56 PUSH ESI
.text:004029d0 e8d0a00000 CALL FUN_0040caa5 ;undefined FUN_0040caa5(LPVOID param_1)
.text:004029d5 59 POP ECX
.text:004029d6 5e POP ESI
LAB_004029d7: ;XREF[2,0]: 0040297c,00402993
.text:004029d7 57 PUSH EDI ;DWORD dwErrCode for SetLastError
.text:004029d8 ff153cb04100 CALL dword ptr [->KERNEL32.DLL::SetLastError];= 00022426
.text:004029de 5f POP EDI
.text:004029df 8bc3 MOV EAX,EBX
.text:004029e1 5b POP EBX
.text:004029e2 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_initialize_ptd *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___vcrt_initialize_ptd(void)
;XREF[1,0]: 0040240a
.text:004029e3 6827294000 PUSH FUN_00402927
.text:004029e8 e8d1010000 CALL ___vcrt_FlsAlloc ;undefined ___vcrt_FlsAlloc(undefined...
.text:004029ed a320304200 MOV [.data:DAT_00423020],EAX ;= FFFFFFFFh
.text:004029f2 59 POP ECX
.text:004029f3 83f8ff CMP EAX,-0x1
.text:004029f6 7503 JNZ LAB_004029fb
LAB_004029f8: ;XREF[1,0]: 00402a11
.text:004029f8 32c0 XOR AL,AL
.text:004029fa c3 RET
LAB_004029fb: ;XREF[1,0]: 004029f6
.text:004029fb 68683c4200 PUSH .data:DAT_00423c68 ;= ??
.text:00402a00 50 PUSH EAX
.text:00402a01 e869020000 CALL ___vcrt_FlsSetValue ;undefined ___vcrt_FlsSetValue(DWORD ...
.text:00402a06 59 POP ECX
.text:00402a07 59 POP ECX
.text:00402a08 85c0 TEST EAX,EAX
.text:00402a0a 7507 JNZ LAB_00402a13
.text:00402a0c e805000000 CALL ___vcrt_uninitialize_ptd ;undefined4 ___vcrt_uninitialize_ptd(...
.text:00402a11 ebe5 JMP LAB_004029f8
LAB_00402a13: ;XREF[1,0]: 00402a0a
.text:00402a13 b001 MOV AL,0x1
.text:00402a15 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_uninitialize_ptd *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___vcrt_uninitialize_ptd(void)
;XREF[2,0]: 00402426,00402a0c
.text:00402a16 a120304200 MOV EAX,[.data:DAT_00423020] ;= FFFFFFFFh
.text:00402a1b 83f8ff CMP EAX,-0x1
.text:00402a1e 740e JZ LAB_00402a2e
.text:00402a20 50 PUSH EAX
.text:00402a21 e8d3010000 CALL ___vcrt_FlsFree ;undefined ___vcrt_FlsFree(DWORD para...
.text:00402a26 830d20304... OR dword ptr [.data...,0xffffffff ;= FFFFFFFFh
.text:00402a2d 59 POP ECX
LAB_00402a2e: ;XREF[1,0]: 00402a1e
.text:00402a2e b001 MOV AL,0x1
.text:00402a30 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_initialize_locks *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___vcrt_initialize_locks(void)
;XREF[1,0]: 004023fe
.text:00402a31 56 PUSH ESI
.text:00402a32 57 PUSH EDI
.text:00402a33 bf903c4200 MOV EDI,.data:DAT_00423c90 ;= ??
.text:00402a38 33f6 XOR ESI,ESI
LAB_00402a3a: ;XREF[1,0]: 00402a5d
.text:00402a3a 6a00 PUSH 0x0
.text:00402a3c 68a00f0000 PUSH 0xfa0
; FWD[2,0]: 00423c90,00423ca8
.text:00402a41 57 PUSH EDI=>.data:DAT_00423c90 ;= ??
.text:00402a42 e866020000 CALL ___vcrt_InitializeCriticalSectionEx ;undefined ___vcrt_InitializeCritical...
.text:00402a47 83c40c ADD ESP,0xc
.text:00402a4a 85c0 TEST EAX,EAX
.text:00402a4c 7415 JZ LAB_00402a63
.text:00402a4e ff05a83c4200 INC dword ptr [.data:DAT_00423ca8] ;= ??
.text:00402a54 83c618 ADD ESI,0x18
.text:00402a57 83c718 ADD EDI,0x18
.text:00402a5a 83fe18 CMP ESI,0x18
.text:00402a5d 72db JC LAB_00402a3a
.text:00402a5f b001 MOV AL,0x1
.text:00402a61 eb07 JMP LAB_00402a6a
LAB_00402a63: ;XREF[1,0]: 00402a4c
.text:00402a63 e805000000 CALL ___vcrt_uninitialize_locks ;undefined4 ___vcrt_uninitialize_lock...
.text:00402a68 32c0 XOR AL,AL
LAB_00402a6a: ;XREF[1,0]: 00402a61
.text:00402a6a 5f POP EDI
.text:00402a6b 5e POP ESI
.text:00402a6c c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_uninitialize_locks *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___vcrt_uninitialize_locks(void)
;XREF[3,0]: 00402413,0040242b,00402a63
.text:00402a6d 56 PUSH ESI
.text:00402a6e 8b35a83c4200 MOV ESI,dword ptr [.data:DAT_00423ca8] ;= ??
.text:00402a74 85f6 TEST ESI,ESI
.text:00402a76 7420 JZ LAB_00402a98
.text:00402a78 6bc618 IMUL EAX,ESI,0x18
.text:00402a7b 57 PUSH EDI
.text:00402a7c 8db8783c4200 LEA EDI,[EAX + .data:DAT_00423c78] ;= ??
LAB_00402a82: ;XREF[1,0]: 00402a95
.text:00402a82 57 PUSH EDI ;LPCRITICAL_SECTION lpCriticalSection...
.text:00402a83 ff1548b04100 CALL dword ptr [->KERNEL32.DLL::DeleteCrit...;= 00022466
.text:00402a89 ff0da83c4200 DEC dword ptr [.data:DAT_00423ca8] ;= ??
.text:00402a8f 83ef18 SUB EDI,0x18
.text:00402a92 83ee01 SUB ESI,0x1
.text:00402a95 75eb JNZ LAB_00402a82
.text:00402a97 5f POP EDI
LAB_00402a98: ;XREF[1,0]: 00402a76
.text:00402a98 b001 MOV AL,0x1
.text:00402a9a 5e POP ESI
.text:00402a9b c3 RET
.text:00402a9c cccccccc align align(4)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00402aa0(undefined4 param_1)
;param_1 undefined4 ECX
;XREF[2,0]: 004043fe,00404420
.text:00402aa0 53 PUSH EBX
.text:00402aa1 51 PUSH param_1
.text:00402aa2 bb30304200 MOV EBX,.data:DAT_00423030 ;= 20h
.text:00402aa7 e90f000000 JMP LAB_00402abb
.text:00402aac cccccccc align align(4)
;************************************************************************************************
;* Library Function - Single Match *
;* __NLG_Notify *
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;void __NLG_Notify(ulong param_1)
;param_1 ulong 4 ;XREF[1,0]: 00402ab7
;XREF[2,0]: 0040280a,004028a8
.text:00402ab0 53 PUSH EBX
.text:00402ab1 51 PUSH ECX
.text:00402ab2 bb30304200 MOV EBX,.data:DAT_00423030 ;= 20h
.text:00402ab7 8b4c240c MOV ECX,dword ptr [ESP + param_1+0x8]
LAB_00402abb: ;XREF[1,0]: 00402aa7
.text:00402abb 894b08 MOV dword ptr [EBX +...,ECX
.text:00402abe 894304 MOV dword ptr [EBX +...,EAX
.text:00402ac1 896b0c MOV dword ptr [EBX +...,EBP
.text:00402ac4 55 PUSH EBP
.text:00402ac5 51 PUSH ECX
.text:00402ac6 50 PUSH EAX
.text:00402ac7 58 POP EAX
.text:00402ac8 59 POP ECX
.text:00402ac9 5d POP EBP
.text:00402aca 59 POP ECX
.text:00402acb 5b POP EBX
.text:00402acc c20400 RET 0x4
.text:00402acf cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00402ad0(void)
;XREF[1,0]: 00402817
.text:00402ad0 ffd0 CALL EAX
.text:00402ad2 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;FARPROC FUN_00402ad3(int param_1, LPCSTR param_2, int * param_3, int * param_4)
;param_1 int 4 ;XREF[1,0]: 00402ad8
;param_2 LPCSTR 8 ;XREF[1,0]: 00402b5c
;param_3 int * c ;XREF[1,0]: 00402af9
;param_4 int * 10 ;XREF[1,0]: 00402b3c
;local_8 undefined4 -8 ;XREF[2,0]: 00402b01,00402b24
;local_c undefined4 -c ;XREF[3,0]: 00402ae3,00402b41,00402b6a
;XREF[5,0]: 00402bd3,00402c0e,00402c49,00402c84
; 00402cc2
.text:00402ad3 55 PUSH EBP
.text:00402ad4 8bec MOV EBP,ESP
.text:00402ad6 51 PUSH ECX
.text:00402ad7 51 PUSH ECX
.text:00402ad8 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00402adb 57 PUSH EDI
.text:00402adc 8d0485f43... LEA EAX,[EAX*0x4 + .data:DAT_00423cf4] ;= ??
.text:00402ae3 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00402ae6 8b00 MOV EAX,dword ptr [EAX]=>.data:DAT_00423cf4 ;= ??
.text:00402ae8 90 NOP
.text:00402ae9 83cfff OR EDI,0xffffffff
.text:00402aec 3bc7 CMP EAX,EDI
.text:00402aee 7504 JNZ LAB_00402af4
.text:00402af0 33c0 XOR EAX,EAX
.text:00402af2 eb56 JMP LAB_00402b4a
LAB_00402af4: ;XREF[1,0]: 00402aee
.text:00402af4 85c0 TEST EAX,EAX
.text:00402af6 7552 JNZ LAB_00402b4a
.text:00402af8 53 PUSH EBX
.text:00402af9 8b5d10 MOV EBX,dword ptr [EBP + param_3+0x4]
.text:00402afc 56 PUSH ESI
.text:00402afd eb3d JMP LAB_00402b3c
LAB_00402aff: ;XREF[1,0]: 00402b3f
.text:00402aff 8b0b MOV ECX,dword ptr [EBX]
.text:00402b01 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
.text:00402b04 8d048de83... LEA EAX,[ECX*0x4 + .data:DAT_00423ce8] ;= ??
.text:00402b0b 8b30 MOV ESI,dword ptr [EAX]=>.data:DAT_00423ce8 ;= ??
.text:00402b0d 90 NOP
.text:00402b0e 85f6 TEST ESI,ESI
.text:00402b10 7406 JZ LAB_00402b18
.text:00402b12 3bf7 CMP ESI,EDI
.text:00402b14 7546 JNZ LAB_00402b5c
.text:00402b16 eb21 JMP LAB_00402b39
LAB_00402b18: ;XREF[1,0]: 00402b10
.text:00402b18 ff348d34b... PUSH dword ptr [ECX*0x4 + .rdata:PTR_u_api...;= 0041bb40
.text:00402b1f e84f000000 CALL try_load_library_from_system_directory ;HINSTANCE__ * try_load_library_from_...
.text:00402b24 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
.text:00402b27 8bf0 MOV ESI,EAX
.text:00402b29 59 POP ECX
.text:00402b2a 8d0c95e83... LEA ECX,[EDX*0x4 + .data:DAT_00423ce8] ;= ??
.text:00402b31 85f6 TEST ESI,ESI
.text:00402b33 7518 JNZ LAB_00402b4d
.text:00402b35 8bc7 MOV EAX,EDI
.text:00402b37 8701 XCHG dword ptr [ECX],EAX=>.data:DAT_00423ce8 ;= ??
LAB_00402b39: ;XREF[1,0]: 00402b16
.text:00402b39 83c304 ADD EBX,0x4
LAB_00402b3c: ;XREF[1,0]: 00402afd
.text:00402b3c 3b5d14 CMP EBX,dword ptr [EBP + param_4+0x4]
.text:00402b3f 75be JNZ LAB_00402aff
LAB_00402b41: ;XREF[1,0]: 00402b68
.text:00402b41 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:00402b44 873a XCHG dword ptr [EDX],EDI=>.data:DAT_00423cf4 ;= ??
.text:00402b46 33c0 XOR EAX,EAX
LAB_00402b48: ;XREF[1,0]: 00402b71
.text:00402b48 5e POP ESI
.text:00402b49 5b POP EBX
LAB_00402b4a: ;XREF[2,0]: 00402af2,00402af6
.text:00402b4a 5f POP EDI
.text:00402b4b c9 LEAVE
.text:00402b4c c3 RET
LAB_00402b4d: ;XREF[1,0]: 00402b33
.text:00402b4d 8bc6 MOV EAX,ESI
.text:00402b4f 8701 XCHG dword ptr [ECX],EAX=>.data:DAT_00423ce8 ;= ??
.text:00402b51 85c0 TEST EAX,EAX
.text:00402b53 7407 JZ LAB_00402b5c
.text:00402b55 56 PUSH ESI ;HMODULE hLibModule for FreeLibrary
.text:00402b56 ff1560b04100 CALL dword ptr [->KERNEL32.DLL::FreeLibrary] ;= 000224d8
LAB_00402b5c: ;XREF[2,0]: 00402b14,00402b53
.text:00402b5c ff750c PUSH dword ptr [EBP + param_2+0x4] ;LPCSTR lpProcName for GetProcAddress
.text:00402b5f 56 PUSH ESI ;HMODULE hModule for GetProcAddress
.text:00402b60 ff1564b04100 CALL dword ptr [->KERNEL32.DLL::GetProcAdd...;= 000224e6
.text:00402b66 85c0 TEST EAX,EAX
.text:00402b68 74d7 JZ LAB_00402b41
.text:00402b6a 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:00402b6d 8bc8 MOV ECX,EAX
.text:00402b6f 870a XCHG dword ptr [EDX],ECX=>.data:DAT_00423cf4 ;= ??
.text:00402b71 ebd5 JMP LAB_00402b48
;************************************************************************************************
;* Library Function - Single Match *
;* struct HINSTANCE__ * __cdecl try_load_library_from_system_directory(wchar_t const * const) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;HINSTANCE__ * try_load_library_from_system_directory(wchar_t * param_1)
;param_1 wchar_t * 4 ;XREF[3,0]: 00402b7d,00402b9c,00402baf
;XREF[1,0]: 00402b1f
.text:00402b73 55 PUSH EBP
.text:00402b74 8bec MOV EBP,ESP
.text:00402b76 6800080000 PUSH 0x800 ;DWORD dwFlags for LoadLibraryExW
.text:00402b7b 6a00 PUSH 0x0 ;HANDLE hFile for LoadLibraryExW
.text:00402b7d ff7508 PUSH dword ptr [EBP + param_1+0x4] ;LPCWSTR lpLibFileName for LoadLibrar...
.text:00402b80 ff1568b04100 CALL dword ptr [->KERNEL32.DLL::LoadLibrar...;= 000224f8
.text:00402b86 85c0 TEST EAX,EAX
.text:00402b88 7532 JNZ LAB_00402bbc
.text:00402b8a ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00402b90 83f857 CMP EAX,0x57
.text:00402b93 7525 JNZ LAB_00402bba
.text:00402b95 6a07 PUSH 0x7
.text:00402b97 68ccbb4100 PUSH .rdata:u_api-ms-_0041bbcc ;= u"api-ms-"
.text:00402b9c ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00402b9f e834b30000 CALL _wcsncmp ;int _wcsncmp(wchar_t * _Str1, wchar_...
.text:00402ba4 83c40c ADD ESP,0xc
.text:00402ba7 85c0 TEST EAX,EAX
.text:00402ba9 740f JZ LAB_00402bba
.text:00402bab 6a00 PUSH 0x0 ;DWORD dwFlags for LoadLibraryExW
.text:00402bad 6a00 PUSH 0x0 ;HANDLE hFile for LoadLibraryExW
.text:00402baf ff7508 PUSH dword ptr [EBP + param_1+0x4] ;LPCWSTR lpLibFileName for LoadLibrar...
.text:00402bb2 ff1568b04100 CALL dword ptr [->KERNEL32.DLL::LoadLibrar...;= 000224f8
.text:00402bb8 5d POP EBP
.text:00402bb9 c3 RET
LAB_00402bba: ;XREF[2,0]: 00402b93,00402ba9
.text:00402bba 33c0 XOR EAX,EAX
LAB_00402bbc: ;XREF[1,0]: 00402b88
.text:00402bbc 5d POP EBP
.text:00402bbd c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_FlsAlloc *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___vcrt_FlsAlloc(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 00402be1
;XREF[1,0]: 004029e8
.text:00402bbe 55 PUSH EBP
.text:00402bbf 8bec MOV EBP,ESP
.text:00402bc1 56 PUSH ESI
.text:00402bc2 68e4bb4100 PUSH .rdata:s_FlsAlloc_0041bbe4 ;= "FlsAlloc"
.text:00402bc7 68dcbb4100 PUSH .rdata:DAT_0041bbdc
.text:00402bcc 68e4bb4100 PUSH .rdata:s_FlsAlloc_0041bbe4 ;= "FlsAlloc"
.text:00402bd1 6a00 PUSH 0x0
.text:00402bd3 e8fbfeffff CALL FUN_00402ad3 ;FARPROC FUN_00402ad3(int param_1, LP...
.text:00402bd8 8bf0 MOV ESI,EAX
.text:00402bda 83c410 ADD ESP,0x10
.text:00402bdd 85f6 TEST ESI,ESI
.text:00402bdf 7410 JZ LAB_00402bf1
.text:00402be1 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00402be4 8bce MOV ECX,ESI
.text:00402be6 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00402bec ffd6 CALL ESI
.text:00402bee 5e POP ESI
.text:00402bef 5d POP EBP
.text:00402bf0 c3 RET
LAB_00402bf1: ;XREF[1,0]: 00402bdf
.text:00402bf1 5e POP ESI
.text:00402bf2 5d POP EBP
.text:00402bf3 ff2550b04100 JMP dword ptr [->KERNEL32.DLL::TlsAlloc]
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_FlsFree *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___vcrt_FlsFree(DWORD param_1)
;param_1 DWORD 4 ;XREF[1,0]: 00402c18
;XREF[1,0]: 00402a21
.text:00402bf9 55 PUSH EBP
.text:00402bfa 8bec MOV EBP,ESP
.text:00402bfc 56 PUSH ESI
.text:00402bfd 68f8bb4100 PUSH .rdata:s_FlsFree_0041bbf8 ;= "FlsFree"
.text:00402c02 68f0bb4100 PUSH .rdata:DAT_0041bbf0
.text:00402c07 68f8bb4100 PUSH .rdata:s_FlsFree_0041bbf8 ;= "FlsFree"
.text:00402c0c 6a01 PUSH 0x1
.text:00402c0e e8c0feffff CALL FUN_00402ad3 ;FARPROC FUN_00402ad3(int param_1, LP...
.text:00402c13 83c410 ADD ESP,0x10
.text:00402c16 8bf0 MOV ESI,EAX
.text:00402c18 ff7508 PUSH dword ptr [EBP + param_1+0x4] ;DWORD dwTlsIndex for TlsFree
.text:00402c1b 85f6 TEST ESI,ESI
.text:00402c1d 740c JZ LAB_00402c2b
.text:00402c1f 8bce MOV ECX,ESI
.text:00402c21 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00402c27 ffd6 CALL ESI
.text:00402c29 eb06 JMP LAB_00402c31
LAB_00402c2b: ;XREF[1,0]: 00402c1d
.text:00402c2b ff155cb04100 CALL dword ptr [->KERNEL32.DLL::TlsFree] ;= 000224ce
LAB_00402c31: ;XREF[1,0]: 00402c29
.text:00402c31 5e POP ESI
.text:00402c32 5d POP EBP
.text:00402c33 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_FlsGetValue *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___vcrt_FlsGetValue(DWORD param_1)
;param_1 DWORD 4 ;XREF[1,0]: 00402c53
;XREF[1,0]: 0040296d
.text:00402c34 55 PUSH EBP
.text:00402c35 8bec MOV EBP,ESP
.text:00402c37 56 PUSH ESI
.text:00402c38 6808bc4100 PUSH .rdata:s_FlsGetValue_0041bc08 ;= "FlsGetValue"
.text:00402c3d 6800bc4100 PUSH .rdata:DAT_0041bc00
.text:00402c42 6808bc4100 PUSH .rdata:s_FlsGetValue_0041bc08 ;= "FlsGetValue"
.text:00402c47 6a02 PUSH 0x2
.text:00402c49 e885feffff CALL FUN_00402ad3 ;FARPROC FUN_00402ad3(int param_1, LP...
.text:00402c4e 83c410 ADD ESP,0x10
.text:00402c51 8bf0 MOV ESI,EAX
.text:00402c53 ff7508 PUSH dword ptr [EBP + param_1+0x4] ;DWORD dwTlsIndex for TlsGetValue
.text:00402c56 85f6 TEST ESI,ESI
.text:00402c58 740c JZ LAB_00402c66
.text:00402c5a 8bce MOV ECX,ESI
.text:00402c5c ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00402c62 ffd6 CALL ESI
.text:00402c64 eb06 JMP LAB_00402c6c
LAB_00402c66: ;XREF[1,0]: 00402c58
.text:00402c66 ff1554b04100 CALL dword ptr [->KERNEL32.DLL::TlsGetValue] ;= 000224b2
LAB_00402c6c: ;XREF[1,0]: 00402c64
.text:00402c6c 5e POP ESI
.text:00402c6d 5d POP EBP
.text:00402c6e c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_FlsSetValue *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___vcrt_FlsSetValue(DWORD param_1, LPVOID param_2)
;param_1 DWORD 4 ;XREF[1,0]: 00402c91
;param_2 LPVOID 8 ;XREF[1,0]: 00402c8e
;XREF[4,0]: 00402986,004029ae,004029c2,00402a01
.text:00402c6f 55 PUSH EBP
.text:00402c70 8bec MOV EBP,ESP
.text:00402c72 56 PUSH ESI
.text:00402c73 681cbc4100 PUSH .rdata:s_FlsSetValue_0041bc1c ;= "FlsSetValue"
.text:00402c78 6814bc4100 PUSH .rdata:DAT_0041bc14
.text:00402c7d 681cbc4100 PUSH .rdata:s_FlsSetValue_0041bc1c ;= "FlsSetValue"
.text:00402c82 6a03 PUSH 0x3
.text:00402c84 e84afeffff CALL FUN_00402ad3 ;FARPROC FUN_00402ad3(int param_1, LP...
.text:00402c89 83c410 ADD ESP,0x10
.text:00402c8c 8bf0 MOV ESI,EAX
.text:00402c8e ff750c PUSH dword ptr [EBP + param_2+0x4] ;LPVOID lpTlsValue for TlsSetValue
.text:00402c91 ff7508 PUSH dword ptr [EBP + param_1+0x4] ;DWORD dwTlsIndex for TlsSetValue
.text:00402c94 85f6 TEST ESI,ESI
.text:00402c96 740c JZ LAB_00402ca4
.text:00402c98 8bce MOV ECX,ESI
.text:00402c9a ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00402ca0 ffd6 CALL ESI
.text:00402ca2 eb06 JMP LAB_00402caa
LAB_00402ca4: ;XREF[1,0]: 00402c96
.text:00402ca4 ff1558b04100 CALL dword ptr [->KERNEL32.DLL::TlsSetValue] ;= 000224c0
LAB_00402caa: ;XREF[1,0]: 00402ca2
.text:00402caa 5e POP ESI
.text:00402cab 5d POP EBP
.text:00402cac c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___vcrt_InitializeCriticalSectionEx *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___vcrt_InitializeCriticalSectionEx(LPCRITICAL_SECTION param_1, DWORD param_2, undefined4 param_3)
;param_1 LPCRITICAL_... 4 ;XREF[2,0]: 00402cd8,00402ce8
;param_2 DWORD 8 ;XREF[2,0]: 00402cd5,00402ce5
;param_3 undefined4 c ;XREF[1,0]: 00402cd0
;XREF[1,0]: 00402a42
.text:00402cad 55 PUSH EBP
.text:00402cae 8bec MOV EBP,ESP
.text:00402cb0 56 PUSH ESI
.text:00402cb1 6830bc4100 PUSH .rdata:s_InitializeCriticalSectionEx_...;= "InitializeCriticalSectionEx"
.text:00402cb6 6828bc4100 PUSH .rdata:DAT_0041bc28 ;= 01h
.text:00402cbb 6830bc4100 PUSH .rdata:s_InitializeCriticalSectionEx_...;= "InitializeCriticalSectionEx"
.text:00402cc0 6a04 PUSH 0x4
.text:00402cc2 e80cfeffff CALL FUN_00402ad3 ;FARPROC FUN_00402ad3(int param_1, LP...
.text:00402cc7 8bf0 MOV ESI,EAX
.text:00402cc9 83c410 ADD ESP,0x10
.text:00402ccc 85f6 TEST ESI,ESI
.text:00402cce 7415 JZ LAB_00402ce5
.text:00402cd0 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00402cd3 8bce MOV ECX,ESI
.text:00402cd5 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00402cd8 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00402cdb ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00402ce1 ffd6 CALL ESI
.text:00402ce3 eb0c JMP LAB_00402cf1
LAB_00402ce5: ;XREF[1,0]: 00402cce
.text:00402ce5 ff750c PUSH dword ptr [EBP + param_2+0x4] ;DWORD dwSpinCount for InitializeCrit...
.text:00402ce8 ff7508 PUSH dword ptr [EBP + param_1+0x4] ;LPCRITICAL_SECTION lpCriticalSection...
.text:00402ceb ff154cb04100 CALL dword ptr [->KERNEL32.DLL::Initialize...;= 0002247e
LAB_00402cf1: ;XREF[1,0]: 00402ce3
.text:00402cf1 5e POP ESI
.text:00402cf2 5d POP EBP
.text:00402cf3 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: static struct std::pair GetRangeOfTrysToCheck(TryBlockMap * param_1, int param_2, void * param_3, _s_FuncInfo * param_4, int param_5)
;param_1 TryBlockMap * 4 ;XREF[1,0]: 00402d48
;param_2 int 8 ;XREF[1,0]: 00402d4b
;param_3 void * c ;XREF[1,0]: 00402d1a
;param_4 _s_FuncInfo * 10
;param_5 int 14 ;XREF[1,0]: 00402cf8
;local_8 undefined4 -8 ;XREF[3,0]: 00402d09,00402d34,00402d38
;XREF[2,0]: 00403a22,00403cae
.text:00402cf4 55 PUSH EBP
.text:00402cf5 8bec MOV EBP,ESP
.text:00402cf7 51 PUSH ECX
.text:00402cf8 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:00402cfb 8b4d1c MOV ECX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00402cfe 53 PUSH EBX
.text:00402cff 56 PUSH ESI
.text:00402d00 8b5810 MOV EBX,dword ptr [EAX + 0x10]
.text:00402d03 57 PUSH EDI
.text:00402d04 8b780c MOV EDI,dword ptr [EAX + 0xc]
.text:00402d07 8bd7 MOV EDX,EDI
.text:00402d09 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:00402d0c 8bf2 MOV ESI,EDX
.text:00402d0e 85c9 TEST ECX,ECX
.text:00402d10 782d JS LAB_00402d3f
.text:00402d12 6bc214 IMUL EAX,EDX,0x14
.text:00402d15 83c308 ADD EBX,0x8
.text:00402d18 03c3 ADD EAX,EBX
.text:00402d1a 8b5d10 MOV EBX,dword ptr [EBP + param_3+0x4]
LAB_00402d1d: ;XREF[1,0]: 00402d3d
.text:00402d1d 83faff CMP EDX,-0x1
.text:00402d20 743c JZ LAB_00402d5e
.text:00402d22 83e814 SUB EAX,0x14
.text:00402d25 4a DEC EDX
.text:00402d26 3958fc CMP dword ptr [EAX + -0x4],EBX
.text:00402d29 7d04 JGE LAB_00402d2f
.text:00402d2b 3b18 CMP EBX,dword ptr [EAX]
.text:00402d2d 7e05 JLE LAB_00402d34
LAB_00402d2f: ;XREF[1,0]: 00402d29
.text:00402d2f 83faff CMP EDX,-0x1
.text:00402d32 7507 JNZ LAB_00402d3b
LAB_00402d34: ;XREF[1,0]: 00402d2d
.text:00402d34 8b75fc MOV ESI,dword ptr [EBP + local_8+0x4]
.text:00402d37 49 DEC ECX
.text:00402d38 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
LAB_00402d3b: ;XREF[1,0]: 00402d32
.text:00402d3b 85c9 TEST ECX,ECX
.text:00402d3d 79de JNS LAB_00402d1d
LAB_00402d3f: ;XREF[1,0]: 00402d10
.text:00402d3f 42 INC EDX
.text:00402d40 3bf7 CMP ESI,EDI
.text:00402d42 771a JA LAB_00402d5e
.text:00402d44 3bd6 CMP EDX,ESI
.text:00402d46 7716 JA LAB_00402d5e
.text:00402d48 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00402d4b 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00402d4e 5f POP EDI
.text:00402d4f 89700c MOV dword ptr [EAX + 0xc],ESI
.text:00402d52 5e POP ESI
.text:00402d53 8908 MOV dword ptr [EAX],ECX
.text:00402d55 895004 MOV dword ptr [EAX + 0x4],EDX
.text:00402d58 894808 MOV dword ptr [EAX + 0x8],ECX
.text:00402d5b 5b POP EBX
.text:00402d5c c9 LEAVE
.text:00402d5d c3 RET
LAB_00402d5e: ;XREF[3,0]: 00402d20,00402d42,00402d46
.text:00402d5e e8e6ad0000 CALL _abort ;void _abort(void)
.text:00402d63 cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00402d64(undefined4 param_1, undefined4 param_2, undefined4 param_3, int param_4, int param_5)
;param_1 undefined4 4 ;XREF[1,0]: 00402d77
;param_2 undefined4 8 ;XREF[1,0]: 00402d7d
;param_3 undefined4 c ;XREF[1,0]: 00402daa
;param_4 int 10 ;XREF[1,0]: 00402d83
;param_5 int 14 ;XREF[1,0]: 00402da6
;local_8 undefined4 -8 ;XREF[1,0]: 00402d91
;local_c undefined4 -c ;XREF[1,0]: 00402d8e
;local_10 undefined4 -10 ;XREF[1,0]: 00402d80
;local_14 undefined4 -14 ;XREF[1,0]: 00402d7a
;local_18 undefined4 -18 ;XREF[1,0]: 00402d87
;local_1c undefined4 -1c ;XREF[5,0]: 00402d6a,00402d6e,00402d9a,00402d9d,00402db4
;XREF[1,0]: 00404021
.text:00402d64 55 PUSH EBP
.text:00402d65 8bec MOV EBP,ESP
.text:00402d67 83ec18 SUB ESP,0x18
.text:00402d6a 8365e800 AND dword ptr [EBP + local_1c+0x4],0x0
.text:00402d6e 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:00402d71 330514304200 XOR EAX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:00402d77 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00402d7a 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00402d7d 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00402d80 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00402d83 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:00402d86 40 INC EAX
.text:00402d87 c745ec3a2... MOV dword ptr [EBP +...,FUN_00402f3a
.text:00402d8e 894df8 MOV dword ptr [EBP + local_c+0x4],ECX
.text:00402d91 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00402d94 64a100000000 MOV EAX,FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:00402d9a 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:00402d9d 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:00402da0 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:00402da6 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00402da9 51 PUSH ECX
.text:00402daa ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00402dad e82e160000 CALL __CallSettingFrame@12 ;undefined __CallSettingFrame@12(unde...
.text:00402db2 8bc8 MOV ECX,EAX
.text:00402db4 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
.text:00402db7 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:00402dbd 8bc1 MOV EAX,ECX
.text:00402dbf c9 LEAVE
.text:00402dc0 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00402dc1(int * param_1, undefined4 * param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6, undefined4 param_7)
;param_1 int * 4 ;XREF[5,0]: 00402dc8,00402e37,00402e42,00402e4e,00402e7d
;param_2 undefined4 * 8 ;XREF[2,0]: 00402dd6,00402e01
;param_3 undefined4 c ;XREF[1,0]: 00402e54
;param_4 undefined4 10
;param_5 undefined4 14 ;XREF[1,0]: 00402dfb
;param_6 undefined4 18 ;XREF[1,0]: 00402e07
;param_7 undefined4 1c ;XREF[1,0]: 00402e0d
;local_8 undefined4 -8 ;XREF[3,0]: 00402e62,00402e6d,00402e73
;local_c undefined4 -c ;XREF[3,0]: 00402e47,00402e87,00402eb1
;local_10 undefined4 -10 ;XREF[1,0]: 00402e6a
;local_14 undefined4 -14 ;XREF[2,0]: 00402e76,00402e82
;local_18 undefined4 -18 ;XREF[1,0]: 00402e57
;local_1c undefined4 -1c ;XREF[2,0]: 00402e51,00402e79
;local_20 undefined4 -20 ;XREF[2,0]: 00402e1b,00402e8b
;local_24 undefined4 -24 ;XREF[2,0]: 00402e17,00402e22
;local_28 undefined4 -28 ;XREF[2,0]: 00402e13,00402e1f
;local_2c undefined4 -2c ;XREF[1,0]: 00402e10
;local_30 undefined4 -30 ;XREF[1,0]: 00402e0a
;local_34 undefined4 -34 ;XREF[1,0]: 00402e04
;local_38 undefined4 -38 ;XREF[1,0]: 00402dfe
;local_3c undefined4 -3c ;XREF[1,0]: 00402df8
;local_40 undefined4 -40 ;XREF[1,0]: 00402de7
;local_44 undefined4 -44 ;XREF[7,0]: 00402de3,00402df3,00402e2b,00402e2e,00402e98
; 00402e9a,00402ea8
;XREF[2,0]: 00403058,00403c7a
.text:00402dc1 55 PUSH EBP
.text:00402dc2 8bec MOV EBP,ESP
.text:00402dc4 83ec40 SUB ESP,0x40
.text:00402dc7 53 PUSH EBX
.text:00402dc8 817d08230... CMP dword ptr [EBP + param_1+0x4],0x123
.text:00402dcf 7512 JNZ LAB_00402de3
.text:00402dd1 b88b2e4000 MOV EAX,0x402e8b
.text:00402dd6 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00402dd9 8901 MOV dword ptr [ECX],EAX
.text:00402ddb 33c0 XOR EAX,EAX
.text:00402ddd 40 INC EAX
.text:00402dde e9d1000000 JMP LAB_00402eb4
LAB_00402de3: ;XREF[1,0]: 00402dcf
.text:00402de3 8365c000 AND dword ptr [EBP + local_44+0x4],0x0
.text:00402de7 c745c4d72... MOV dword ptr [EBP +...,FID_conflict:Tran...
.text:00402dee a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00402df3 8d4dc0 LEA ECX=>local_44,[EBP + -0x40]
.text:00402df6 33c1 XOR EAX,ECX
.text:00402df8 8945c8 MOV dword ptr [EBP + local_3c+0x4],EAX
.text:00402dfb 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:00402dfe 8945cc MOV dword ptr [EBP + local_38+0x4],EAX
.text:00402e01 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00402e04 8945d0 MOV dword ptr [EBP + local_34+0x4],EAX
.text:00402e07 8b451c MOV EAX,dword ptr [EBP + param_6+0x4]
.text:00402e0a 8945d4 MOV dword ptr [EBP + local_30+0x4],EAX
.text:00402e0d 8b4520 MOV EAX,dword ptr [EBP + param_7+0x4]
.text:00402e10 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:00402e13 8365dc00 AND dword ptr [EBP + local_28+0x4],0x0
.text:00402e17 8365e000 AND dword ptr [EBP + local_24+0x4],0x0
.text:00402e1b 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
.text:00402e1f 8965dc MOV dword ptr [EBP + local_28+0x4],ESP
.text:00402e22 896de0 MOV dword ptr [EBP + local_24+0x4],EBP
.text:00402e25 64a100000000 MOV EAX,FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:00402e2b 8945c0 MOV dword ptr [EBP + local_44+0x4],EAX
.text:00402e2e 8d45c0 LEA EAX=>local_44,[EBP + -0x40]
.text:00402e31 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:00402e37 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00402e3a ff30 PUSH dword ptr [EAX]
.text:00402e3c e86a7e0100 CALL __filter_x86_sse2_floating_point_exce...;int __filter_x86_sse2_floating_point...
.text:00402e41 59 POP ECX
.text:00402e42 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00402e45 8901 MOV dword ptr [ECX],EAX
.text:00402e47 c745f8010... MOV dword ptr [EBP + local_c+0x4],0x1
.text:00402e4e 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00402e51 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:00402e54 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00402e57 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00402e5a e8e4faffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00402e5f 8b4008 MOV EAX,dword ptr [EAX + 0x8]
.text:00402e62 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00402e65 a118b14100 MOV EAX,[->_guard_check_icall] ;= 00401c9f
.text:00402e6a 8945f4 MOV dword ptr [EBP +...,EAX=>_guard_check...
.text:00402e6d 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00402e70 ff55f4 CALL dword ptr [EBP + -0xc]=>_guard_check_...;undefined _guard_check_icall(void)
.text:00402e73 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00402e76 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00402e79 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:00402e7c 50 PUSH EAX
.text:00402e7d 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00402e80 ff30 PUSH dword ptr [EAX]
.text:00402e82 ff55f0 CALL dword ptr [EBP + local_14+0x4]
.text:00402e85 59 POP ECX
.text:00402e86 59 POP ECX
.text:00402e87 8365f800 AND dword ptr [EBP + local_c+0x4],0x0
.text:00402e8b 837de400 CMP dword ptr [EBP + local_20+0x4],0x0
.text:00402e8f 7417 JZ LAB_00402ea8
.text:00402e91 648b1d000... MOV EBX,dword ptr FS:[0x0]=>tdb:Exception...;= 00000000
.text:00402e98 8b03 MOV EAX,dword ptr [EBX]=>local_44
.text:00402e9a 8b5dc0 MOV EBX=>local_44,dword ptr [EBP + -0x40]
.text:00402e9d 8903 MOV dword ptr [EBX],EAX
.text:00402e9f 64891d000... MOV dword ptr FS:[0x...,EBX ;= 00000000
.text:00402ea6 eb09 JMP LAB_00402eb1
LAB_00402ea8: ;XREF[1,0]: 00402e8f
.text:00402ea8 8b45c0 MOV EAX,dword ptr [EBP + local_44+0x4]
.text:00402eab 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
LAB_00402eb1: ;XREF[1,0]: 00402ea6
.text:00402eb1 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
LAB_00402eb4: ;XREF[1,0]: 00402dde
.text:00402eb4 5b POP EBX
.text:00402eb5 c9 LEAVE
.text:00402eb6 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void __stdcall _JumpToContinuation(void *,struct EHRegistrationNode *) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;void _JumpToContinuation(void * param_1, EHRegistrationNode * param_2)
;param_1 void * 4 ;XREF[1,0]: 00402ed4
;param_2 EHRegistrat... 8 ;XREF[2,0]: 00402ebc,00402ed7
;local_8 undefined4 -8 ;XREF[2,0]: 00402ec2,00402eda
;XREF[1,0]: 00403871
.text:00402eb7 55 PUSH EBP
.text:00402eb8 8bec MOV EBP,ESP
.text:00402eba 51 PUSH ECX
.text:00402ebb 53 PUSH EBX
.text:00402ebc 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00402ebf 83c00c ADD EAX,0xc
.text:00402ec2 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00402ec5 648b1d000... MOV EBX,dword ptr FS:[0x0]=>tdb:Exception...;= 00000000
.text:00402ecc 8b03 MOV EAX,dword ptr [EBX]
.text:00402ece 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:00402ed4 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00402ed7 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:00402eda 8b6dfc MOV EBP,dword ptr [EBP + local_8+0x4]
.text:00402edd 8b63fc MOV ESP,dword ptr [EBX + -0x4]
.text:00402ee0 ffe0 JMP EAX
.text:00402ee2 5b ?? 5Bh [
.text:00402ee3 c9 ?? C9h
.text:00402ee4 c2 ?? C2h
.text:00402ee5 08 ?? 08h
.text:00402ee6 00 ?? 00h
;************************************************************************************************
;* Library Function - Single Match *
;* void __stdcall _UnwindNestedFrames(struct EHRegistrationNode *,struct EHExceptionRecord *) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;void _UnwindNestedFrames(EHRegistrationNode * param_1, EHExceptionRecord * param_2)
;param_1 EHRegistrat... 4 ;XREF[1,0]: 00402f08
;param_2 EHException... 8 ;XREF[3,0]: 00402f02,00402f11,00402f1a
;local_8 undefined4 -8 ;XREF[2,0]: 00402ef9,00402f05
;local_c undefined4 -c ;XREF[2,0]: 00402ef6,00402f27
;XREF[3,0]: 00403040,0040382a,00403bfa
.text:00402ee7 55 PUSH EBP
.text:00402ee8 8bec MOV EBP,ESP
.text:00402eea 51 PUSH ECX
.text:00402eeb 51 PUSH ECX
.text:00402eec 53 PUSH EBX
.text:00402eed 56 PUSH ESI
.text:00402eee 57 PUSH EDI
.text:00402eef 648b35000... MOV ESI,dword ptr FS:[0x0]=>tdb:Exception...;= 00000000
.text:00402ef6 8975f8 MOV dword ptr [EBP + local_c+0x4],ESI
.text:00402ef9 c745fc112... MOV dword ptr [EBP + local_8+0x4],0x402f11
.text:00402f00 6a00 PUSH 0x0 ;PVOID ReturnValue for RtlUnwind
.text:00402f02 ff750c PUSH dword ptr [EBP + param_2+0x4] ;PEXCEPTION_RECORD ExceptionRecord fo...
.text:00402f05 ff75fc PUSH dword ptr [EBP + local_8+0x4] ;PVOID TargetIp for RtlUnwind
.text:00402f08 ff7508 PUSH dword ptr [EBP + param_1+0x4] ;PVOID TargetFrame for RtlUnwind
.text:00402f0b ff1534b04100 CALL dword ptr [->KERNEL32.DLL::RtlUnwind] ;= 0002240a
.text:00402f11 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00402f14 8b4004 MOV EAX,dword ptr [EAX + 0x4]
.text:00402f17 83e0fd AND EAX,0xfffffffd
.text:00402f1a 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00402f1d 894104 MOV dword ptr [ECX + 0x4],EAX
.text:00402f20 648b3d000... MOV EDI,dword ptr FS:[0x0]=>tdb:Exception...;= 00000000
.text:00402f27 8b5df8 MOV EBX,dword ptr [EBP + local_c+0x4]
.text:00402f2a 893b MOV dword ptr [EBX],EDI
.text:00402f2c 64891d000... MOV dword ptr FS:[0x...,EBX ;= 00000000
.text:00402f33 5f POP EDI
.text:00402f34 5e POP ESI
.text:00402f35 5b POP EBX
.text:00402f36 c9 LEAVE
.text:00402f37 c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00402f3a(EHExceptionRecord * param_1, EHRegistrationNode * param_2, _CONTEXT * param_3)
;param_1 EHException... 4 ;XREF[1,0]: 00402f5d
;param_2 EHRegistrat... 8 ;XREF[1,0]: 00402f3f
;param_3 _CONTEXT * c ;XREF[1,0]: 00402f57
;XREF[2,0]: 00402d87,004215a4
.text:00402f3a 55 PUSH EBP
.text:00402f3b 8bec MOV EBP,ESP
.text:00402f3d 56 PUSH ESI
.text:00402f3e fc CLD
.text:00402f3f 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00402f42 8b4e08 MOV ECX,dword ptr [ESI + 0x8]
.text:00402f45 33ce XOR ECX,ESI
.text:00402f47 e8d9f1ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00402f4c 6a00 PUSH 0x0
.text:00402f4e 56 PUSH ESI
.text:00402f4f ff7614 PUSH dword ptr [ESI + 0x14]
.text:00402f52 ff760c PUSH dword ptr [ESI + 0xc]
.text:00402f55 6a00 PUSH 0x0
.text:00402f57 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00402f5a ff7610 PUSH dword ptr [ESI + 0x10]
.text:00402f5d ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00402f60 e8810f0000 CALL FUN_00403ee6 ;undefined FUN_00403ee6(EHExceptionRe...
.text:00402f65 83c420 ADD ESP,0x20
.text:00402f68 5e POP ESI
.text:00402f69 5d POP EBP
.text:00402f6a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __CreateFrameInfo *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined4 * __CreateFrameInfo(undefined4 * param_1, undefined4 param_2)
;param_1 undefined4 * 4 ;XREF[1,0]: 00402f72
;param_2 undefined4 8 ;XREF[1,0]: 00402f6e
;XREF[1,0]: 00403fd4
.text:00402f6b 55 PUSH EBP
.text:00402f6c 8bec MOV EBP,ESP
.text:00402f6e 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00402f71 56 PUSH ESI
.text:00402f72 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00402f75 890e MOV dword ptr [ESI],ECX
.text:00402f77 e8c7f9ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00402f7c 8b4824 MOV ECX,dword ptr [EAX + 0x24]
.text:00402f7f 894e04 MOV dword ptr [ESI + 0x4],ECX
.text:00402f82 e8bcf9ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00402f87 897024 MOV dword ptr [EAX + 0x24],ESI
.text:00402f8a 8bc6 MOV EAX,ESI
.text:00402f8c 5e POP ESI
.text:00402f8d 5d POP EBP
.text:00402f8e c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __FindAndUnlinkFrame *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined __FindAndUnlinkFrame(int param_1)
;param_1 int 4 ;XREF[1,0]: 00402f98
;XREF[1,0]: 0040410a
.text:00402f8f 55 PUSH EBP
.text:00402f90 8bec MOV EBP,ESP
.text:00402f92 56 PUSH ESI
.text:00402f93 e8abf9ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00402f98 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00402f9b 3b7024 CMP ESI,dword ptr [EAX + 0x24]
.text:00402f9e 750e JNZ LAB_00402fae
.text:00402fa0 8b7604 MOV ESI,dword ptr [ESI + 0x4]
.text:00402fa3 e89bf9ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00402fa8 897024 MOV dword ptr [EAX + 0x24],ESI
LAB_00402fab: ;XREF[1,0]: 00402fcf
.text:00402fab 5e POP ESI
.text:00402fac 5d POP EBP
.text:00402fad c3 RET
LAB_00402fae: ;XREF[1,0]: 00402f9e
.text:00402fae e890f9ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00402fb3 8b4824 MOV ECX,dword ptr [EAX + 0x24]
.text:00402fb6 83c104 ADD ECX,0x4
.text:00402fb9 eb07 JMP LAB_00402fc2
LAB_00402fbb: ;XREF[1,0]: 00402fc8
.text:00402fbb 3bf0 CMP ESI,EAX
.text:00402fbd 740b JZ LAB_00402fca
.text:00402fbf 8d4804 LEA ECX,[EAX + 0x4]
LAB_00402fc2: ;XREF[1,0]: 00402fb9
.text:00402fc2 8b01 MOV EAX,dword ptr [ECX]
.text:00402fc4 85c0 TEST EAX,EAX
.text:00402fc6 7409 JZ LAB_00402fd1
.text:00402fc8 ebf1 JMP LAB_00402fbb
LAB_00402fca: ;XREF[1,0]: 00402fbd
.text:00402fca 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00402fcd 8901 MOV dword ptr [ECX],EAX
.text:00402fcf ebda JMP LAB_00402fab
LAB_00402fd1: ;XREF[1,0]: 00402fc6
.text:00402fd1 e873ab0000 CALL _abort ;void _abort(void)
.text:00402fd6 cc align align(1)
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* enum _EXCEPTION_DISPOSITION __cdecl TranslatorGuardHandler(struct EHExceptionRecord *,struct...*
;* __TranslatorGuardHandler *
;* *
;* Libraries: Visual Studio 2012 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined4 FID_conflict:TranslatorGuardHandler(EHExceptionRecord * param_1, EHRegistrationNode * param_2, _CONTEXT * param_3)
;param_1 EHException... 4 ;XREF[3,0]: 00402feb,00403026,0040303a
;param_2 EHRegistrat... 8 ;XREF[10,0]: 00402fdd,00402fe3,00402ff6,00403009,0040300f
; 00403015,00403020,00403031,0040303d,00403063
;param_3 _CONTEXT * c ;XREF[1,0]: 0040301d
;local_8 undefined4 -8 ;XREF[2,0]: 0040304f,00403060
;XREF[2,0]: 00402de7,004215a8
.text:00402fd7 55 PUSH EBP
.text:00402fd8 8bec MOV EBP,ESP
.text:00402fda 51 PUSH ECX
.text:00402fdb 53 PUSH EBX
.text:00402fdc fc CLD
.text:00402fdd 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00402fe0 8b4808 MOV ECX,dword ptr [EAX + 0x8]
.text:00402fe3 334d0c XOR ECX,dword ptr [EBP + param_2+0x4]
.text:00402fe6 e83af1ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00402feb 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00402fee 8b4004 MOV EAX,dword ptr [EAX + 0x4]
.text:00402ff1 83e066 AND EAX,0x66
.text:00402ff4 7411 JZ LAB_00403007
.text:00402ff6 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00402ff9 c74024010... MOV dword ptr [EAX + 0x24],0x1
.text:00403000 33c0 XOR EAX,EAX
.text:00403002 40 INC EAX
.text:00403003 eb6c JMP LAB_00403071
.text:00403005 eb ?? EBh
.text:00403006 6a ?? 6Ah j
LAB_00403007: ;XREF[1,0]: 00402ff4
.text:00403007 6a01 PUSH 0x1
.text:00403009 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040300c ff7018 PUSH dword ptr [EAX + 0x18]
.text:0040300f 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00403012 ff7014 PUSH dword ptr [EAX + 0x14]
.text:00403015 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00403018 ff700c PUSH dword ptr [EAX + 0xc]
.text:0040301b 6a00 PUSH 0x0
.text:0040301d ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00403020 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00403023 ff7010 PUSH dword ptr [EAX + 0x10]
.text:00403026 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00403029 e8b80e0000 CALL FUN_00403ee6 ;undefined FUN_00403ee6(EHExceptionRe...
.text:0040302e 83c420 ADD ESP,0x20
.text:00403031 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00403034 83782400 CMP dword ptr [EAX + 0x24],0x0
.text:00403038 750b JNZ LAB_00403045
.text:0040303a ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040303d ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403040 e8a2feffff CALL _UnwindNestedFrames ;void _UnwindNestedFrames(EHRegistrat...
LAB_00403045: ;XREF[1,0]: 00403038
.text:00403045 6a00 PUSH 0x0
.text:00403047 6a00 PUSH 0x0
.text:00403049 6a00 PUSH 0x0
.text:0040304b 6a00 PUSH 0x0
.text:0040304d 6a00 PUSH 0x0
.text:0040304f 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:00403052 50 PUSH EAX
.text:00403053 6823010000 PUSH 0x123
.text:00403058 e864fdffff CALL FUN_00402dc1 ;undefined4 FUN_00402dc1(int * param_...
.text:0040305d 83c41c ADD ESP,0x1c
.text:00403060 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00403063 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:00403066 8b631c MOV ESP,dword ptr [EBX + 0x1c]
.text:00403069 8b6b20 MOV EBP,dword ptr [EBX + 0x20]
.text:0040306c ffe0 JMP EAX
.text:0040306e 33 ?? 33h 3
.text:0040306f c0 ?? C0h
.text:00403070 40 ?? 40h @
LAB_00403071: ;XREF[1,0]: 00403003
.text:00403071 5b POP EBX
.text:00403072 c9 LEAVE
.text:00403073 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* ___CxxFrameHandler *
;* ___CxxFrameHandler2 *
;* ___CxxFrameHandler3 *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;undefined4 FID_conflict:___CxxFrameHandler3(EHExceptionRecord * param_1, EHRegistrationNode * param_2, _CONTEXT * param_3, void * param_4)
;param_1 EHException... 4 ;XREF[1,0]: 00403092
;param_2 EHRegistrat... 8 ;XREF[1,0]: 0040308f
;param_3 _CONTEXT * c ;XREF[1,0]: 0040308c
;param_4 void * 10 ;XREF[1,0]: 00403089
;local_8 undefined4 -8 ;XREF[2,0]: 0040307e,00403086
;local_c undefined4 -c ;XREF[2,0]: 0040309d,004030a3
;XREF[6,0]: 0041ad3b,0041ad58,0041ad75,0041ad92
; 0041adaf,0041add9
.text:00403074 55 PUSH EBP
.text:00403075 8bec MOV EBP,ESP
.text:00403077 83ec08 SUB ESP,0x8
.text:0040307a 53 PUSH EBX
.text:0040307b 56 PUSH ESI
.text:0040307c 57 PUSH EDI
.text:0040307d fc CLD
.text:0040307e 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00403081 33c0 XOR EAX,EAX
.text:00403083 50 PUSH EAX
.text:00403084 50 PUSH EAX
.text:00403085 50 PUSH EAX
.text:00403086 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:00403089 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040308c ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040308f ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403092 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00403095 e84c0e0000 CALL FUN_00403ee6 ;undefined FUN_00403ee6(EHExceptionRe...
.text:0040309a 83c420 ADD ESP,0x20
.text:0040309d 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:004030a0 5f POP EDI
.text:004030a1 5e POP ESI
.text:004030a2 5b POP EBX
.text:004030a3 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:004030a6 8be5 MOV ESP,EBP
.text:004030a8 5d POP EBP
.text:004030a9 c3 RET
.text:004030aa cccccccccccc align align(6)
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* _memcpy *
;* _memmove *
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;void * FID_conflict:_memcpy(void * _Dst, void * _Src, size_t _Size)
;_Dst void * 4 ;XREF[12,0]: 004030ba,00403100,00403324,00403330,00403342
; 0040335c,004033d0,004033de,004033f4,0040340e
; 004034f4,004035e0
;_Src void * 8 ;XREF[1,0]: 004030b2
;_Size size_t c ;XREF[1,0]: 004030b6
;local_8 undefined1 -8 ;XREF[2,0]: 00403517,004035d6
;XREF[15,0]: 004012e8,00401405,004036d2,00403717
; 00409864,00409de9,0040a4c1,0040a9e9
; 0040ca5f,0040f7ba,0040fae6,00413bfa
; 00414735,00415015,00415531
.text:004030b0 57 PUSH EDI
.text:004030b1 56 PUSH ESI
.text:004030b2 8b742410 MOV ESI,dword ptr [ESP + _Src+0x8]
.text:004030b6 8b4c2414 MOV ECX,dword ptr [ESP + _Size+0x8]
.text:004030ba 8b7c240c MOV EDI,dword ptr [ESP + _Dst+0x8]
.text:004030be 8bc1 MOV EAX,ECX
.text:004030c0 8bd1 MOV EDX,ECX
.text:004030c2 03c6 ADD EAX,ESI
.text:004030c4 3bfe CMP EDI,ESI
.text:004030c6 7608 JBE LAB_004030d0
.text:004030c8 3bf8 CMP EDI,EAX
.text:004030ca 0f8294020000 JC LAB_00403364
LAB_004030d0: ;XREF[1,0]: 004030c6
.text:004030d0 83f920 CMP ECX,0x20
.text:004030d3 0f82d2040000 JC LAB_004035ab
.text:004030d9 81f980000000 CMP ECX,0x80
.text:004030df 7313 JNC LAB_004030f4
.text:004030e1 0fba25103... BT dword ptr [.data:DAT_00423010],0x1 ;= 00000001h
.text:004030e9 0f828e040000 JC LAB_0040357d
.text:004030ef e9e3010000 JMP LAB_004032d7
LAB_004030f4: ;XREF[1,0]: 004030df
.text:004030f4 0fba25403... BT dword ptr [.data:DAT_00423940],0x1
.text:004030fc 7309 JNC LAB_00403107
.text:004030fe f3a4 MOVSB.REP ES:EDI,ESI
.text:00403100 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:00403104 5e POP ESI
.text:00403105 5f POP EDI
.text:00403106 c3 RET
LAB_00403107: ;XREF[1,0]: 004030fc
.text:00403107 8bc7 MOV EAX,EDI
.text:00403109 33c6 XOR EAX,ESI
.text:0040310b a90f000000 TEST EAX,0xf
.text:00403110 750e JNZ LAB_00403120
.text:00403112 0fba25103... BT dword ptr [.data:DAT_00423010],0x1 ;= 00000001h
.text:0040311a 0f82e0030000 JC LAB_00403500
LAB_00403120: ;XREF[1,0]: 00403110
.text:00403120 0fba25403... BT dword ptr [.data:DAT_00423940],0x0
.text:00403128 0f83a9010000 JNC LAB_004032d7
.text:0040312e f7c703000000 TEST EDI,0x3
.text:00403134 0f859d010000 JNZ LAB_004032d7
.text:0040313a f7c603000000 TEST ESI,0x3
.text:00403140 0f85ac010000 JNZ LAB_004032f2
.text:00403146 0fbae702 BT EDI,0x2
.text:0040314a 730d JNC LAB_00403159
.text:0040314c 8b06 MOV EAX,dword ptr [ESI]
.text:0040314e 83e904 SUB ECX,0x4
.text:00403151 8d7604 LEA ESI,[ESI + 0x4]
.text:00403154 8907 MOV dword ptr [EDI],EAX
.text:00403156 8d7f04 LEA EDI,[EDI + 0x4]
LAB_00403159: ;XREF[1,0]: 0040314a
.text:00403159 0fbae703 BT EDI,0x3
.text:0040315d 7311 JNC LAB_00403170
.text:0040315f f30f7e0e MOVQ XMM1,qword ptr [ESI]
.text:00403163 83e908 SUB ECX,0x8
.text:00403166 8d7608 LEA ESI,[ESI + 0x8]
.text:00403169 660fd60f MOVQ qword ptr [EDI],XMM1
.text:0040316d 8d7f08 LEA EDI,[EDI + 0x8]
LAB_00403170: ;XREF[1,0]: 0040315d
.text:00403170 f7c607000000 TEST ESI,0x7
.text:00403176 7465 JZ LAB_004031dd
.text:00403178 0fbae603 BT ESI,0x3
.text:0040317c 0f83b4000000 JNC LAB_00403236
.text:00403182 660f6f4ef4 MOVDQA XMM1,xmmword ptr [ESI + -0xc]
.text:00403187 8d76f4 LEA ESI,[ESI + -0xc]
.text:0040318a 8bff MOV EDI,EDI
LAB_0040318c: ;XREF[1,0]: 004031d3
.text:0040318c 660f6f5e10 MOVDQA XMM3,xmmword ptr [ESI + 0x10]
.text:00403191 83e930 SUB ECX,0x30
.text:00403194 660f6f4620 MOVDQA XMM0,xmmword ptr [ESI + 0x20]
.text:00403199 660f6f6e30 MOVDQA XMM5,xmmword ptr [ESI + 0x30]
.text:0040319e 8d7630 LEA ESI,[ESI + 0x30]
.text:004031a1 83f930 CMP ECX,0x30
.text:004031a4 660f6fd3 MOVDQA XMM2,XMM3
.text:004031a8 660f3a0fd90c PALIGNR XMM3,XMM1,0xc
.text:004031ae 660f7f1f MOVDQA xmmword ptr [EDI],XMM3
.text:004031b2 660f6fe0 MOVDQA XMM4,XMM0
.text:004031b6 660f3a0fc20c PALIGNR XMM0,XMM2,0xc
.text:004031bc 660f7f4710 MOVDQA xmmword ptr [EDI + 0x10],XMM0
.text:004031c1 660f6fcd MOVDQA XMM1,XMM5
.text:004031c5 660f3a0fec0c PALIGNR XMM5,XMM4,0xc
.text:004031cb 660f7f6f20 MOVDQA xmmword ptr [EDI + 0x20],XMM5
.text:004031d0 8d7f30 LEA EDI,[EDI + 0x30]
.text:004031d3 73b7 JNC LAB_0040318c
.text:004031d5 8d760c LEA ESI,[ESI + 0xc]
.text:004031d8 e9af000000 JMP LAB_0040328c
LAB_004031dd: ;XREF[1,0]: 00403176
.text:004031dd 660f6f4ef8 MOVDQA XMM1,xmmword ptr [ESI + -0x8]
.text:004031e2 8d76f8 LEA ESI,[ESI + -0x8]
.text:004031e5 8d4900 LEA ECX,[ECX]
LAB_004031e8: ;XREF[1,0]: 0040322f
.text:004031e8 660f6f5e10 MOVDQA XMM3,xmmword ptr [ESI + 0x10]
.text:004031ed 83e930 SUB ECX,0x30
.text:004031f0 660f6f4620 MOVDQA XMM0,xmmword ptr [ESI + 0x20]
.text:004031f5 660f6f6e30 MOVDQA XMM5,xmmword ptr [ESI + 0x30]
.text:004031fa 8d7630 LEA ESI,[ESI + 0x30]
.text:004031fd 83f930 CMP ECX,0x30
.text:00403200 660f6fd3 MOVDQA XMM2,XMM3
.text:00403204 660f3a0fd908 PALIGNR XMM3,XMM1,0x8
.text:0040320a 660f7f1f MOVDQA xmmword ptr [EDI],XMM3
.text:0040320e 660f6fe0 MOVDQA XMM4,XMM0
.text:00403212 660f3a0fc208 PALIGNR XMM0,XMM2,0x8
.text:00403218 660f7f4710 MOVDQA xmmword ptr [EDI + 0x10],XMM0
.text:0040321d 660f6fcd MOVDQA XMM1,XMM5
.text:00403221 660f3a0fec08 PALIGNR XMM5,XMM4,0x8
.text:00403227 660f7f6f20 MOVDQA xmmword ptr [EDI + 0x20],XMM5
.text:0040322c 8d7f30 LEA EDI,[EDI + 0x30]
.text:0040322f 73b7 JNC LAB_004031e8
.text:00403231 8d7608 LEA ESI,[ESI + 0x8]
.text:00403234 eb56 JMP LAB_0040328c
LAB_00403236: ;XREF[1,0]: 0040317c
.text:00403236 660f6f4efc MOVDQA XMM1,xmmword ptr [ESI + -0x4]
.text:0040323b 8d76fc LEA ESI,[ESI + -0x4]
.text:0040323e 8bff MOV EDI,EDI
LAB_00403240: ;XREF[1,0]: 00403287
.text:00403240 660f6f5e10 MOVDQA XMM3,xmmword ptr [ESI + 0x10]
.text:00403245 83e930 SUB ECX,0x30
.text:00403248 660f6f4620 MOVDQA XMM0,xmmword ptr [ESI + 0x20]
.text:0040324d 660f6f6e30 MOVDQA XMM5,xmmword ptr [ESI + 0x30]
.text:00403252 8d7630 LEA ESI,[ESI + 0x30]
.text:00403255 83f930 CMP ECX,0x30
.text:00403258 660f6fd3 MOVDQA XMM2,XMM3
.text:0040325c 660f3a0fd904 PALIGNR XMM3,XMM1,0x4
.text:00403262 660f7f1f MOVDQA xmmword ptr [EDI],XMM3
.text:00403266 660f6fe0 MOVDQA XMM4,XMM0
.text:0040326a 660f3a0fc204 PALIGNR XMM0,XMM2,0x4
.text:00403270 660f7f4710 MOVDQA xmmword ptr [EDI + 0x10],XMM0
.text:00403275 660f6fcd MOVDQA XMM1,XMM5
.text:00403279 660f3a0fec04 PALIGNR XMM5,XMM4,0x4
.text:0040327f 660f7f6f20 MOVDQA xmmword ptr [EDI + 0x20],XMM5
.text:00403284 8d7f30 LEA EDI,[EDI + 0x30]
.text:00403287 73b7 JNC LAB_00403240
.text:00403289 8d7604 LEA ESI,[ESI + 0x4]
LAB_0040328c: ;XREF[3,0]: 004031d8,00403234,004032a2
.text:0040328c 83f910 CMP ECX,0x10
.text:0040328f 7213 JC LAB_004032a4
.text:00403291 f30f6f0e MOVDQU XMM1,xmmword ptr [ESI]
.text:00403295 83e910 SUB ECX,0x10
.text:00403298 8d7610 LEA ESI,[ESI + 0x10]
.text:0040329b 660f7f0f MOVDQA xmmword ptr [EDI],XMM1
.text:0040329f 8d7f10 LEA EDI,[EDI + 0x10]
.text:004032a2 ebe8 JMP LAB_0040328c
LAB_004032a4: ;XREF[1,0]: 0040328f
.text:004032a4 0fbae102 BT ECX,0x2
.text:004032a8 730d JNC LAB_004032b7
.text:004032aa 8b06 MOV EAX,dword ptr [ESI]
.text:004032ac 83e904 SUB ECX,0x4
.text:004032af 8d7604 LEA ESI,[ESI + 0x4]
.text:004032b2 8907 MOV dword ptr [EDI],EAX
.text:004032b4 8d7f04 LEA EDI,[EDI + 0x4]
LAB_004032b7: ;XREF[1,0]: 004032a8
.text:004032b7 0fbae103 BT ECX,0x3
.text:004032bb 7311 JNC LAB_004032ce
.text:004032bd f30f7e0e MOVQ XMM1,qword ptr [ESI]
.text:004032c1 83e908 SUB ECX,0x8
.text:004032c4 8d7608 LEA ESI,[ESI + 0x8]
.text:004032c7 660fd60f MOVQ qword ptr [EDI],XMM1
.text:004032cb 8d7f08 LEA EDI,[EDI + 0x8]
LAB_004032ce: ;XREF[1,0]: 004032bb
.text:004032ce 8b048d143... MOV EAX,dword ptr [ECX*0x4 + switchD_0040...;= 00403324
.text:004032d5 ffe0 JMP EAX
LAB_004032d7: ;XREF[3,0]: 004030ef,00403128,00403134
.text:004032d7 f7c703000000 TEST EDI,0x3
.text:004032dd 7413 JZ LAB_004032f2
LAB_004032df: ;XREF[1,0]: 004032f0
.text:004032df 8a06 MOV AL,byte ptr [ESI]
.text:004032e1 8807 MOV byte ptr [EDI],AL
.text:004032e3 49 DEC ECX
.text:004032e4 83c601 ADD ESI,0x1
.text:004032e7 83c701 ADD EDI,0x1
.text:004032ea f7c703000000 TEST EDI,0x3
.text:004032f0 75ed JNZ LAB_004032df
LAB_004032f2: ;XREF[2,0]: 00403140,004032dd
.text:004032f2 8bd1 MOV EDX,ECX
.text:004032f4 83f920 CMP ECX,0x20
.text:004032f7 0f82ae020000 JC LAB_004035ab
.text:004032fd c1e902 SHR ECX,0x2
.text:00403300 f3a5 MOVSD.REP ES:EDI,ESI
.text:00403302 83e203 AND EDX,0x3
switchD: ; FWD[5,0]: 00403314,00403324,0040332c,00403338
; 0040334c
.text:00403305 ff2495143... JMP dword ptr [EDX*0x4 + switchD_00403305...;= 00403324
.text:0040330c ff ?? FFh
.text:0040330d 24 ?? 24h $
.text:0040330e 8d ?? 8Dh
.text:0040330f 24 ?? 24h $ ;? -> 00403324
.text:00403310 33 ?? 33h 3
.text:00403311 40 ?? 40h @
.text:00403312 00 ?? 00h
.text:00403313 90 ?? 90h
switchdataD_00403314: ;XREF[2,0]: 004032ce,00403305
.text:00403314 24334000 addr switchD_00403305::caseD_0
.text:00403318 2c334000 addr switchD_00403305::caseD_1
.text:0040331c 38334000 addr switchD_00403305::caseD_2
.text:00403320 4c334000 addr switchD_00403305::caseD_3
caseD_0: ;XREF[2,0]: 00403305,00403314
.text:00403324 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:00403328 5e POP ESI
.text:00403329 5f POP EDI
.text:0040332a c3 RET
.text:0040332b 90 ?? 90h
caseD_1: ;XREF[2,0]: 00403305,00403318
.text:0040332c 8a06 MOV AL,byte ptr [ESI]
.text:0040332e 8807 MOV byte ptr [EDI],AL
.text:00403330 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:00403334 5e POP ESI
.text:00403335 5f POP EDI
.text:00403336 c3 RET
.text:00403337 90 ?? 90h
caseD_2: ;XREF[2,0]: 00403305,0040331c
.text:00403338 8a06 MOV AL,byte ptr [ESI]
.text:0040333a 8807 MOV byte ptr [EDI],AL
.text:0040333c 8a4601 MOV AL,byte ptr [ESI + 0x1]
.text:0040333f 884701 MOV byte ptr [EDI + 0x1],AL
.text:00403342 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:00403346 5e POP ESI
.text:00403347 5f POP EDI
.text:00403348 c3 RET
.text:00403349 8d ?? 8Dh
.text:0040334a 49 ?? 49h I
.text:0040334b 00 ?? 00h
caseD_3: ;XREF[2,0]: 00403305,00403320
.text:0040334c 8a06 MOV AL,byte ptr [ESI]
.text:0040334e 8807 MOV byte ptr [EDI],AL
.text:00403350 8a4601 MOV AL,byte ptr [ESI + 0x1]
.text:00403353 884701 MOV byte ptr [EDI + 0x1],AL
.text:00403356 8a4602 MOV AL,byte ptr [ESI + 0x2]
.text:00403359 884702 MOV byte ptr [EDI + 0x2],AL
.text:0040335c 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:00403360 5e POP ESI
.text:00403361 5f POP EDI
.text:00403362 c3 RET
.text:00403363 90 ?? 90h
LAB_00403364: ;XREF[1,0]: 004030ca
.text:00403364 8d340e LEA ESI,[ESI + ECX*0x1]
.text:00403367 8d3c0f LEA EDI,[EDI + ECX*0x1]
.text:0040336a 83f920 CMP ECX,0x20
.text:0040336d 0f8251010000 JC LAB_004034c4
.text:00403373 0fba25103... BT dword ptr [.data:DAT_00423010],0x1 ;= 00000001h
.text:0040337b 0f8294000000 JC LAB_00403415
.text:00403381 f7c703000000 TEST EDI,0x3
.text:00403387 7414 JZ LAB_0040339d
.text:00403389 8bd7 MOV EDX,EDI
.text:0040338b 83e203 AND EDX,0x3
.text:0040338e 2bca SUB ECX,EDX
LAB_00403390: ;XREF[1,0]: 0040339b
.text:00403390 8a46ff MOV AL,byte ptr [ESI + -0x1]
.text:00403393 8847ff MOV byte ptr [EDI + -0x1],AL
.text:00403396 4e DEC ESI
.text:00403397 4f DEC EDI
.text:00403398 83ea01 SUB EDX,0x1
.text:0040339b 75f3 JNZ LAB_00403390
LAB_0040339d: ;XREF[1,0]: 00403387
.text:0040339d 83f920 CMP ECX,0x20
.text:004033a0 0f821e010000 JC LAB_004034c4
.text:004033a6 8bd1 MOV EDX,ECX
.text:004033a8 c1e902 SHR ECX,0x2
.text:004033ab 83e203 AND EDX,0x3
.text:004033ae 83ee04 SUB ESI,0x4
.text:004033b1 83ef04 SUB EDI,0x4
.text:004033b4 fd STD
.text:004033b5 f3a5 MOVSD.REP ES:EDI,ESI
.text:004033b7 fc CLD
switchD: ; FWD[5,0]: 004033c0,004033d0,004033d8,004033e8
; 004033fc
.text:004033b8 ff2495c03... JMP dword ptr [EDX*0x4 + switchD_004033b8...;= 004033d0
.text:004033bf 90 ?? 90h
switchdataD_004033c0: ;XREF[1,0]: 004033b8
.text:004033c0 d0334000 addr switchD_004033b8::caseD_0
.text:004033c4 d8334000 addr switchD_004033b8::caseD_1
.text:004033c8 e8334000 addr switchD_004033b8::caseD_2
.text:004033cc fc334000 addr switchD_004033b8::caseD_3
caseD_0: ;XREF[2,0]: 004033b8,004033c0
.text:004033d0 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:004033d4 5e POP ESI
.text:004033d5 5f POP EDI
.text:004033d6 c3 RET
.text:004033d7 90 ?? 90h
caseD_1: ;XREF[2,0]: 004033b8,004033c4
.text:004033d8 8a4603 MOV AL,byte ptr [ESI + 0x3]
.text:004033db 884703 MOV byte ptr [EDI + 0x3],AL
.text:004033de 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:004033e2 5e POP ESI
.text:004033e3 5f POP EDI
.text:004033e4 c3 RET
.text:004033e5 8d ?? 8Dh
.text:004033e6 49 ?? 49h I
.text:004033e7 00 ?? 00h
caseD_2: ;XREF[2,0]: 004033b8,004033c8
.text:004033e8 8a4603 MOV AL,byte ptr [ESI + 0x3]
.text:004033eb 884703 MOV byte ptr [EDI + 0x3],AL
.text:004033ee 8a4602 MOV AL,byte ptr [ESI + 0x2]
.text:004033f1 884702 MOV byte ptr [EDI + 0x2],AL
.text:004033f4 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:004033f8 5e POP ESI
.text:004033f9 5f POP EDI
.text:004033fa c3 RET
.text:004033fb 90 ?? 90h
caseD_3: ;XREF[2,0]: 004033b8,004033cc
.text:004033fc 8a4603 MOV AL,byte ptr [ESI + 0x3]
.text:004033ff 884703 MOV byte ptr [EDI + 0x3],AL
.text:00403402 8a4602 MOV AL,byte ptr [ESI + 0x2]
.text:00403405 884702 MOV byte ptr [EDI + 0x2],AL
.text:00403408 8a4601 MOV AL,byte ptr [ESI + 0x1]
.text:0040340b 884701 MOV byte ptr [EDI + 0x1],AL
.text:0040340e 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:00403412 5e POP ESI
.text:00403413 5f POP EDI
.text:00403414 c3 RET
LAB_00403415: ;XREF[1,0]: 0040337b
.text:00403415 f7c70f000000 TEST EDI,0xf
.text:0040341b 740f JZ LAB_0040342c
LAB_0040341d: ;XREF[1,0]: 0040342a
.text:0040341d 49 DEC ECX
.text:0040341e 4e DEC ESI
.text:0040341f 4f DEC EDI
.text:00403420 8a06 MOV AL,byte ptr [ESI]
.text:00403422 8807 MOV byte ptr [EDI],AL
.text:00403424 f7c70f000000 TEST EDI,0xf
.text:0040342a 75f1 JNZ LAB_0040341d
LAB_0040342c: ;XREF[2,0]: 0040341b,0040349a
.text:0040342c 81f980000000 CMP ECX,0x80
.text:00403432 7268 JC LAB_0040349c
.text:00403434 81ee80000000 SUB ESI,0x80
.text:0040343a 81ef80000000 SUB EDI,0x80
.text:00403440 f30f6f06 MOVDQU XMM0,xmmword ptr [ESI]
.text:00403444 f30f6f4e10 MOVDQU XMM1,xmmword ptr [ESI + 0x10]
.text:00403449 f30f6f5620 MOVDQU XMM2,xmmword ptr [ESI + 0x20]
.text:0040344e f30f6f5e30 MOVDQU XMM3,xmmword ptr [ESI + 0x30]
.text:00403453 f30f6f6640 MOVDQU XMM4,xmmword ptr [ESI + 0x40]
.text:00403458 f30f6f6e50 MOVDQU XMM5,xmmword ptr [ESI + 0x50]
.text:0040345d f30f6f7660 MOVDQU XMM6,xmmword ptr [ESI + 0x60]
.text:00403462 f30f6f7e70 MOVDQU XMM7,xmmword ptr [ESI + 0x70]
.text:00403467 f30f7f07 MOVDQU xmmword ptr [EDI],XMM0
.text:0040346b f30f7f4f10 MOVDQU xmmword ptr [EDI + 0x10],XMM1
.text:00403470 f30f7f5720 MOVDQU xmmword ptr [EDI + 0x20],XMM2
.text:00403475 f30f7f5f30 MOVDQU xmmword ptr [EDI + 0x30],XMM3
.text:0040347a f30f7f6740 MOVDQU xmmword ptr [EDI + 0x40],XMM4
.text:0040347f f30f7f6f50 MOVDQU xmmword ptr [EDI + 0x50],XMM5
.text:00403484 f30f7f7760 MOVDQU xmmword ptr [EDI + 0x60],XMM6
.text:00403489 f30f7f7f70 MOVDQU xmmword ptr [EDI + 0x70],XMM7
.text:0040348e 81e980000000 SUB ECX,0x80
.text:00403494 f7c180ffffff TEST ECX,0xffffff80
.text:0040349a 7590 JNZ LAB_0040342c
LAB_0040349c: ;XREF[1,0]: 00403432
.text:0040349c 83f920 CMP ECX,0x20
.text:0040349f 7223 JC LAB_004034c4
LAB_004034a1: ;XREF[1,0]: 004034c2
.text:004034a1 83ee20 SUB ESI,0x20
.text:004034a4 83ef20 SUB EDI,0x20
.text:004034a7 f30f6f06 MOVDQU XMM0,xmmword ptr [ESI]
.text:004034ab f30f6f4e10 MOVDQU XMM1,xmmword ptr [ESI + 0x10]
.text:004034b0 f30f7f07 MOVDQU xmmword ptr [EDI],XMM0
.text:004034b4 f30f7f4f10 MOVDQU xmmword ptr [EDI + 0x10],XMM1
.text:004034b9 83e920 SUB ECX,0x20
.text:004034bc f7c1e0ffffff TEST ECX,0xffffffe0
.text:004034c2 75dd JNZ LAB_004034a1
LAB_004034c4: ;XREF[3,0]: 0040336d,004033a0,0040349f
.text:004034c4 f7c1fcffffff TEST ECX,0xfffffffc
.text:004034ca 7415 JZ LAB_004034e1
LAB_004034cc: ;XREF[1,0]: 004034df
.text:004034cc 83ef04 SUB EDI,0x4
.text:004034cf 83ee04 SUB ESI,0x4
.text:004034d2 8b06 MOV EAX,dword ptr [ESI]
.text:004034d4 8907 MOV dword ptr [EDI],EAX
.text:004034d6 83e904 SUB ECX,0x4
.text:004034d9 f7c1fcffffff TEST ECX,0xfffffffc
.text:004034df 75eb JNZ LAB_004034cc
LAB_004034e1: ;XREF[1,0]: 004034ca
.text:004034e1 85c9 TEST ECX,ECX
.text:004034e3 740f JZ LAB_004034f4
LAB_004034e5: ;XREF[1,0]: 004034f2
.text:004034e5 83ef01 SUB EDI,0x1
.text:004034e8 83ee01 SUB ESI,0x1
.text:004034eb 8a06 MOV AL,byte ptr [ESI]
.text:004034ed 8807 MOV byte ptr [EDI],AL
.text:004034ef 83e901 SUB ECX,0x1
.text:004034f2 75f1 JNZ LAB_004034e5
LAB_004034f4: ;XREF[1,0]: 004034e3
.text:004034f4 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:004034f8 5e POP ESI
.text:004034f9 5f POP EDI
.text:004034fa c3 RET
.text:004034fb eb ?? EBh
.text:004034fc 03 ?? 03h
.text:004034fd cc ?? CCh
.text:004034fe cc ?? CCh
.text:004034ff cc ?? CCh
LAB_00403500: ;XREF[1,0]: 0040311a
.text:00403500 8bc6 MOV EAX,ESI
.text:00403502 83e00f AND EAX,0xf
.text:00403505 85c0 TEST EAX,EAX
.text:00403507 0f85e3000000 JNZ LAB_004035f0
LAB_0040350d: ;XREF[1,0]: 0040361f
.text:0040350d 8bd1 MOV EDX,ECX
.text:0040350f 83e17f AND ECX,0x7f
.text:00403512 c1ea07 SHR EDX,0x7
.text:00403515 7466 JZ LAB_0040357d
.text:00403517 8da424000... LEA ESP=>local_8,[ESP]
.text:0040351e 8bff MOV EDI,EDI
LAB_00403520: ;XREF[1,0]: 0040357b
.text:00403520 660f6f06 MOVDQA XMM0,xmmword ptr [ESI]
.text:00403524 660f6f4e10 MOVDQA XMM1,xmmword ptr [ESI + 0x10]
.text:00403529 660f6f5620 MOVDQA XMM2,xmmword ptr [ESI + 0x20]
.text:0040352e 660f6f5e30 MOVDQA XMM3,xmmword ptr [ESI + 0x30]
.text:00403533 660f7f07 MOVDQA xmmword ptr [EDI],XMM0
.text:00403537 660f7f4f10 MOVDQA xmmword ptr [EDI + 0x10],XMM1
.text:0040353c 660f7f5720 MOVDQA xmmword ptr [EDI + 0x20],XMM2
.text:00403541 660f7f5f30 MOVDQA xmmword ptr [EDI + 0x30],XMM3
.text:00403546 660f6f6640 MOVDQA XMM4,xmmword ptr [ESI + 0x40]
.text:0040354b 660f6f6e50 MOVDQA XMM5,xmmword ptr [ESI + 0x50]
.text:00403550 660f6f7660 MOVDQA XMM6,xmmword ptr [ESI + 0x60]
.text:00403555 660f6f7e70 MOVDQA XMM7,xmmword ptr [ESI + 0x70]
.text:0040355a 660f7f6740 MOVDQA xmmword ptr [EDI + 0x40],XMM4
.text:0040355f 660f7f6f50 MOVDQA xmmword ptr [EDI + 0x50],XMM5
.text:00403564 660f7f7760 MOVDQA xmmword ptr [EDI + 0x60],XMM6
.text:00403569 660f7f7f70 MOVDQA xmmword ptr [EDI + 0x70],XMM7
.text:0040356e 8db680000000 LEA ESI,[ESI + 0x80]
.text:00403574 8dbf80000000 LEA EDI,[EDI + 0x80]
.text:0040357a 4a DEC EDX
.text:0040357b 75a3 JNZ LAB_00403520
LAB_0040357d: ;XREF[2,0]: 004030e9,00403515
.text:0040357d 85c9 TEST ECX,ECX
.text:0040357f 745f JZ LAB_004035e0
.text:00403581 8bd1 MOV EDX,ECX
.text:00403583 c1ea05 SHR EDX,0x5
.text:00403586 85d2 TEST EDX,EDX
.text:00403588 7421 JZ LAB_004035ab
.text:0040358a 8d9b00000000 LEA EBX,[EBX]
LAB_00403590: ;XREF[1,0]: 004035a9
.text:00403590 f30f6f06 MOVDQU XMM0,xmmword ptr [ESI]
.text:00403594 f30f6f4e10 MOVDQU XMM1,xmmword ptr [ESI + 0x10]
.text:00403599 f30f7f07 MOVDQU xmmword ptr [EDI],XMM0
.text:0040359d f30f7f4f10 MOVDQU xmmword ptr [EDI + 0x10],XMM1
.text:004035a2 8d7620 LEA ESI,[ESI + 0x20]
.text:004035a5 8d7f20 LEA EDI,[EDI + 0x20]
.text:004035a8 4a DEC EDX
.text:004035a9 75e5 JNZ LAB_00403590
LAB_004035ab: ;XREF[3,0]: 004030d3,004032f7,00403588
.text:004035ab 83e11f AND ECX,0x1f
.text:004035ae 7430 JZ LAB_004035e0
.text:004035b0 8bc1 MOV EAX,ECX
.text:004035b2 c1e902 SHR ECX,0x2
.text:004035b5 740f JZ LAB_004035c6
LAB_004035b7: ;XREF[1,0]: 004035c4
.text:004035b7 8b16 MOV EDX,dword ptr [ESI]
.text:004035b9 8917 MOV dword ptr [EDI],EDX
.text:004035bb 83c704 ADD EDI,0x4
.text:004035be 83c604 ADD ESI,0x4
.text:004035c1 83e901 SUB ECX,0x1
.text:004035c4 75f1 JNZ LAB_004035b7
LAB_004035c6: ;XREF[1,0]: 004035b5
.text:004035c6 8bc8 MOV ECX,EAX
.text:004035c8 83e103 AND ECX,0x3
.text:004035cb 7413 JZ LAB_004035e0
LAB_004035cd: ;XREF[1,0]: 004035d4
.text:004035cd 8a06 MOV AL,byte ptr [ESI]
.text:004035cf 8807 MOV byte ptr [EDI],AL
.text:004035d1 46 INC ESI
.text:004035d2 47 INC EDI
.text:004035d3 49 DEC ECX
.text:004035d4 75f7 JNZ LAB_004035cd
.text:004035d6 8da424000... LEA ESP=>local_8,[ESP]
.text:004035dd 8d4900 LEA ECX,[ECX]
LAB_004035e0: ;XREF[3,0]: 0040357f,004035ae,004035cb
.text:004035e0 8b44240c MOV EAX,dword ptr [ESP + _Dst+0x8]
.text:004035e4 5e POP ESI
.text:004035e5 5f POP EDI
.text:004035e6 c3 RET
.text:004035e7 8d ?? 8Dh
.text:004035e8 a4 ?? A4h
.text:004035e9 24 ?? 24h $
.text:004035ea 00 ?? 00h
.text:004035eb 00 ?? 00h
.text:004035ec 00 ?? 00h
.text:004035ed 00 ?? 00h
.text:004035ee 8b ?? 8Bh
.text:004035ef ff ?? FFh
LAB_004035f0: ;XREF[1,0]: 00403507
.text:004035f0 ba10000000 MOV EDX,0x10
.text:004035f5 2bd0 SUB EDX,EAX
.text:004035f7 2bca SUB ECX,EDX
.text:004035f9 51 PUSH ECX
.text:004035fa 8bc2 MOV EAX,EDX
.text:004035fc 8bc8 MOV ECX,EAX
.text:004035fe 83e103 AND ECX,0x3
.text:00403601 7409 JZ LAB_0040360c
LAB_00403603: ;XREF[1,0]: 0040360a
.text:00403603 8a16 MOV DL,byte ptr [ESI]
.text:00403605 8817 MOV byte ptr [EDI],DL
.text:00403607 46 INC ESI
.text:00403608 47 INC EDI
.text:00403609 49 DEC ECX
.text:0040360a 75f7 JNZ LAB_00403603
LAB_0040360c: ;XREF[1,0]: 00403601
.text:0040360c c1e802 SHR EAX,0x2
.text:0040360f 740d JZ LAB_0040361e
LAB_00403611: ;XREF[1,0]: 0040361c
.text:00403611 8b16 MOV EDX,dword ptr [ESI]
.text:00403613 8917 MOV dword ptr [EDI],EDX
.text:00403615 8d7604 LEA ESI,[ESI + 0x4]
.text:00403618 8d7f04 LEA EDI,[EDI + 0x4]
.text:0040361b 48 DEC EAX
.text:0040361c 75f3 JNZ LAB_00403611
LAB_0040361e: ;XREF[1,0]: 0040360f
.text:0040361e 59 POP ECX
.text:0040361f e9e9feffff JMP LAB_0040350d
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl BuildCatchObjectHelperInternal(struct EHExceptionRecord *...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int BuildCatchObjectHelperInternal(EHExceptionRecord * param_1, void * param_2, _s_HandlerType * param_3, _s_CatchableType * param_4)
;param_1 EHException... 4 ;XREF[1,0]: 00403690
;param_2 void * 8 ;XREF[1,0]: 0040365a
;param_3 _s_HandlerT... c ;XREF[1,0]: 00403632
;param_4 _s_Catchabl... 10 ;XREF[1,0]: 00403669
;local_8 undefined4 -8 ;XREF[2,0]: 00403666,00403736
;local_14 undefined4 -14 ;XREF[1,0]: 0040374c
;local_20 undefined4 -20 ;XREF[2,0]: 0040367a,00403689
;local_24 undefined4 -24 ;XREF[1,0]: 00403733
;XREF[1,0]: 00403791
.text:00403624 6a10 PUSH 0x10
.text:00403626 68481c4200 PUSH .rdata:DAT_00421c48 ;= FEh
.text:0040362b e8d0e8ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00403630 33db XOR EBX,EBX
.text:00403632 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00403635 8b4804 MOV ECX,dword ptr [EAX + 0x4]
.text:00403638 85c9 TEST ECX,ECX
.text:0040363a 0f840a010000 JZ LAB_0040374a
.text:00403640 385908 CMP byte ptr [ECX + 0x8],BL
.text:00403643 0f8401010000 JZ LAB_0040374a
.text:00403649 8b5008 MOV EDX,dword ptr [EAX + 0x8]
.text:0040364c 85d2 TEST EDX,EDX
.text:0040364e 7508 JNZ LAB_00403658
.text:00403650 3918 CMP dword ptr [EAX],EBX
.text:00403652 0f8df2000000 JGE LAB_0040374a
LAB_00403658: ;XREF[1,0]: 0040364e
.text:00403658 8b08 MOV ECX,dword ptr [EAX]
.text:0040365a 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040365d 85c9 TEST ECX,ECX
.text:0040365f 7805 JS LAB_00403666
.text:00403661 83c60c ADD ESI,0xc
.text:00403664 03f2 ADD ESI,EDX
LAB_00403666: ;XREF[1,0]: 0040365f
.text:00403666 895dfc MOV dword ptr [EBP + local_8+0x4],EBX
.text:00403669 8b7d14 MOV EDI,dword ptr [EBP + param_4+0x4]
.text:0040366c 84c9 TEST CL,CL
.text:0040366e 7920 JNS LAB_00403690
.text:00403670 f60710 TEST byte ptr [EDI],0x10
.text:00403673 741b JZ LAB_00403690
.text:00403675 a1643c4200 MOV EAX,[.data:DAT_00423c64] ;= ??
.text:0040367a 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:0040367d 85c0 TEST EAX,EAX
.text:0040367f 740f JZ LAB_00403690
.text:00403681 8bc8 MOV ECX,EAX
.text:00403683 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00403689 ff55e4 CALL dword ptr [EBP + local_20+0x4]
.text:0040368c 8bc8 MOV ECX,EAX
.text:0040368e eb0b JMP LAB_0040369b
LAB_00403690: ;XREF[3,0]: 0040366e,00403673,0040367f
.text:00403690 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00403693 f6c108 TEST CL,0x8
.text:00403696 741c JZ LAB_004036b4
.text:00403698 8b4818 MOV ECX,dword ptr [EAX + 0x18]
LAB_0040369b: ;XREF[1,0]: 0040368e
.text:0040369b 85c9 TEST ECX,ECX
.text:0040369d 0f84b9000000 JZ LAB_0040375c
.text:004036a3 85f6 TEST ESI,ESI
.text:004036a5 0f84b1000000 JZ LAB_0040375c
.text:004036ab 890e MOV dword ptr [ESI],ECX
.text:004036ad 8d4708 LEA EAX,[EDI + 0x8]
.text:004036b0 50 PUSH EAX
.text:004036b1 51 PUSH ECX
.text:004036b2 eb37 JMP LAB_004036eb
LAB_004036b4: ;XREF[1,0]: 00403696
.text:004036b4 f60701 TEST byte ptr [EDI],0x1
.text:004036b7 743d JZ LAB_004036f6
.text:004036b9 83781800 CMP dword ptr [EAX + 0x18],0x0
.text:004036bd 0f8499000000 JZ LAB_0040375c
.text:004036c3 85f6 TEST ESI,ESI
.text:004036c5 0f8491000000 JZ LAB_0040375c
.text:004036cb ff7714 PUSH dword ptr [EDI + 0x14]
.text:004036ce ff7018 PUSH dword ptr [EAX + 0x18]
.text:004036d1 56 PUSH ESI
.text:004036d2 e8d9f9ffff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:004036d7 83c40c ADD ESP,0xc
.text:004036da 837f1404 CMP dword ptr [EDI + 0x14],0x4
.text:004036de 7556 JNZ LAB_00403736
.text:004036e0 833e00 CMP dword ptr [ESI],0x0
.text:004036e3 7451 JZ LAB_00403736
.text:004036e5 8d4708 LEA EAX,[EDI + 0x8]
.text:004036e8 50 PUSH EAX
.text:004036e9 ff36 PUSH dword ptr [ESI]
LAB_004036eb: ;XREF[1,0]: 004036b2
.text:004036eb e8aceeffff CALL ___AdjustPointer ;int ___AdjustPointer(int param_1, in...
.text:004036f0 59 POP ECX
.text:004036f1 59 POP ECX
.text:004036f2 8906 MOV dword ptr [ESI],EAX
.text:004036f4 eb40 JMP LAB_00403736
LAB_004036f6: ;XREF[1,0]: 004036b7
.text:004036f6 8b4818 MOV ECX,dword ptr [EAX + 0x18]
.text:004036f9 395f18 CMP dword ptr [EDI + 0x18],EBX
.text:004036fc 7523 JNZ LAB_00403721
.text:004036fe 85c9 TEST ECX,ECX
.text:00403700 745a JZ LAB_0040375c
.text:00403702 85f6 TEST ESI,ESI
.text:00403704 7456 JZ LAB_0040375c
.text:00403706 ff7714 PUSH dword ptr [EDI + 0x14]
.text:00403709 8d4708 LEA EAX,[EDI + 0x8]
.text:0040370c 50 PUSH EAX
.text:0040370d 51 PUSH ECX
.text:0040370e e889eeffff CALL ___AdjustPointer ;int ___AdjustPointer(int param_1, in...
.text:00403713 59 POP ECX
.text:00403714 59 POP ECX
.text:00403715 50 PUSH EAX
.text:00403716 56 PUSH ESI
.text:00403717 e894f9ffff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:0040371c 83c40c ADD ESP,0xc
.text:0040371f eb15 JMP LAB_00403736
LAB_00403721: ;XREF[1,0]: 004036fc
.text:00403721 85c9 TEST ECX,ECX
.text:00403723 7437 JZ LAB_0040375c
.text:00403725 85f6 TEST ESI,ESI
.text:00403727 7433 JZ LAB_0040375c
.text:00403729 f60704 TEST byte ptr [EDI],0x4
.text:0040372c 6a00 PUSH 0x0
.text:0040372e 5b POP EBX
.text:0040372f 0f95c3 SETNZ BL
.text:00403732 43 INC EBX
.text:00403733 895de0 MOV dword ptr [EBP + local_24+0x4],EBX
LAB_00403736: ;XREF[4,0]: 004036de,004036e3,004036f4,0040371f
.text:00403736 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0040373d 8bc3 MOV EAX,EBX
.text:0040373f eb0b JMP LAB_0040374c
.text:00403741 33 ?? 33h 3
.text:00403742 c0 ?? C0h
.text:00403743 40 ?? 40h @
.text:00403744 c3 ?? C3h
.text:00403745 8b ?? 8Bh
.text:00403746 65 ?? 65h e
.text:00403747 e8 ?? E8h
.text:00403748 eb ?? EBh
.text:00403749 12 ?? 12h
LAB_0040374a: ;XREF[3,0]: 0040363a,00403643,00403652
.text:0040374a 33c0 XOR EAX,EAX
LAB_0040374c: ;XREF[1,0]: 0040373f
.text:0040374c 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:0040374f 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00403756 59 POP ECX
.text:00403757 5f POP EDI
.text:00403758 5e POP ESI
.text:00403759 5b POP EBX
.text:0040375a c9 LEAVE
.text:0040375b c3 RET
LAB_0040375c: ;XREF[8,0]: 0040369d,004036a5,004036bd,004036c5
; 00403700,00403704,00403723,00403727
.text:0040375c e8e8a30000 CALL _abort ;void _abort(void)
.text:00403761 cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl BuildCatchObjectInternal(struct EHExceptionRecord *,void...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void BuildCatchObjectInternal(EHExceptionRecord * param_1, void * param_2, _s_HandlerType * param_3, _s_CatchableType * param_4)
;param_1 EHException... 4 ;XREF[1,0]: 0040378d
;param_2 void * 8 ;XREF[1,0]: 00403771
;param_3 _s_HandlerT... c ;XREF[1,0]: 0040376e
;param_4 _s_Catchabl... 10 ;XREF[1,0]: 00403787
;local_8 undefined4 -8 ;XREF[2,0]: 00403783,004037d7
;local_14 undefined4 -14 ;XREF[1,0]: 004037de
;XREF[1,0]: 00403815
.text:00403762 6a08 PUSH 0x8
.text:00403764 68681c4200 PUSH .rdata:DAT_00421c68 ;= FEh
.text:00403769 e892e7ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040376e 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00403771 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00403774 833a00 CMP dword ptr [EDX],0x0
.text:00403777 7d04 JGE LAB_0040377d
.text:00403779 8bf9 MOV EDI,ECX
.text:0040377b eb06 JMP LAB_00403783
LAB_0040377d: ;XREF[1,0]: 00403777
.text:0040377d 8d790c LEA EDI,[ECX + 0xc]
.text:00403780 037a08 ADD EDI,dword ptr [EDX + 0x8]
LAB_00403783: ;XREF[1,0]: 0040377b
.text:00403783 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00403787 8b7514 MOV ESI,dword ptr [EBP + param_4+0x4]
.text:0040378a 56 PUSH ESI
.text:0040378b 52 PUSH EDX
.text:0040378c 51 PUSH ECX
.text:0040378d 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:00403790 53 PUSH EBX
.text:00403791 e88efeffff CALL BuildCatchObjectHelperInternal;int BuildCatchObjectHelperInternal .text:00403796 83c410 ADD ESP,0x10
.text:00403799 83e801 SUB EAX,0x1
.text:0040379c 7421 JZ LAB_004037bf
.text:0040379e 83e801 SUB EAX,0x1
.text:004037a1 7534 JNZ LAB_004037d7
.text:004037a3 8d4608 LEA EAX,[ESI + 0x8]
.text:004037a6 50 PUSH EAX
.text:004037a7 ff7318 PUSH dword ptr [EBX + 0x18]
.text:004037aa e8ededffff CALL ___AdjustPointer ;int ___AdjustPointer(int param_1, in...
.text:004037af 59 POP ECX
.text:004037b0 59 POP ECX
.text:004037b1 6a01 PUSH 0x1
.text:004037b3 50 PUSH EAX
.text:004037b4 ff7618 PUSH dword ptr [ESI + 0x18]
.text:004037b7 57 PUSH EDI
.text:004037b8 e8f00b0000 CALL _CallMemberFunction2 ;void _CallMemberFunction2(void * par...
.text:004037bd eb18 JMP LAB_004037d7
LAB_004037bf: ;XREF[1,0]: 0040379c
.text:004037bf 8d4608 LEA EAX,[ESI + 0x8]
.text:004037c2 50 PUSH EAX
.text:004037c3 ff7318 PUSH dword ptr [EBX + 0x18]
.text:004037c6 e8d1edffff CALL ___AdjustPointer ;int ___AdjustPointer(int param_1, in...
.text:004037cb 59 POP ECX
.text:004037cc 59 POP ECX
.text:004037cd 50 PUSH EAX
.text:004037ce ff7618 PUSH dword ptr [ESI + 0x18]
.text:004037d1 57 PUSH EDI
.text:004037d2 e8c60b0000 CALL _CallMemberFunction1 ;void _CallMemberFunction1(void * par...
LAB_004037d7: ;XREF[2,0]: 004037a1,004037bd
.text:004037d7 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:004037de 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004037e1 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:004037e8 59 POP ECX
.text:004037e9 5f POP EDI
.text:004037ea 5e POP ESI
.text:004037eb 5b POP EBX
.text:004037ec c9 LEAVE
.text:004037ed c3 RET
.text:004037ee 33 ?? 33h 3
.text:004037ef c0 ?? C0h
.text:004037f0 40 ?? 40h @
.text:004037f1 c3 ?? C3h
.text:004037f2 8b ?? 8Bh
.text:004037f3 65 ?? 65h e
.text:004037f4 e8 ?? E8h
.text:004037f5 e8 ?? E8h
.text:004037f6 4f ?? 4Fh O
.text:004037f7 a3 ?? A3h
.text:004037f8 00 ?? 00h
.text:004037f9 00 ?? 00h
.text:004037fa cc ?? CCh
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl CatchIt(struct EHExceptionRecord *,struct EHRegistration...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void CatchIt(EHExceptionRecord * param_1, EHRegistrationNode * param_2, _CONTEXT * param_3, void * param_4, _s_FuncInfo * param_5, _s_HandlerType * param_6, _s_CatchableType * param_7, _s_TryBlockMapEntry * param_8, int param_9, EHRegistrationNode * param_10, uchar param_11, uchar param_12)
;param_1 EHException... 4 ;XREF[3,0]: 00403812,00403826,00403860
;param_2 EHRegistrat... 8 ;XREF[1,0]: 00403808
;param_3 _CONTEXT * c ;XREF[1,0]: 0040385c
;param_4 void * 10 ;XREF[1,0]: 00403837
;param_5 _s_FuncInfo * 14 ;XREF[3,0]: 00403834,00403845,00403859
;param_6 _s_HandlerT... 18 ;XREF[1,0]: 00403803
;param_7 _s_Catchabl... 1c ;XREF[2,0]: 004037fe,0040380d
;param_8 _s_TryBlock... 20 ;XREF[1,0]: 0040382f
;param_9 int 24 ;XREF[1,0]: 00403853
;param_10 EHRegistrat... 28 ;XREF[1,0]: 0040381d
;param_11 uchar 2c
;param_12 uchar 30
;XREF[2,0]: 00403af9,00403d2b
.text:004037fb 55 PUSH EBP
.text:004037fc 8bec MOV EBP,ESP
.text:004037fe 837d2000 CMP dword ptr [EBP + param_7+0x4],0x0
.text:00403802 53 PUSH EBX
.text:00403803 8b5d1c MOV EBX,dword ptr [EBP + param_6+0x4]
.text:00403806 56 PUSH ESI
.text:00403807 57 PUSH EDI
.text:00403808 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:0040380b 7410 JZ LAB_0040381d
.text:0040380d ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00403810 53 PUSH EBX
.text:00403811 57 PUSH EDI
.text:00403812 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00403815 e848ffffff CALL BuildCatchObjectInternal;void BuildCatchObjectInternal .text:0040381a 83c410 ADD ESP,0x10
LAB_0040381d: ;XREF[1,0]: 0040380b
.text:0040381d 8b452c MOV EAX,dword ptr [EBP + param_10+0x4]
.text:00403820 85c0 TEST EAX,EAX
.text:00403822 7502 JNZ LAB_00403826
.text:00403824 8bc7 MOV EAX,EDI
LAB_00403826: ;XREF[1,0]: 00403822
.text:00403826 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00403829 50 PUSH EAX
.text:0040382a e8b8f6ffff CALL _UnwindNestedFrames ;void _UnwindNestedFrames(EHRegistrat...
.text:0040382f 8b7524 MOV ESI,dword ptr [EBP + param_8+0x4]
.text:00403832 ff36 PUSH dword ptr [ESI]
.text:00403834 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00403837 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040383a 57 PUSH EDI
.text:0040383b e8db090000 CALL __FrameHandler3::FrameUnwindToState ;void FrameUnwindToState(EHRegistrati...
.text:00403840 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00403843 40 INC EAX
.text:00403844 50 PUSH EAX
.text:00403845 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00403848 57 PUSH EDI
.text:00403849 e8180c0000 CALL __FrameHandler3::SetState ;void SetState(EHRegistrationNode * p...
.text:0040384e 6800010000 PUSH 0x100
.text:00403853 ff7528 PUSH dword ptr [EBP + param_9+0x4]
.text:00403856 ff730c PUSH dword ptr [EBX + 0xc]
.text:00403859 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040385c ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040385f 57 PUSH EDI
.text:00403860 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00403863 e843070000 CALL FUN_00403fab ;undefined4 FUN_00403fab(int param_1,...
.text:00403868 83c438 ADD ESP,0x38
.text:0040386b 85c0 TEST EAX,EAX
.text:0040386d 7407 JZ LAB_00403876
.text:0040386f 57 PUSH EDI
.text:00403870 50 PUSH EAX
.text:00403871 e841f6ffff CALL _JumpToContinuation ;void _JumpToContinuation(void * para...
LAB_00403876: ;XREF[1,0]: 0040386d
.text:00403876 5f POP EDI
.text:00403877 5e POP ESI
.text:00403878 5b POP EBX
.text:00403879 5d POP EBP
.text:0040387a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040387b(int * param_1, EHRegistrationNode * param_2, _CONTEXT * param_3, _s_FuncInfo * param_4, _s_FuncInfo * param_5, uchar param_6, int param_7, EHRegistrationNode * param_8)
;param_1 int * 4 ;XREF[1,0]: 004038b5
;param_2 EHRegistrat... 8 ;XREF[5,0]: 00403890,00403af5,00403b9d,00403bf5,00403c03
;param_3 _CONTEXT * c ;XREF[1,0]: 004039bb
;param_4 _s_FuncInfo * 10 ;XREF[5,0]: 0040388a,00403a19,00403aef,00403b99,00403c00
;param_5 _s_FuncInfo * 14 ;XREF[3,0]: 00403884,00403aec,00403b1d
;param_6 uchar 18 ;XREF[3,0]: 00403ad6,00403b23,00403b88
;param_7 int 1c ;XREF[4,0]: 00403a12,00403ae2,00403b51,00403b94
;param_8 EHRegistrat... 20 ;XREF[4,0]: 00403a06,00403adf,00403b20,00403b91
;local_8 undefined4 -8 ;XREF[6,0]: 0040391a,004039be,004039c3,00403af2,00403b6a
; 00403beb
;local_c undefined4 -c ;XREF[3,0]: 004038a0,004039c6,00403a4f
;local_10 undefined4 -10 ;XREF[6,0]: 00403969,00403971,00403983,00403a33,00403b01
; 00403b0e
;local_14 undefined4 -14 ;XREF[6,0]: 0040388d,004039a7,004039ae,00403a6b,00403abf
; 00403ac9
;local_18 undefined4 -18 ;XREF[3,0]: 00403a8b,00403ac2,00403acc
;local_1c undefined4 -1c ;XREF[3,0]: 00403893,00403913,00403adc
;local_20 undefined4 -20 ;XREF[3,0]: 00403a42,00403b04,00403b11
;local_24 undefined4 -24 ;XREF[2,0]: 00403a82,00403a9a
;local_28 undefined4 -28 ;XREF[2,0]: 00403a88,00403a97
;local_2c undefined4 -2c ;XREF[2,0]: 00403a30,00403b08
;local_30 undefined4 -30 ;XREF[1,0]: 004039ce
;local_34 undefined4 -34 ;XREF[2,0]: 004039cb,00403a15
;local_38 undefined4 -38 ;XREF[2,0]: 00403a36,00403b14
;local_40 undefined4 -40 ;XREF[3,0]: 00403a27,00403bc8,00403bd5
;local_44 undefined4 -44 ;XREF[2,0]: 00403a1e,00403a2d
;local_54 undefined1 -54 ;XREF[3,0]: 00403a90,00403aa4,00403ae8
;local_58 undefined4 -58 ;XREF[1,0]: 00403a85
;local_5c undefined4 -5c ;XREF[2,0]: 00403a6e,00403acf
;local_64 undefined4 -64 ;XREF[1,0]: 00403a60
;local_68 undefined4 -68 ;XREF[3,0]: 00403a47,00403a57,00403ad9
;XREF[1,0]: 00403ed6
.text:0040387b 55 PUSH EBP
.text:0040387c 8bec MOV EBP,ESP
.text:0040387e 83ec64 SUB ESP,0x64
.text:00403881 53 PUSH EBX
.text:00403882 56 PUSH ESI
.text:00403883 57 PUSH EDI
.text:00403884 8b7d18 MOV EDI,dword ptr [EBP + param_5+0x4]
.text:00403887 33c0 XOR EAX,EAX
.text:00403889 57 PUSH EDI
.text:0040388a ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040388d 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00403890 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403893 8845e8 MOV byte ptr [EBP + local_1c+0x4],AL
.text:00403896 e8ae0b0000 CALL __FrameHandler3::GetCurrentState ;int GetCurrentState(EHRegistrationNo...
.text:0040389b 8bc8 MOV ECX,EAX
.text:0040389d 83c40c ADD ESP,0xc
.text:004038a0 894df8 MOV dword ptr [EBP + local_c+0x4],ECX
.text:004038a3 83f9ff CMP ECX,-0x1
.text:004038a6 0f8c6e030000 JL LAB_00403c1a
.text:004038ac 3b4f04 CMP ECX,dword ptr [EDI + 0x4]
.text:004038af 0f8d65030000 JGE LAB_00403c1a
.text:004038b5 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:004038b8 813b63736de0 CMP dword ptr [EBX],0xe06d7363
.text:004038be 0f85f7000000 JNZ LAB_004039bb
.text:004038c4 837b1003 CMP dword ptr [EBX + 0x10],0x3
.text:004038c8 0f85ed000000 JNZ LAB_004039bb
.text:004038ce 817b14200... CMP dword ptr [EBX + 0x14],0x19930520
.text:004038d5 7416 JZ LAB_004038ed
.text:004038d7 817b14210... CMP dword ptr [EBX + 0x14],0x19930521
.text:004038de 740d JZ LAB_004038ed
.text:004038e0 817b14220... CMP dword ptr [EBX + 0x14],0x19930522
.text:004038e7 0f85ce000000 JNZ LAB_004039bb
LAB_004038ed: ;XREF[2,0]: 004038d5,004038de
.text:004038ed 33f6 XOR ESI,ESI
.text:004038ef 39731c CMP dword ptr [EBX + 0x1c],ESI
.text:004038f2 0f85c3000000 JNZ LAB_004039bb
.text:004038f8 e846f0ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:004038fd 397010 CMP dword ptr [EAX + 0x10],ESI
.text:00403900 0f84ae020000 JZ LAB_00403bb4
.text:00403906 e838f0ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:0040390b 8b5810 MOV EBX,dword ptr [EAX + 0x10]
.text:0040390e e830f0ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403913 c645e801 MOV byte ptr [EBP + local_1c+0x4],0x1
.text:00403917 8b4014 MOV EAX,dword ptr [EAX + 0x14]
.text:0040391a 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040391d 85db TEST EBX,EBX
.text:0040391f 0f84f5020000 JZ LAB_00403c1a
.text:00403925 813b63736de0 CMP dword ptr [EBX],0xe06d7363
.text:0040392b 752a JNZ LAB_00403957
.text:0040392d 837b1003 CMP dword ptr [EBX + 0x10],0x3
.text:00403931 7524 JNZ LAB_00403957
.text:00403933 817b14200... CMP dword ptr [EBX + 0x14],0x19930520
.text:0040393a 7412 JZ LAB_0040394e
.text:0040393c 817b14210... CMP dword ptr [EBX + 0x14],0x19930521
.text:00403943 7409 JZ LAB_0040394e
.text:00403945 817b14220... CMP dword ptr [EBX + 0x14],0x19930522
.text:0040394c 7509 JNZ LAB_00403957
LAB_0040394e: ;XREF[2,0]: 0040393a,00403943
.text:0040394e 39731c CMP dword ptr [EBX + 0x1c],ESI
.text:00403951 0f84c3020000 JZ LAB_00403c1a
LAB_00403957: ;XREF[3,0]: 0040392b,00403931,0040394c
.text:00403957 e8e7efffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:0040395c 39701c CMP dword ptr [EAX + 0x1c],ESI
.text:0040395f 7462 JZ LAB_004039c3
.text:00403961 e8ddefffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403966 8b401c MOV EAX,dword ptr [EAX + 0x1c]
.text:00403969 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0040396c e8d2efffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403971 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:00403974 53 PUSH EBX
.text:00403975 89701c MOV dword ptr [EAX + 0x1c],ESI
.text:00403978 e886090000 CALL FUN_00404303 ;undefined4 FUN_00404303(int param_1,...
.text:0040397d 59 POP ECX
.text:0040397e 59 POP ECX
.text:0040397f 84c0 TEST AL,AL
.text:00403981 7540 JNZ LAB_004039c3
.text:00403983 8b7df4 MOV EDI,dword ptr [EBP + local_10+0x4]
.text:00403986 3937 CMP dword ptr [EDI],ESI
.text:00403988 0f8e2b020000 JLE LAB_00403bb9
LAB_0040398e: ;XREF[1,0]: 004039b9
.text:0040398e 8b4704 MOV EAX,dword ptr [EDI + 0x4]
.text:00403991 68b0384200 PUSH .data:std::bad_exception::RTTI_Type_D...
.text:00403996 8b4c0604 MOV ECX,dword ptr [ESI + EAX*0x1 + 0x4]
.text:0040399a e8c0050000 CALL type_info::operator== ;bool operator==(type_info * this, ty...
.text:0040399f 84c0 TEST AL,AL
.text:004039a1 0f8517020000 JNZ LAB_00403bbe
.text:004039a7 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:004039aa 83c610 ADD ESI,0x10
.text:004039ad 40 INC EAX
.text:004039ae 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:004039b1 3b07 CMP EAX,dword ptr [EDI]
.text:004039b3 0f8d00020000 JGE LAB_00403bb9
.text:004039b9 ebd3 JMP LAB_0040398e
LAB_004039bb: ;XREF[4,0]: 004038be,004038c8,004038e7,004038f2
.text:004039bb 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:004039be 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:004039c1 eb06 JMP LAB_004039c9
LAB_004039c3: ;XREF[2,0]: 0040395f,00403981
.text:004039c3 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
.text:004039c6 8b4df8 MOV ECX,dword ptr [EBP + local_c+0x4]
LAB_004039c9: ;XREF[1,0]: 004039c1
.text:004039c9 33c0 XOR EAX,EAX
.text:004039cb 897dd0 MOV dword ptr [EBP + local_34+0x4],EDI
.text:004039ce 8945d4 MOV dword ptr [EBP + local_30+0x4],EAX
.text:004039d1 813b63736de0 CMP dword ptr [EBX],0xe06d7363
.text:004039d7 0f85a6010000 JNZ LAB_00403b83
.text:004039dd 837b1003 CMP dword ptr [EBX + 0x10],0x3
.text:004039e1 0f859c010000 JNZ LAB_00403b83
.text:004039e7 817b14200... CMP dword ptr [EBX + 0x14],0x19930520
.text:004039ee 7416 JZ LAB_00403a06
.text:004039f0 817b14210... CMP dword ptr [EBX + 0x14],0x19930521
.text:004039f7 740d JZ LAB_00403a06
.text:004039f9 817b14220... CMP dword ptr [EBX + 0x14],0x19930522
.text:00403a00 0f857d010000 JNZ LAB_00403b83
LAB_00403a06: ;XREF[2,0]: 004039ee,004039f7
.text:00403a06 8b7524 MOV ESI,dword ptr [EBP + param_8+0x4]
.text:00403a09 39470c CMP dword ptr [EDI + 0xc],EAX
.text:00403a0c 0f8611010000 JBE LAB_00403b23
.text:00403a12 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00403a15 8d45d0 LEA EAX=>local_34,[EBP + -0x30]
.text:00403a18 57 PUSH EDI
.text:00403a19 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00403a1c 51 PUSH ECX
.text:00403a1d 50 PUSH EAX
.text:00403a1e 8d45c0 LEA EAX=>local_44,[EBP + -0x40]
.text:00403a21 50 PUSH EAX
.text:00403a22 e8cdf2ffff CALL __FrameHandler3::GetRangeOfTrysToCheck ;pair.text:00403a27 8b55c4 MOV EDX,dword ptr [EBP + local_40+0x4]
.text:00403a2a 83c418 ADD ESP,0x18
.text:00403a2d 8b45c0 MOV EAX,dword ptr [EBP + local_44+0x4]
.text:00403a30 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:00403a33 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:00403a36 3b55cc CMP EDX,dword ptr [EBP + local_38+0x4]
.text:00403a39 0f83e4000000 JNC LAB_00403b23
.text:00403a3f 6bca14 IMUL ECX,EDX,0x14
.text:00403a42 894de4 MOV dword ptr [EBP + local_20+0x4],ECX
LAB_00403a45: ;XREF[1,0]: 00403b17
.text:00403a45 8b00 MOV EAX,dword ptr [EAX]
.text:00403a47 8d7d9c LEA EDI=>local_68,[EBP + -0x64]
.text:00403a4a 6a05 PUSH 0x5
.text:00403a4c 8b7010 MOV ESI,dword ptr [EAX + 0x10]
.text:00403a4f 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00403a52 03f1 ADD ESI,ECX
.text:00403a54 59 POP ECX
.text:00403a55 f3a5 MOVSD.REP ES:EDI,ESI
.text:00403a57 39459c CMP dword ptr [EBP + local_68+0x4],EAX
.text:00403a5a 0f8fa4000000 JG LAB_00403b04
.text:00403a60 3b45a0 CMP EAX,dword ptr [EBP + local_64+0x4]
.text:00403a63 0f8f9b000000 JG LAB_00403b04
.text:00403a69 33c9 XOR ECX,ECX
.text:00403a6b 894df0 MOV dword ptr [EBP + local_14+0x4],ECX
.text:00403a6e 394da8 CMP dword ptr [EBP + local_5c+0x4],ECX
.text:00403a71 0f848d000000 JZ LAB_00403b04
.text:00403a77 8b531c MOV EDX,dword ptr [EBX + 0x1c]
.text:00403a7a 8b420c MOV EAX,dword ptr [EDX + 0xc]
.text:00403a7d 8b30 MOV ESI,dword ptr [EAX]
.text:00403a7f 83c004 ADD EAX,0x4
.text:00403a82 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:00403a85 8b45ac MOV EAX,dword ptr [EBP + local_58+0x4]
.text:00403a88 8975dc MOV dword ptr [EBP + local_28+0x4],ESI
.text:00403a8b 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
LAB_00403a8e: ;XREF[1,0]: 00403ad2
.text:00403a8e 8bf0 MOV ESI,EAX
.text:00403a90 8d7db0 LEA EDI=>local_54,[EBP + -0x50]
.text:00403a93 a5 MOVSD ES:EDI,ESI
.text:00403a94 a5 MOVSD ES:EDI,ESI
.text:00403a95 a5 MOVSD ES:EDI,ESI
.text:00403a96 a5 MOVSD ES:EDI,ESI
.text:00403a97 8b75dc MOV ESI,dword ptr [EBP + local_28+0x4]
.text:00403a9a 8b7de0 MOV EDI,dword ptr [EBP + local_24+0x4]
.text:00403a9d 85f6 TEST ESI,ESI
.text:00403a9f 7e24 JLE LAB_00403ac5
LAB_00403aa1: ;XREF[1,0]: 00403abd
.text:00403aa1 52 PUSH EDX
.text:00403aa2 ff37 PUSH dword ptr [EDI]
.text:00403aa4 8d45b0 LEA EAX=>local_54,[EBP + -0x50]
.text:00403aa7 50 PUSH EAX
.text:00403aa8 e8a9020000 CALL FID_conflict:___TypeMatch ;undefined4 FID_conflict:___TypeMatch...
.text:00403aad 83c40c ADD ESP,0xc
.text:00403ab0 85c0 TEST EAX,EAX
.text:00403ab2 7522 JNZ LAB_00403ad6
.text:00403ab4 8b531c MOV EDX,dword ptr [EBX + 0x1c]
.text:00403ab7 4e DEC ESI
.text:00403ab8 83c704 ADD EDI,0x4
.text:00403abb 85f6 TEST ESI,ESI
.text:00403abd 7fe2 JG LAB_00403aa1
.text:00403abf 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00403ac2 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
LAB_00403ac5: ;XREF[1,0]: 00403a9f
.text:00403ac5 41 INC ECX
.text:00403ac6 83c010 ADD EAX,0x10
.text:00403ac9 894df0 MOV dword ptr [EBP + local_14+0x4],ECX
.text:00403acc 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00403acf 3b4da8 CMP ECX,dword ptr [EBP + local_5c+0x4]
.text:00403ad2 75ba JNZ LAB_00403a8e
.text:00403ad4 eb2b JMP LAB_00403b01
LAB_00403ad6: ;XREF[1,0]: 00403ab2
.text:00403ad6 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:00403ad9 8d459c LEA EAX=>local_68,[EBP + -0x64]
.text:00403adc ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:00403adf ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:00403ae2 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00403ae5 50 PUSH EAX
.text:00403ae6 ff37 PUSH dword ptr [EDI]
.text:00403ae8 8d45b0 LEA EAX=>local_54,[EBP + -0x50]
.text:00403aeb 50 PUSH EAX
.text:00403aec ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00403aef ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00403af2 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:00403af5 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403af8 53 PUSH EBX
.text:00403af9 e8fdfcffff CALL CatchIt ;void CatchIt(...
.text:00403afe 83c430 ADD ESP,0x30
LAB_00403b01: ;XREF[1,0]: 00403ad4
.text:00403b01 8b55f4 MOV EDX,dword ptr [EBP + local_10+0x4]
LAB_00403b04: ;XREF[3,0]: 00403a5a,00403a63,00403a71
.text:00403b04 8b4de4 MOV ECX,dword ptr [EBP + local_20+0x4]
.text:00403b07 42 INC EDX
.text:00403b08 8b45d8 MOV EAX,dword ptr [EBP + local_2c+0x4]
.text:00403b0b 83c114 ADD ECX,0x14
.text:00403b0e 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:00403b11 894de4 MOV dword ptr [EBP + local_20+0x4],ECX
.text:00403b14 3b55cc CMP EDX,dword ptr [EBP + local_38+0x4]
.text:00403b17 0f8228ffffff JC LAB_00403a45
.text:00403b1d 8b7d18 MOV EDI,dword ptr [EBP + param_5+0x4]
.text:00403b20 8b7524 MOV ESI,dword ptr [EBP + param_8+0x4]
LAB_00403b23: ;XREF[2,0]: 00403a0c,00403a39
.text:00403b23 807d1c00 CMP byte ptr [EBP + param_6+0x4],0x0
.text:00403b27 740a JZ LAB_00403b33
.text:00403b29 6a01 PUSH 0x1
.text:00403b2b 53 PUSH EBX
.text:00403b2c e83fe9ffff CALL ___DestructExceptionObject ;undefined ___DestructExceptionObject...
.text:00403b31 59 POP ECX
.text:00403b32 59 POP ECX
LAB_00403b33: ;XREF[1,0]: 00403b27
.text:00403b33 8b07 MOV EAX,dword ptr [EDI]
.text:00403b35 25ffffff1f AND EAX,0x1fffffff
.text:00403b3a 3d21059319 CMP EAX,0x19930521
.text:00403b3f 7268 JC LAB_00403ba9
.text:00403b41 8b4720 MOV EAX,dword ptr [EDI + 0x20]
.text:00403b44 c1e802 SHR EAX,0x2
.text:00403b47 837f1c00 CMP dword ptr [EDI + 0x1c],0x0
.text:00403b4b 750c JNZ LAB_00403b59
.text:00403b4d a801 TEST AL,0x1
.text:00403b4f 7458 JZ LAB_00403ba9
.text:00403b51 837d2000 CMP dword ptr [EBP + param_7+0x4],0x0
.text:00403b55 7552 JNZ LAB_00403ba9
.text:00403b57 eb04 JMP LAB_00403b5d
LAB_00403b59: ;XREF[1,0]: 00403b4b
.text:00403b59 a801 TEST AL,0x1
.text:00403b5b 7415 JZ LAB_00403b72
LAB_00403b5d: ;XREF[1,0]: 00403b57
.text:00403b5d e8e1edffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403b62 895810 MOV dword ptr [EAX + 0x10],EBX
.text:00403b65 e8d9edffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403b6a 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00403b6d 894814 MOV dword ptr [EAX + 0x14],ECX
.text:00403b70 eb47 JMP LAB_00403bb9
LAB_00403b72: ;XREF[1,0]: 00403b5b
.text:00403b72 ff771c PUSH dword ptr [EDI + 0x1c]
.text:00403b75 53 PUSH EBX
.text:00403b76 e888070000 CALL FUN_00404303 ;undefined4 FUN_00404303(int param_1,...
.text:00403b7b 59 POP ECX
.text:00403b7c 59 POP ECX
.text:00403b7d 84c0 TEST AL,AL
.text:00403b7f 745d JZ LAB_00403bde
.text:00403b81 eb26 JMP LAB_00403ba9
LAB_00403b83: ;XREF[3,0]: 004039d7,004039e1,00403a00
.text:00403b83 39470c CMP dword ptr [EDI + 0xc],EAX
.text:00403b86 7621 JBE LAB_00403ba9
.text:00403b88 38451c CMP byte ptr [EBP + param_6+0x4],AL
.text:00403b8b 0f8589000000 JNZ LAB_00403c1a
.text:00403b91 ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:00403b94 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00403b97 51 PUSH ECX
.text:00403b98 57 PUSH EDI
.text:00403b99 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00403b9c 52 PUSH EDX
.text:00403b9d ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403ba0 53 PUSH EBX
.text:00403ba1 e87a000000 CALL FindHandlerForForeignException;void FindHandlerForForeignException<...
.text:00403ba6 83c420 ADD ESP,0x20
LAB_00403ba9: ;XREF[5,0]: 00403b3f,00403b4f,00403b55,00403b81
; 00403b86
.text:00403ba9 e895edffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403bae 83781c00 CMP dword ptr [EAX + 0x1c],0x0
.text:00403bb2 7566 JNZ LAB_00403c1a
LAB_00403bb4: ;XREF[1,0]: 00403900
.text:00403bb4 5f POP EDI
.text:00403bb5 5e POP ESI
.text:00403bb6 5b POP EBX
.text:00403bb7 c9 LEAVE
.text:00403bb8 c3 RET
LAB_00403bb9: ;XREF[3,0]: 00403988,004039b3,00403b70
.text:00403bb9 e8f59e0000 CALL _terminate ;undefined _terminate(void)
LAB_00403bbe: ;XREF[1,0]: 004039a1
.text:00403bbe 6a01 PUSH 0x1
.text:00403bc0 53 PUSH EBX
.text:00403bc1 e8aae8ffff CALL ___DestructExceptionObject ;undefined ___DestructExceptionObject...
.text:00403bc6 59 POP ECX
.text:00403bc7 59 POP ECX
.text:00403bc8 8d4dc4 LEA ECX=>local_40,[EBP + -0x3c]
.text:00403bcb e83a030000 CALL FUN_00403f0a ;undefined4 * FUN_00403f0a(undefined4...
.text:00403bd0 68841c4200 PUSH .rdata:DAT_00421c84
.text:00403bd5 8d45c4 LEA EAX=>local_40,[EBP + -0x3c]
.text:00403bd8 50 PUSH EAX
.text:00403bd9 e818090000 CALL __CxxThrowException@8 ;undefined __CxxThrowException@8(int ...
LAB_00403bde: ;XREF[1,0]: 00403b7f
.text:00403bde e860edffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403be3 895810 MOV dword ptr [EAX + 0x10],EBX
.text:00403be6 e858edffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403beb 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00403bee 894814 MOV dword ptr [EAX + 0x14],ECX
.text:00403bf1 85f6 TEST ESI,ESI
.text:00403bf3 7503 JNZ LAB_00403bf8
.text:00403bf5 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
LAB_00403bf8: ;XREF[1,0]: 00403bf3
.text:00403bf8 53 PUSH EBX
.text:00403bf9 56 PUSH ESI
.text:00403bfa e8e8f2ffff CALL _UnwindNestedFrames ;void _UnwindNestedFrames(EHRegistrat...
.text:00403bff 57 PUSH EDI
.text:00403c00 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00403c03 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403c06 e8f8050000 CALL __FrameHandler3::FrameUnwindToEmptyState;void FrameUnwindToEmptyState(EHRegis...
.text:00403c0b 57 PUSH EDI
.text:00403c0c e8af070000 CALL FUN_004043c0 ;undefined4 FUN_004043c0(int param_1)
.text:00403c11 83c410 ADD ESP,0x10
.text:00403c14 50 PUSH EAX
.text:00403c15 e860050000 CALL FUN_0040417a ;undefined FUN_0040417a(void)
LAB_00403c1a: ;XREF[6,0]: 004038a6,004038af,0040391f,00403951
; 00403b8b,00403bb2
.text:00403c1a e82a9f0000 CALL _abort ;void _abort(void)
.text:00403c1f cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl FindHandlerForForeignException(struct EHExceptionRecord ...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void FindHandlerForForeignException(EHExceptionRecord * param_1, EHRegistrationNode * param_2, _CONTEXT * param_3, void * param_4, _s_FuncInfo * param_5, int param_6, int param_7, EHRegistrationNode * param_8)
;param_1 EHException... 4 ;XREF[1,0]: 00403c27
;param_2 EHRegistrat... 8 ;XREF[2,0]: 00403c76,00403d27
;param_3 _CONTEXT * c ;XREF[2,0]: 00403c73,00403d24
;param_4 void * 10 ;XREF[3,0]: 00403c70,00403ca0,00403d21
;param_5 _s_FuncInfo * 14 ;XREF[3,0]: 00403c6d,00403c8a,00403d1e
;param_6 int 18 ;XREF[2,0]: 00403ca6,00403cdb
;param_7 int 1c ;XREF[3,0]: 00403c6a,00403c9c,00403d17
;param_8 EHRegistrat... 20 ;XREF[2,0]: 00403c67,00403d11
;local_8 undefined4 -8 ;XREF[3,0]: 00403cbf,00403d30,00403d40
;local_c undefined4 -c ;XREF[3,0]: 00403cce,00403d36,00403d43
;local_10 undefined4 -10 ;XREF[2,0]: 00403cbc,00403d3a
;local_14 undefined4 -14 ;XREF[1,0]: 00403c90
;local_18 undefined4 -18 ;XREF[2,0]: 00403c8d,00403ca3
;local_1c undefined4 -1c ;XREF[2,0]: 00403cc2,00403d46
;local_24 undefined4 -24 ;XREF[1,0]: 00403cb3
;local_28 undefined4 -28 ;XREF[2,0]: 00403caa,00403cb9
;local_2c undefined4 -2c ;XREF[1,0]: 00403cf0
;local_30 undefined4 -30 ;XREF[1,0]: 00403ced
;local_38 undefined4 -38 ;XREF[1,0]: 00403ce8
;local_3c undefined4 -3c ;XREF[3,0]: 00403cd3,00403ce3,00403d14
;XREF[1,0]: 00403ba1
.text:00403c20 55 PUSH EBP
.text:00403c21 8bec MOV EBP,ESP
.text:00403c23 83ec38 SUB ESP,0x38
.text:00403c26 53 PUSH EBX
.text:00403c27 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:00403c2a 813b03000080 CMP dword ptr [EBX],0x80000003
.text:00403c30 0f8417010000 JZ LAB_00403d4d
.text:00403c36 56 PUSH ESI
.text:00403c37 57 PUSH EDI
.text:00403c38 e806edffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403c3d 33ff XOR EDI,EDI
.text:00403c3f 397808 CMP dword ptr [EAX + 0x8],EDI
.text:00403c42 7446 JZ LAB_00403c8a
.text:00403c44 57 PUSH EDI ;PVOID Ptr for EncodePointer
.text:00403c45 ff156cb04100 CALL dword ptr [->KERNEL32.DLL::EncodePoin...;= 0002250a
.text:00403c4b 8bf0 MOV ESI,EAX
.text:00403c4d e8f1ecffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403c52 397008 CMP dword ptr [EAX + 0x8],ESI
.text:00403c55 7433 JZ LAB_00403c8a
.text:00403c57 813b4d4f43e0 CMP dword ptr [EBX],0xe0434f4d
.text:00403c5d 742b JZ LAB_00403c8a
.text:00403c5f 813b524343e0 CMP dword ptr [EBX],0xe0434352
.text:00403c65 7423 JZ LAB_00403c8a
.text:00403c67 ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:00403c6a ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00403c6d ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00403c70 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00403c73 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00403c76 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403c79 53 PUSH EBX
.text:00403c7a e842f1ffff CALL FUN_00402dc1 ;undefined4 FUN_00402dc1(int * param_...
.text:00403c7f 83c41c ADD ESP,0x1c
.text:00403c82 85c0 TEST EAX,EAX
.text:00403c84 0f85c1000000 JNZ LAB_00403d4b
LAB_00403c8a: ;XREF[4,0]: 00403c42,00403c55,00403c5d,00403c65
.text:00403c8a 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:00403c8d 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00403c90 897df0 MOV dword ptr [EBP + local_14+0x4],EDI
.text:00403c93 39780c CMP dword ptr [EAX + 0xc],EDI
.text:00403c96 0f86b4000000 JBE LAB_00403d50
.text:00403c9c ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00403c9f 50 PUSH EAX
.text:00403ca0 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00403ca3 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:00403ca6 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:00403ca9 50 PUSH EAX
.text:00403caa 8d45dc LEA EAX=>local_28,[EBP + -0x24]
.text:00403cad 50 PUSH EAX
.text:00403cae e841f0ffff CALL __FrameHandler3::GetRangeOfTrysToCheck ;pair .text:00403cb3 8b55e0 MOV EDX,dword ptr [EBP + local_24+0x4]
.text:00403cb6 83c418 ADD ESP,0x18
.text:00403cb9 8b45dc MOV EAX,dword ptr [EBP + local_28+0x4]
.text:00403cbc 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00403cbf 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:00403cc2 3b55e8 CMP EDX,dword ptr [EBP + local_1c+0x4]
.text:00403cc5 0f8380000000 JNC LAB_00403d4b
.text:00403ccb 6bca14 IMUL ECX,EDX,0x14
.text:00403cce 894df8 MOV dword ptr [EBP + local_c+0x4],ECX
LAB_00403cd1: ;XREF[1,0]: 00403d49
.text:00403cd1 8b00 MOV EAX,dword ptr [EAX]
.text:00403cd3 8d7dc8 LEA EDI=>local_3c,[EBP + -0x38]
.text:00403cd6 6a05 PUSH 0x5
.text:00403cd8 8b7010 MOV ESI,dword ptr [EAX + 0x10]
.text:00403cdb 8b451c MOV EAX,dword ptr [EBP + param_6+0x4]
.text:00403cde 03f1 ADD ESI,ECX
.text:00403ce0 59 POP ECX
.text:00403ce1 f3a5 MOVSD.REP ES:EDI,ESI
.text:00403ce3 3945c8 CMP dword ptr [EBP + local_3c+0x4],EAX
.text:00403ce6 7f4e JG LAB_00403d36
.text:00403ce8 3b45cc CMP EAX,dword ptr [EBP + local_38+0x4]
.text:00403ceb 7f49 JG LAB_00403d36
.text:00403ced 8b4dd4 MOV ECX,dword ptr [EBP + local_30+0x4]
.text:00403cf0 8b45d8 MOV EAX,dword ptr [EBP + local_2c+0x4]
.text:00403cf3 c1e104 SHL ECX,0x4
.text:00403cf6 83c0f0 ADD EAX,-0x10
.text:00403cf9 03c1 ADD EAX,ECX
.text:00403cfb 8b4804 MOV ECX,dword ptr [EAX + 0x4]
.text:00403cfe 85c9 TEST ECX,ECX
.text:00403d00 7406 JZ LAB_00403d08
.text:00403d02 80790800 CMP byte ptr [ECX + 0x8],0x0
.text:00403d06 752e JNZ LAB_00403d36
LAB_00403d08: ;XREF[1,0]: 00403d00
.text:00403d08 f60040 TEST byte ptr [EAX],0x40
.text:00403d0b 7529 JNZ LAB_00403d36
.text:00403d0d 6a00 PUSH 0x0
.text:00403d0f 6a01 PUSH 0x1
.text:00403d11 ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:00403d14 8d4dc8 LEA ECX=>local_3c,[EBP + -0x38]
.text:00403d17 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00403d1a 51 PUSH ECX
.text:00403d1b 6a00 PUSH 0x0
.text:00403d1d 50 PUSH EAX
.text:00403d1e ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00403d21 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00403d24 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00403d27 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403d2a 53 PUSH EBX
.text:00403d2b e8cbfaffff CALL CatchIt ;void CatchIt(...
.text:00403d30 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
.text:00403d33 83c430 ADD ESP,0x30
LAB_00403d36: ;XREF[4,0]: 00403ce6,00403ceb,00403d06,00403d0b
.text:00403d36 8b4df8 MOV ECX,dword ptr [EBP + local_c+0x4]
.text:00403d39 42 INC EDX
.text:00403d3a 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00403d3d 83c114 ADD ECX,0x14
.text:00403d40 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:00403d43 894df8 MOV dword ptr [EBP + local_c+0x4],ECX
.text:00403d46 3b55e8 CMP EDX,dword ptr [EBP + local_1c+0x4]
.text:00403d49 7286 JC LAB_00403cd1
LAB_00403d4b: ;XREF[2,0]: 00403c84,00403cc5
.text:00403d4b 5f POP EDI
.text:00403d4c 5e POP ESI
LAB_00403d4d: ;XREF[1,0]: 00403c30
.text:00403d4d 5b POP EBX
.text:00403d4e c9 LEAVE
.text:00403d4f c3 RET
LAB_00403d50: ;XREF[1,0]: 00403c96
.text:00403d50 e8f49d0000 CALL _abort ;void _abort(void)
.text:00403d55 cc align align(1)
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* int __cdecl TypeMatchHelper(struct _s_HandlerType const *,stru...*
;* int __cdecl TypeMatchHelper(struct _s_HandlerType const *,struct _s_C...*
;* ___TypeMatch *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined4 FID_conflict:___TypeMatch(byte * param_1, byte * param_2, byte * param_3)
;param_1 byte * 4 ;XREF[1,0]: 00403d59
;param_2 byte * 8 ;XREF[1,0]: 00403d71
;param_3 byte * c ;XREF[1,0]: 00403dbe
;XREF[2,0]: 00403aa8,00404358
.text:00403d56 55 PUSH EBP
.text:00403d57 8bec MOV EBP,ESP
.text:00403d59 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00403d5c 53 PUSH EBX
.text:00403d5d 56 PUSH ESI
.text:00403d5e 57 PUSH EDI
.text:00403d5f 8b4204 MOV EAX,dword ptr [EDX + 0x4]
.text:00403d62 85c0 TEST EAX,EAX
.text:00403d64 7476 JZ LAB_00403ddc
.text:00403d66 8d4808 LEA ECX,[EAX + 0x8]
.text:00403d69 803900 CMP byte ptr [ECX],0x0
.text:00403d6c 746e JZ LAB_00403ddc
.text:00403d6e f60280 TEST byte ptr [EDX],0x80
.text:00403d71 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00403d74 7405 JZ LAB_00403d7b
.text:00403d76 f60710 TEST byte ptr [EDI],0x10
.text:00403d79 7561 JNZ LAB_00403ddc
LAB_00403d7b: ;XREF[1,0]: 00403d74
.text:00403d7b 8b5f04 MOV EBX,dword ptr [EDI + 0x4]
.text:00403d7e 33f6 XOR ESI,ESI
.text:00403d80 3bc3 CMP EAX,EBX
.text:00403d82 7430 JZ LAB_00403db4
.text:00403d84 8d4308 LEA EAX,[EBX + 0x8]
LAB_00403d87: ;XREF[1,0]: 00403da1
.text:00403d87 8a19 MOV BL,byte ptr [ECX]
.text:00403d89 3a18 CMP BL,byte ptr [EAX]
.text:00403d8b 751a JNZ LAB_00403da7
.text:00403d8d 84db TEST BL,BL
.text:00403d8f 7412 JZ LAB_00403da3
.text:00403d91 8a5901 MOV BL,byte ptr [ECX + 0x1]
.text:00403d94 3a5801 CMP BL,byte ptr [EAX + 0x1]
.text:00403d97 750e JNZ LAB_00403da7
.text:00403d99 83c102 ADD ECX,0x2
.text:00403d9c 83c002 ADD EAX,0x2
.text:00403d9f 84db TEST BL,BL
.text:00403da1 75e4 JNZ LAB_00403d87
LAB_00403da3: ;XREF[1,0]: 00403d8f
.text:00403da3 8bc6 MOV EAX,ESI
.text:00403da5 eb05 JMP LAB_00403dac
LAB_00403da7: ;XREF[2,0]: 00403d8b,00403d97
.text:00403da7 1bc0 SBB EAX,EAX
.text:00403da9 83c801 OR EAX,0x1
LAB_00403dac: ;XREF[1,0]: 00403da5
.text:00403dac 85c0 TEST EAX,EAX
.text:00403dae 7404 JZ LAB_00403db4
.text:00403db0 33c0 XOR EAX,EAX
.text:00403db2 eb2b JMP LAB_00403ddf
LAB_00403db4: ;XREF[2,0]: 00403d82,00403dae
.text:00403db4 f60702 TEST byte ptr [EDI],0x2
.text:00403db7 7405 JZ LAB_00403dbe
.text:00403db9 f60208 TEST byte ptr [EDX],0x8
.text:00403dbc 741a JZ LAB_00403dd8
LAB_00403dbe: ;XREF[1,0]: 00403db7
.text:00403dbe 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00403dc1 f60001 TEST byte ptr [EAX],0x1
.text:00403dc4 7405 JZ LAB_00403dcb
.text:00403dc6 f60201 TEST byte ptr [EDX],0x1
.text:00403dc9 740d JZ LAB_00403dd8
LAB_00403dcb: ;XREF[1,0]: 00403dc4
.text:00403dcb f60002 TEST byte ptr [EAX],0x2
.text:00403dce 7405 JZ LAB_00403dd5
.text:00403dd0 f60202 TEST byte ptr [EDX],0x2
.text:00403dd3 7403 JZ LAB_00403dd8
LAB_00403dd5: ;XREF[1,0]: 00403dce
.text:00403dd5 33f6 XOR ESI,ESI
.text:00403dd7 46 INC ESI
LAB_00403dd8: ;XREF[3,0]: 00403dbc,00403dc9,00403dd3
.text:00403dd8 8bc6 MOV EAX,ESI
.text:00403dda eb03 JMP LAB_00403ddf
LAB_00403ddc: ;XREF[3,0]: 00403d64,00403d6c,00403d79
.text:00403ddc 33c0 XOR EAX,EAX
.text:00403dde 40 INC EAX
LAB_00403ddf: ;XREF[2,0]: 00403db2,00403dda
.text:00403ddf 5f POP EDI
.text:00403de0 5e POP ESI
.text:00403de1 5b POP EBX
.text:00403de2 5d POP EBP
.text:00403de3 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* enum _EXCEPTION_DISPOSITION __cdecl __InternalCxxFrameHandler(struct ...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;_EXCEPTION_DISPOSITION __InternalCxxFrameHandler(EHExceptionRecord * param_1, EHRegistrationNode * param_2, _CONTEXT * param_3, void * param_4, _s_FuncInfo * param_5, int param_6, EHRegistrationNode * param_7, uchar param_8)
;param_1 EHException... 4 ;XREF[1,0]: 00403dfd
;param_2 EHRegistrat... 8 ;XREF[3,0]: 00403e4d,00403eb1,00403ed2
;param_3 _CONTEXT * c ;XREF[3,0]: 00403dea,00403eae,00403ecf
;param_4 void * 10 ;XREF[3,0]: 00403e4a,00403ea9,00403ecc
;param_5 _s_FuncInfo * 14 ;XREF[1,0]: 00403df8
;param_6 int 18 ;XREF[3,0]: 00403e40,00403ea5,00403ec5
;param_7 EHRegistrat... 1c ;XREF[2,0]: 00403ea2,00403ec2
;param_8 uchar 20 ;XREF[2,0]: 00403e9d,00403ec8
;XREF[1,0]: 00403eea
.text:00403de4 55 PUSH EBP
.text:00403de5 8bec MOV EBP,ESP
.text:00403de7 53 PUSH EBX
.text:00403de8 56 PUSH ESI
.text:00403de9 57 PUSH EDI
.text:00403dea ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00403ded e805ebffff CALL ___except_validate_context_record ;undefined ___except_validate_context...
.text:00403df2 59 POP ECX
.text:00403df3 e84bebffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403df8 8b4d18 MOV ECX,dword ptr [EBP + param_5+0x4]
.text:00403dfb 33f6 XOR ESI,ESI
.text:00403dfd 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00403e00 bbffffff1f MOV EBX,0x1fffffff
.text:00403e05 bf22059319 MOV EDI,0x19930522
.text:00403e0a 397020 CMP dword ptr [EAX + 0x20],ESI
.text:00403e0d 7522 JNZ LAB_00403e31
.text:00403e0f 813a63736de0 CMP dword ptr [EDX],0xe06d7363
.text:00403e15 741a JZ LAB_00403e31
.text:00403e17 813a26000080 CMP dword ptr [EDX],0x80000026
.text:00403e1d 7412 JZ LAB_00403e31
.text:00403e1f 8b01 MOV EAX,dword ptr [ECX]
.text:00403e21 23c3 AND EAX,EBX
.text:00403e23 3bc7 CMP EAX,EDI
.text:00403e25 720a JC LAB_00403e31
.text:00403e27 f6412001 TEST byte ptr [ECX + 0x20],0x1
.text:00403e2b 0f85ad000000 JNZ LAB_00403ede
LAB_00403e31: ;XREF[4,0]: 00403e0d,00403e15,00403e1d,00403e25
.text:00403e31 f6420466 TEST byte ptr [EDX + 0x4],0x66
.text:00403e35 7426 JZ LAB_00403e5d
.text:00403e37 397104 CMP dword ptr [ECX + 0x4],ESI
.text:00403e3a 0f849e000000 JZ LAB_00403ede
.text:00403e40 39751c CMP dword ptr [EBP + param_6+0x4],ESI
.text:00403e43 0f8595000000 JNZ LAB_00403ede
.text:00403e49 51 PUSH ECX
.text:00403e4a ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00403e4d ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403e50 e8ae030000 CALL __FrameHandler3::FrameUnwindToEmptyState;void FrameUnwindToEmptyState(EHRegis...
.text:00403e55 83c40c ADD ESP,0xc
.text:00403e58 e981000000 JMP LAB_00403ede
LAB_00403e5d: ;XREF[1,0]: 00403e35
.text:00403e5d 39710c CMP dword ptr [ECX + 0xc],ESI
.text:00403e60 751e JNZ LAB_00403e80
.text:00403e62 8b01 MOV EAX,dword ptr [ECX]
.text:00403e64 23c3 AND EAX,EBX
.text:00403e66 3d21059319 CMP EAX,0x19930521
.text:00403e6b 7205 JC LAB_00403e72
.text:00403e6d 39711c CMP dword ptr [ECX + 0x1c],ESI
.text:00403e70 750e JNZ LAB_00403e80
LAB_00403e72: ;XREF[1,0]: 00403e6b
.text:00403e72 3bc7 CMP EAX,EDI
.text:00403e74 7268 JC LAB_00403ede
.text:00403e76 8b4120 MOV EAX,dword ptr [ECX + 0x20]
.text:00403e79 c1e802 SHR EAX,0x2
.text:00403e7c a801 TEST AL,0x1
.text:00403e7e 745e JZ LAB_00403ede
LAB_00403e80: ;XREF[2,0]: 00403e60,00403e70
.text:00403e80 813a63736de0 CMP dword ptr [EDX],0xe06d7363
.text:00403e86 753a JNZ LAB_00403ec2
.text:00403e88 837a1003 CMP dword ptr [EDX + 0x10],0x3
.text:00403e8c 7234 JC LAB_00403ec2
.text:00403e8e 397a14 CMP dword ptr [EDX + 0x14],EDI
.text:00403e91 762f JBE LAB_00403ec2
.text:00403e93 8b421c MOV EAX,dword ptr [EDX + 0x1c]
.text:00403e96 8b7008 MOV ESI,dword ptr [EAX + 0x8]
.text:00403e99 85f6 TEST ESI,ESI
.text:00403e9b 7425 JZ LAB_00403ec2
.text:00403e9d 0fb64524 MOVZX EAX,byte ptr [EBP + param_8+0x4]
.text:00403ea1 50 PUSH EAX
.text:00403ea2 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00403ea5 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:00403ea8 51 PUSH ECX
.text:00403ea9 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00403eac 8bce MOV ECX,ESI
.text:00403eae ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00403eb1 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403eb4 52 PUSH EDX
.text:00403eb5 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00403ebb ffd6 CALL ESI
.text:00403ebd 83c420 ADD ESP,0x20
.text:00403ec0 eb1f JMP LAB_00403ee1
LAB_00403ec2: ;XREF[4,0]: 00403e86,00403e8c,00403e91,00403e9b
.text:00403ec2 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00403ec5 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:00403ec8 ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:00403ecb 51 PUSH ECX
.text:00403ecc ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00403ecf ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00403ed2 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00403ed5 52 PUSH EDX
.text:00403ed6 e8a0f9ffff CALL FUN_0040387b ;undefined FUN_0040387b(int * param_1...
.text:00403edb 83c420 ADD ESP,0x20
LAB_00403ede: ;XREF[6,0]: 00403e2b,00403e3a,00403e43,00403e58
; 00403e74,00403e7e
.text:00403ede 33c0 XOR EAX,EAX
.text:00403ee0 40 INC EAX
LAB_00403ee1: ;XREF[1,0]: 00403ec0
.text:00403ee1 5f POP EDI
.text:00403ee2 5e POP ESI
.text:00403ee3 5b POP EBX
.text:00403ee4 5d POP EBP
.text:00403ee5 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00403ee6(EHExceptionRecord * param_1, EHRegistrationNode * param_2, _CONTEXT * param_3, void * param_4, _s_FuncInfo * param_5, int param_6, EHRegistrationNode * param_7, uchar param_8)
;param_1 EHException... 4
;param_2 EHRegistrat... 8
;param_3 _CONTEXT * c
;param_4 void * 10
;param_5 _s_FuncInfo * 14
;param_6 int 18
;param_7 EHRegistrat... 1c
;param_8 uchar 20
;XREF[3,0]: 00402f60,00403029,00403095
.text:00403ee6 55 PUSH EBP
.text:00403ee7 8bec MOV EBP,ESP
.text:00403ee9 5d POP EBP
.text:00403eea e9f5feffff JMP __InternalCxxFrameHandler;_EXCEPTION_DISPOSITION __InternalCxx...
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_00403eef(void * this, exception * param_1)
;this void * ECX
;param_1 exception * 4 ;XREF[1,0]: 00403ef3
.text:00403eef 55 PUSH EBP
.text:00403ef0 8bec MOV EBP,ESP
.text:00403ef2 56 PUSH ESI
.text:00403ef3 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00403ef6 8bf1 MOV ESI,this
.text:00403ef8 e825000000 CALL std::exception::exception ;undefined exception(exception * this...
.text:00403efd c70670bc4100 MOV dword ptr [ESI],.rdata:std::bad_excep...
.text:00403f03 8bc6 MOV EAX,ESI
.text:00403f05 5e POP ESI
.text:00403f06 5d POP EBP
.text:00403f07 c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 * FUN_00403f0a(undefined4 * param_1)
;param_1 undefined4 * ECX
;XREF[1,0]: 00403bcb
.text:00403f0a 83610400 AND dword ptr [param_1 + 0x4],0x0
.text:00403f0e 8bc1 MOV EAX,param_1
.text:00403f10 83610800 AND dword ptr [param_1 + 0x8],0x0
.text:00403f14 c7410478b... MOV dword ptr [param...,.rdata:s_bad_exce...;= "bad exception"
.text:00403f1b c70170bc4100 MOV dword ptr [param_1],.rdata:std::bad_e...
.text:00403f21 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: __thiscall std::exception::exception(class std::exception const &) *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined exception(exception * this, exception * param_1)
;this exception * ECX
;param_1 exception * 4 ;XREF[1,0]: 00403f39
;XREF[1,0]: 00403ef8
.text:00403f22 55 PUSH EBP
.text:00403f23 8bec MOV EBP,ESP
.text:00403f25 56 PUSH ESI
.text:00403f26 8bf1 MOV ESI,this
.text:00403f28 8d4604 LEA EAX,[ESI + 0x4]
.text:00403f2b c70650bc4100 MOV dword ptr [ESI],.rdata:std::exception...
.text:00403f31 832000 AND dword ptr [EAX],0x0
.text:00403f34 83600400 AND dword ptr [EAX + 0x4],0x0
.text:00403f38 50 PUSH EAX
.text:00403f39 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00403f3c 83c004 ADD EAX,0x4
.text:00403f3f 50 PUSH EAX
.text:00403f40 e82f050000 CALL ___std_exception_copy ;undefined ___std_exception_copy(char...
.text:00403f45 59 POP this
.text:00403f46 59 POP this
.text:00403f47 8bc6 MOV EAX,ESI
.text:00403f49 5e POP ESI
.text:00403f4a 5d POP EBP
.text:00403f4b c20400 RET 0x4
.text:00403f4e 8d align align(1)
.text:00403f4f 41 ?? 41h A
.text:00403f50 04 ?? 04h
.text:00403f51 c7 ?? C7h
.text:00403f52 01 ?? 01h
.text:00403f53 50 ?? 50h P ;? -> 0041bc50
.text:00403f54 bc ?? BCh
.text:00403f55 41 ?? 41h A
.text:00403f56 00 ?? 00h
.text:00403f57 50 ?? 50h P
.text:00403f58 e8 ?? E8h
.text:00403f59 7a ?? 7Ah z
.text:00403f5a 05 ?? 05h
.text:00403f5b 00 ?? 00h
.text:00403f5c 00 ?? 00h
.text:00403f5d 59 ?? 59h Y
.text:00403f5e c3 ?? C3h
;************************************************************************************************
;* Library Function - Single Match *
;* public: bool __thiscall type_info::operator==(class type_info const &)const *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;bool operator==(type_info * this, type_info * param_1)
;this type_info * ECX
;param_1 type_info * 4 ;XREF[1,0]: 00403f62
;XREF[1,0]: 0040399a
.text:00403f5f 55 PUSH EBP
.text:00403f60 8bec MOV EBP,ESP
.text:00403f62 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00403f65 83c004 ADD EAX,0x4
.text:00403f68 50 PUSH EAX
.text:00403f69 8d4104 LEA EAX,[this + 0x4]
.text:00403f6c 50 PUSH EAX
.text:00403f6d e8c2e4ffff CALL ___std_type_info_compare ;uint ___std_type_info_compare(int pa...
.text:00403f72 f7d8 NEG EAX
.text:00403f74 59 POP this
.text:00403f75 1ac0 SBB AL,AL
.text:00403f77 59 POP this
.text:00403f78 fec0 INC AL
.text:00403f7a 5d POP EBP
.text:00403f7b c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_00403f7e(void * this, byte param_1)
;this void * ECX
;param_1 byte 4 ;XREF[1,0]: 00403f93
;XREF[2,0]: 0041bc50,0041bc70
.text:00403f7e 55 PUSH EBP
.text:00403f7f 8bec MOV EBP,ESP
.text:00403f81 56 PUSH ESI
.text:00403f82 8bf1 MOV ESI,this
.text:00403f84 8d4604 LEA EAX,[ESI + 0x4]
.text:00403f87 c70650bc4100 MOV dword ptr [ESI],.rdata:std::exception...
.text:00403f8d 50 PUSH EAX
.text:00403f8e e844050000 CALL ___std_exception_destroy ;undefined ___std_exception_destroy(L...
.text:00403f93 f6450801 TEST byte ptr [EBP + param_1+0x4],0x1
.text:00403f97 59 POP this
.text:00403f98 740a JZ LAB_00403fa4
.text:00403f9a 6a0c PUSH 0xc
.text:00403f9c 56 PUSH ESI
.text:00403f9d e8ae660100 CALL FUN_0041a650 ;undefined FUN_0041a650(LPVOID param_1)
.text:00403fa2 59 POP this
.text:00403fa3 59 POP this
LAB_00403fa4: ;XREF[1,0]: 00403f98
.text:00403fa4 8bc6 MOV EAX,ESI
.text:00403fa6 5e POP ESI
.text:00403fa7 5d POP EBP
.text:00403fa8 c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00403fab(int param_1, int param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, int param_6, int param_7)
;param_1 int 4 ;XREF[1,0]: 00403fca
;param_2 int 8 ;XREF[1,0]: 00403fc1
;param_3 undefined4 c ;XREF[1,0]: 00404001
;param_4 undefined4 10 ;XREF[1,0]: 0040401d
;param_5 undefined4 14 ;XREF[2,0]: 00403fb7,0040401a
;param_6 int 18 ;XREF[1,0]: 00404017
;param_7 int 1c ;XREF[1,0]: 00404014
;local_8 undefined4 -8 ;XREF[4,0]: 00404007,00404011,0040402e,004040d3
;local_14 undefined4 -14 ;XREF[1,0]: 004040e8
;local_20 undefined4 -20 ;XREF[2,0]: 00403fba,0040402b
;local_34 undefined4 -34 ;XREF[1,0]: 00403fc7
;local_38 undefined4 -38 ;XREF[1,0]: 00403fdb
;local_3c undefined4 -3c ;XREF[1,0]: 00403fe6
;local_40 undefined4 -40 ;XREF[1,0]: 00403ff1
;local_44 undefined4 -44 ;XREF[1,0]: 00403fbd
;local_48 undefined4 -48 ;XREF[2,0]: 0040400e,004040da
;local_50 undefined1 -50 ;XREF[1,0]: 00403fd0
;XREF[1,0]: 00403863
.text:00403fab 6a3c PUSH 0x3c
.text:00403fad 68c81b4200 PUSH .rdata:DAT_00421bc8 ;= FEh
.text:00403fb2 e849dfffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00403fb7 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:00403fba 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:00403fbd 8365c000 AND dword ptr [EBP + local_44+0x4],0x0
.text:00403fc1 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:00403fc4 8b43fc MOV EAX,dword ptr [EBX + -0x4]
.text:00403fc7 8945d0 MOV dword ptr [EBP + local_34+0x4],EAX
.text:00403fca 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00403fcd ff7618 PUSH dword ptr [ESI + 0x18]
.text:00403fd0 8d45b4 LEA EAX=>local_50,[EBP + -0x4c]
.text:00403fd3 50 PUSH EAX
.text:00403fd4 e892efffff CALL __CreateFrameInfo ;undefined4 * __CreateFrameInfo(undef...
.text:00403fd9 59 POP ECX
.text:00403fda 59 POP ECX
.text:00403fdb 8945cc MOV dword ptr [EBP + local_38+0x4],EAX
.text:00403fde e860e9ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403fe3 8b4010 MOV EAX,dword ptr [EAX + 0x10]
.text:00403fe6 8945c8 MOV dword ptr [EBP + local_3c+0x4],EAX
.text:00403fe9 e855e9ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403fee 8b4014 MOV EAX,dword ptr [EAX + 0x14]
.text:00403ff1 8945c4 MOV dword ptr [EBP + local_40+0x4],EAX
.text:00403ff4 e84ae9ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00403ff9 897010 MOV dword ptr [EAX + 0x10],ESI
.text:00403ffc e842e9ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00404001 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00404004 894814 MOV dword ptr [EAX + 0x14],ECX
.text:00404007 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040400b 33c0 XOR EAX,EAX
.text:0040400d 40 INC EAX
.text:0040400e 8945bc MOV dword ptr [EBP + local_48+0x4],EAX
.text:00404011 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00404014 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00404017 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:0040401a ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040401d ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00404020 53 PUSH EBX
.text:00404021 e83eedffff CALL FUN_00402d64 ;undefined4 FUN_00402d64(undefined4 p...
.text:00404026 83c414 ADD ESP,0x14
.text:00404029 8bd8 MOV EBX,EAX
.text:0040402b 895de4 MOV dword ptr [EBP + local_20+0x4],EBX
.text:0040402e 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00404032 e99c000000 JMP LAB_004040d3
.text:00404037 ff ?? FFh
.text:00404038 75 ?? 75h u
.text:00404039 ec ?? ECh
.text:0040403a e8 ?? E8h
.text:0040403b 7a ?? 7Ah z
.text:0040403c 01 ?? 01h
.text:0040403d 00 ?? 00h
.text:0040403e 00 ?? 00h
.text:0040403f 59 ?? 59h Y
.text:00404040 c3 ?? C3h
.text:00404041 8b ?? 8Bh
.text:00404042 65 ?? 65h e
.text:00404043 e8 ?? E8h
.text:00404044 e8 ?? E8h
.text:00404045 fa ?? FAh
.text:00404046 e8 ?? E8h
.text:00404047 ff ?? FFh
.text:00404048 ff ?? FFh
.text:00404049 83 ?? 83h
.text:0040404a 60 ?? 60h `
.text:0040404b 20 ?? 20h
.text:0040404c 00 ?? 00h
.text:0040404d 8b ?? 8Bh
.text:0040404e 75 ?? 75h u
.text:0040404f 14 ?? 14h
.text:00404050 8b ?? 8Bh
.text:00404051 46 ?? 46h F
.text:00404052 08 ?? 08h
.text:00404053 89 ?? 89h
.text:00404054 45 ?? 45h E
.text:00404055 d8 ?? D8h
.text:00404056 56 ?? 56h V
.text:00404057 ff ?? FFh
.text:00404058 75 ?? 75h u
.text:00404059 18 ?? 18h
.text:0040405a 8b ?? 8Bh
.text:0040405b 5d ?? 5Dh ]
.text:0040405c 0c ?? 0Ch
.text:0040405d 53 ?? 53h S
.text:0040405e e8 ?? E8h
.text:0040405f e6 ?? E6h
.text:00404060 03 ?? 03h
.text:00404061 00 ?? 00h
.text:00404062 00 ?? 00h
.text:00404063 83 ?? 83h
.text:00404064 c4 ?? C4h
.text:00404065 0c ?? 0Ch
.text:00404066 8b ?? 8Bh
.text:00404067 d0 ?? D0h
.text:00404068 89 ?? 89h
.text:00404069 55 ?? 55h U
.text:0040406a e0 ?? E0h
.text:0040406b 8b ?? 8Bh
.text:0040406c 46 ?? 46h F
.text:0040406d 10 ?? 10h
.text:0040406e 89 ?? 89h
.text:0040406f 45 ?? 45h E
.text:00404070 dc ?? DCh
.text:00404071 33 ?? 33h 3
.text:00404072 c9 ?? C9h
.text:00404073 89 ?? 89h
.text:00404074 4d ?? 4Dh M
.text:00404075 d4 ?? D4h
.text:00404076 39 ?? 39h 9
.text:00404077 4e ?? 4Eh N
.text:00404078 0c ?? 0Ch
.text:00404079 76 ?? 76h v
.text:0040407a 40 ?? 40h @
.text:0040407b 6b ?? 6Bh k
.text:0040407c c1 ?? C1h
.text:0040407d 14 ?? 14h
.text:0040407e 8b ?? 8Bh
.text:0040407f 5e ?? 5Eh ^
.text:00404080 10 ?? 10h
.text:00404081 3b ?? 3Bh ;
.text:00404082 54 ?? 54h T
.text:00404083 18 ?? 18h
.text:00404084 04 ?? 04h
.text:00404085 8b ?? 8Bh
.text:00404086 5d ?? 5Dh ]
.text:00404087 0c ?? 0Ch
.text:00404088 7e ?? 7Eh ~
.text:00404089 28 ?? 28h (
.text:0040408a 6b ?? 6Bh k
.text:0040408b c1 ?? C1h
.text:0040408c 14 ?? 14h
.text:0040408d 8b ?? 8Bh
.text:0040408e 75 ?? 75h u
.text:0040408f dc ?? DCh
.text:00404090 3b ?? 3Bh ;
.text:00404091 54 ?? 54h T
.text:00404092 30 ?? 30h 0
.text:00404093 08 ?? 08h
.text:00404094 8b ?? 8Bh
.text:00404095 75 ?? 75h u
.text:00404096 14 ?? 14h
.text:00404097 7f ?? 7Fh
.text:00404098 19 ?? 19h
.text:00404099 6b ?? 6Bh k
.text:0040409a c1 ?? C1h
.text:0040409b 14 ?? 14h
.text:0040409c 8b ?? 8Bh
.text:0040409d 4e ?? 4Eh N
.text:0040409e 10 ?? 10h
.text:0040409f 8b ?? 8Bh
.text:004040a0 44 ?? 44h D
.text:004040a1 08 ?? 08h
.text:004040a2 04 ?? 04h
.text:004040a3 40 ?? 40h @
.text:004040a4 89 ?? 89h
.text:004040a5 45 ?? 45h E
.text:004040a6 e0 ?? E0h
.text:004040a7 8b ?? 8Bh
.text:004040a8 55 ?? 55h U
.text:004040a9 d8 ?? D8h
.text:004040aa 8b ?? 8Bh
.text:004040ab 14 ?? 14h
.text:004040ac c2 ?? C2h
.text:004040ad 89 ?? 89h
.text:004040ae 55 ?? 55h U
.text:004040af e0 ?? E0h
.text:004040b0 eb ?? EBh
.text:004040b1 09 ?? 09h
.text:004040b2 41 ?? 41h A
.text:004040b3 89 ?? 89h
.text:004040b4 4d ?? 4Dh M
.text:004040b5 d4 ?? D4h
.text:004040b6 3b ?? 3Bh ;
.text:004040b7 4e ?? 4Eh N
.text:004040b8 0c ?? 0Ch
.text:004040b9 72 ?? 72h r
.text:004040ba c0 ?? C0h
.text:004040bb 52 ?? 52h R
.text:004040bc 56 ?? 56h V
.text:004040bd 6a ?? 6Ah j
.text:004040be 00 ?? 00h
.text:004040bf 53 ?? 53h S
.text:004040c0 e8 ?? E8h
.text:004040c1 56 ?? 56h V
.text:004040c2 01 ?? 01h
.text:004040c3 00 ?? 00h
.text:004040c4 00 ?? 00h
.text:004040c5 83 ?? 83h
.text:004040c6 c4 ?? C4h
.text:004040c7 10 ?? 10h
.text:004040c8 33 ?? 33h 3
.text:004040c9 db ?? DBh
.text:004040ca 89 ?? 89h
.text:004040cb 5d ?? 5Dh ]
.text:004040cc e4 ?? E4h
.text:004040cd 21 ?? 21h !
.text:004040ce 5d ?? 5Dh ]
.text:004040cf fc ?? FCh
.text:004040d0 8b ?? 8Bh
.text:004040d1 75 ?? 75h u
.text:004040d2 08 ?? 08h
LAB_004040d3: ;XREF[1,0]: 00404032
.text:004040d3 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:004040da c745bc000... MOV dword ptr [EBP + local_48+0x4],0x0
.text:004040e1 e818000000 CALL FUN_004040fe ;undefined FUN_004040fe(void)
.text:004040e6 8bc3 MOV EAX,EBX
.text:004040e8 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004040eb 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:004040f2 59 POP ECX
.text:004040f3 5f POP EDI
.text:004040f4 5e POP ESI
.text:004040f5 5b POP EBX
.text:004040f6 c9 LEAVE
.text:004040f7 c3 RET
.text:004040f8 8b align align(1)
.text:004040f9 75 ?? 75h u
.text:004040fa 08 ?? 08h
.text:004040fb 8b ?? 8Bh
.text:004040fc 5d ?? 5Dh ]
.text:004040fd e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004040fe(void)
;XREF[1,0]: 004040e1
.text:004040fe 8b45d0 MOV EAX,dword ptr [EBP + -0x30]
.text:00404101 8b4d0c MOV ECX,dword ptr [EBP + 0xc]
.text:00404104 8941fc MOV dword ptr [ECX + -0x4],EAX
.text:00404107 ff75cc PUSH dword ptr [EBP + -0x34]
.text:0040410a e880eeffff CALL __FindAndUnlinkFrame ;undefined __FindAndUnlinkFrame(int p...
.text:0040410f 59 POP ECX
.text:00404110 e82ee8ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00404115 8b4dc8 MOV ECX,dword ptr [EBP + -0x38]
.text:00404118 894810 MOV dword ptr [EAX + 0x10],ECX
.text:0040411b e823e8ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00404120 8b4dc4 MOV ECX,dword ptr [EBP + -0x3c]
.text:00404123 894814 MOV dword ptr [EAX + 0x14],ECX
.text:00404126 813e63736de0 CMP dword ptr [ESI],0xe06d7363
.text:0040412c 754b JNZ LAB_00404179
.text:0040412e 837e1003 CMP dword ptr [ESI + 0x10],0x3
.text:00404132 7545 JNZ LAB_00404179
.text:00404134 817e14200... CMP dword ptr [ESI + 0x14],0x19930520
.text:0040413b 7412 JZ LAB_0040414f
.text:0040413d 817e14210... CMP dword ptr [ESI + 0x14],0x19930521
.text:00404144 7409 JZ LAB_0040414f
.text:00404146 817e14220... CMP dword ptr [ESI + 0x14],0x19930522
.text:0040414d 752a JNZ LAB_00404179
LAB_0040414f: ;XREF[2,0]: 0040413b,00404144
.text:0040414f 837dc000 CMP dword ptr [EBP + -0x40],0x0
.text:00404153 7524 JNZ LAB_00404179
.text:00404155 85db TEST EBX,EBX
.text:00404157 7420 JZ LAB_00404179
.text:00404159 ff7618 PUSH dword ptr [ESI + 0x18]
.text:0040415c e815e4ffff CALL __IsExceptionObjectToBeDestroyed ;undefined4 __IsExceptionObjectToBeDe...
.text:00404161 59 POP ECX
.text:00404162 85c0 TEST EAX,EAX
.text:00404164 7413 JZ LAB_00404179
.text:00404166 837dbc00 CMP dword ptr [EBP + -0x44],0x0
.text:0040416a 0f95c0 SETNZ AL
.text:0040416d 0fb6c0 MOVZX EAX,AL
.text:00404170 50 PUSH EAX
.text:00404171 56 PUSH ESI
.text:00404172 e8f9e2ffff CALL ___DestructExceptionObject ;undefined ___DestructExceptionObject...
.text:00404177 59 POP ECX
.text:00404178 59 POP ECX
LAB_00404179: ;XREF[6,0]: 0040412c,00404132,0040414d,00404153
; 00404157,00404164
.text:00404179 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040417a(void)
;local_8 undefined4 -8 ;XREF[1,0]: 00404191
;XREF[1,0]: 00403c15
.text:0040417a 6a04 PUSH 0x4
.text:0040417c b823ad4100 MOV EAX,LAB_0041ad23
.text:00404181 e885640100 CALL __EH_prolog3_catch ;undefined __EH_prolog3_catch(int par...
.text:00404186 e8b8e7ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:0040418b 83781c00 CMP dword ptr [EAX + 0x1c],0x0
.text:0040418f 751d JNZ LAB_004041ae
.text:00404191 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00404195 e892020000 CALL _unexpected ;undefined _unexpected(void)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined Catch_All@0040419a(void)
;XREF[1,0]: 00421bfc
.text:0040419a e8a4e7ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:0040419f 8b4d08 MOV ECX,dword ptr [EBP + 0x8]
.text:004041a2 6a00 PUSH 0x0
.text:004041a4 6a00 PUSH 0x0
.text:004041a6 89481c MOV dword ptr [EAX + 0x1c],ECX
.text:004041a9 e848030000 CALL __CxxThrowException@8 ;undefined __CxxThrowException@8(int ...
LAB_004041ae: ;XREF[1,0]: 0040418f
.text:004041ae e896990000 CALL _abort ;void _abort(void)
.text:004041b3 cc ?? CCh
.text:004041b4 cc ?? CCh
.text:004041b5 cc ?? CCh
.text:004041b6 cc ?? CCh
.text:004041b7 cc ?? CCh
.text:004041b8 cc ?? CCh
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl ExFilterRethrow(struct _EXCEPTION_POINTERS *) *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;int ExFilterRethrow(_EXCEPTION_POINTERS * param_1)
;param_1 _EXCEPTION_... 4 ;XREF[1,0]: 004041bc
.text:004041b9 55 PUSH EBP
.text:004041ba 8bec MOV EBP,ESP
.text:004041bc 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004041bf 8b00 MOV EAX,dword ptr [EAX]
.text:004041c1 813863736de0 CMP dword ptr [EAX],0xe06d7363
.text:004041c7 7536 JNZ LAB_004041ff
.text:004041c9 83781003 CMP dword ptr [EAX + 0x10],0x3
.text:004041cd 7530 JNZ LAB_004041ff
.text:004041cf 817814200... CMP dword ptr [EAX + 0x14],0x19930520
.text:004041d6 7412 JZ LAB_004041ea
.text:004041d8 817814210... CMP dword ptr [EAX + 0x14],0x19930521
.text:004041df 7409 JZ LAB_004041ea
.text:004041e1 817814220... CMP dword ptr [EAX + 0x14],0x19930522
.text:004041e8 7515 JNZ LAB_004041ff
LAB_004041ea: ;XREF[2,0]: 004041d6,004041df
.text:004041ea 83781c00 CMP dword ptr [EAX + 0x1c],0x0
.text:004041ee 750f JNZ LAB_004041ff
.text:004041f0 e84ee7ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:004041f5 33c9 XOR ECX,ECX
.text:004041f7 41 INC ECX
.text:004041f8 894820 MOV dword ptr [EAX + 0x20],ECX
.text:004041fb 8bc1 MOV EAX,ECX
.text:004041fd 5d POP EBP
.text:004041fe c3 RET
LAB_004041ff: ;XREF[4,0]: 004041c7,004041cd,004041e8,004041ee
.text:004041ff 33c0 XOR EAX,EAX
.text:00404201 5d POP EBP
.text:00404202 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: static void __cdecl __FrameHandler3::FrameUnwindToEmptyState(struct EHRegistrationNo...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;void FrameUnwindToEmptyState(EHRegistrationNode * param_1, void * param_2, _s_FuncInfo * param_3)
;param_1 EHRegistrat... 4 ;XREF[1,0]: 0040420e
;param_2 void * 8 ;XREF[1,0]: 0040420b
;param_3 _s_FuncInfo * c ;XREF[1,0]: 00404208
;XREF[2,0]: 00403c06,00403e50
.text:00404203 55 PUSH EBP
.text:00404204 8bec MOV EBP,ESP
.text:00404206 6aff PUSH -0x1
.text:00404208 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040420b ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040420e ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00404211 e805000000 CALL __FrameHandler3::FrameUnwindToState ;void FrameUnwindToState(EHRegistrati...
.text:00404216 83c410 ADD ESP,0x10
.text:00404219 5d POP EBP
.text:0040421a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: static void __cdecl __FrameHandler3::FrameUnwindToState(struct EHRegistrationNode *,...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void FrameUnwindToState(EHRegistrationNode * param_1, void * param_2, _s_FuncInfo * param_3, int param_4)
;param_1 EHRegistrat... 4 ;XREF[4,0]: 0040422d,0040427c,0040428c,004042cb
;param_2 void * 8 ;XREF[1,0]: 0040422a
;param_3 _s_FuncInfo * c ;XREF[3,0]: 00404227,00404257,004042c8
;param_4 int 10 ;XREF[2,0]: 00404249,004042c2
;local_8 undefined4 -8 ;XREF[4,0]: 00404245,0040426c,004042aa,004042b6
;local_14 undefined4 -14 ;XREF[1,0]: 004042d6
;local_20 undefined4 -20 ;XREF[2,0]: 0040423a,004042b1
;local_24 undefined4 -24 ;XREF[2,0]: 00404269,004042ae
;XREF[2,0]: 0040383b,00404211
.text:0040421b 6a10 PUSH 0x10
.text:0040421d 68a01b4200 PUSH .rdata:DAT_00421ba0 ;= FEh
.text:00404222 e8d9dcffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00404227 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040422a ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040422d ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00404230 e814020000 CALL __FrameHandler3::GetCurrentState ;int GetCurrentState(EHRegistrationNo...
.text:00404235 83c40c ADD ESP,0xc
.text:00404238 8bf0 MOV ESI,EAX
.text:0040423a 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:0040423d e801e7ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00404242 ff4018 INC dword ptr [EAX + 0x18]
.text:00404245 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
LAB_00404249: ;XREF[1,0]: 004042b4
.text:00404249 3b7514 CMP ESI,dword ptr [EBP + param_4+0x4]
.text:0040424c 7468 JZ LAB_004042b6
.text:0040424e 83feff CMP ESI,-0x1
.text:00404251 0f8ea6000000 JLE LAB_004042fd
.text:00404257 8b7d10 MOV EDI,dword ptr [EBP + param_3+0x4]
.text:0040425a 3b7704 CMP ESI,dword ptr [EDI + 0x4]
.text:0040425d 0f8d9a000000 JGE LAB_004042fd
.text:00404263 8b4708 MOV EAX,dword ptr [EDI + 0x8]
.text:00404266 8b0cf0 MOV ECX,dword ptr [EAX + ESI*0x8]
.text:00404269 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:0040426c c745fc010... MOV dword ptr [EBP + local_8+0x4],0x1
.text:00404273 837cf00400 CMP dword ptr [EAX + ESI*0x8 + 0x4],0x0
.text:00404278 7430 JZ LAB_004042aa
.text:0040427a 51 PUSH ECX
.text:0040427b 57 PUSH EDI
.text:0040427c ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040427f e8e2010000 CALL __FrameHandler3::SetState ;void SetState(EHRegistrationNode * p...
.text:00404284 83c40c ADD ESP,0xc
.text:00404287 6803010000 PUSH 0x103
.text:0040428c ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040428f 8b4708 MOV EAX,dword ptr [EDI + 0x8]
.text:00404292 ff74f004 PUSH dword ptr [EAX + ESI*0x8 + 0x4]
.text:00404296 e845010000 CALL __CallSettingFrame@12 ;undefined __CallSettingFrame@12(unde...
.text:0040429b eb0d JMP LAB_004042aa
.text:0040429d ff ?? FFh
.text:0040429e 75 ?? 75h u
.text:0040429f ec ?? ECh
.text:004042a0 e8 ?? E8h
.text:004042a1 1c ?? 1Ch
.text:004042a2 e3 ?? E3h
.text:004042a3 ff ?? FFh
.text:004042a4 ff ?? FFh
.text:004042a5 59 ?? 59h Y
.text:004042a6 c3 ?? C3h
.text:004042a7 8b ?? 8Bh
.text:004042a8 65 ?? 65h e
.text:004042a9 e8 ?? E8h
LAB_004042aa: ;XREF[2,0]: 00404278,0040429b
.text:004042aa 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:004042ae 8b75e0 MOV ESI,dword ptr [EBP + local_24+0x4]
.text:004042b1 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:004042b4 eb93 JMP LAB_00404249
LAB_004042b6: ;XREF[1,0]: 0040424c
.text:004042b6 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:004042bd e827000000 CALL FUN_004042e9 ;undefined FUN_004042e9(void)
.text:004042c2 3b7514 CMP ESI,dword ptr [EBP + param_4+0x4]
.text:004042c5 7536 JNZ LAB_004042fd
.text:004042c7 56 PUSH ESI
.text:004042c8 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004042cb ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004042ce e893010000 CALL __FrameHandler3::SetState ;void SetState(EHRegistrationNode * p...
.text:004042d3 83c40c ADD ESP,0xc
.text:004042d6 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004042d9 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:004042e0 59 POP ECX
.text:004042e1 5f POP EDI
.text:004042e2 5e POP ESI
.text:004042e3 5b POP EBX
.text:004042e4 c9 LEAVE
.text:004042e5 c3 RET
.text:004042e6 8b ?? 8Bh
.text:004042e7 75 ?? 75h u
.text:004042e8 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004042e9(void)
;XREF[1,0]: 004042bd
.text:004042e9 e855e6ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:004042ee 83781800 CMP dword ptr [EAX + 0x18],0x0
.text:004042f2 7e08 JLE LAB_004042fc
.text:004042f4 e84ae6ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:004042f9 ff4818 DEC dword ptr [EAX + 0x18]
LAB_004042fc: ;XREF[1,0]: 004042f2
.text:004042fc c3 RET
LAB_004042fd: ;XREF[3,0]: 00404251,0040425d,004042c5
.text:004042fd e847980000 CALL _abort ;void _abort(void)
.text:00404302 cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00404303(int param_1, int * param_2)
;param_1 int 4 ;XREF[1,0]: 0040431f
;param_2 int * 8 ;XREF[1,0]: 0040430b
;local_8 undefined4 -8 ;XREF[3,0]: 00404324,0040437f,00404388
;local_c undefined4 -c ;XREF[3,0]: 00404343,00404364,0040436e
;local_10 undefined4 -10 ;XREF[3,0]: 00404340,00404367,00404373
;local_14 undefined4 -14 ;XREF[2,0]: 00404335,0040433d
;local_18 undefined4 -18 ;XREF[2,0]: 0040432a,00404352
;local_1c undefined4 -1c ;XREF[2,0]: 0040434f,00404376
;local_20 undefined4 -20 ;XREF[2,0]: 00404338,00404382
;XREF[2,0]: 00403978,00403b76
.text:00404303 55 PUSH EBP
.text:00404304 8bec MOV EBP,ESP
.text:00404306 83ec1c SUB ESP,0x1c
.text:00404309 53 PUSH EBX
.text:0040430a 56 PUSH ESI
.text:0040430b 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040430e 57 PUSH EDI
.text:0040430f 85f6 TEST ESI,ESI
.text:00404311 0f8480000000 JZ LAB_00404397
.text:00404317 8b3e MOV EDI,dword ptr [ESI]
.text:00404319 33db XOR EBX,EBX
.text:0040431b 85ff TEST EDI,EDI
.text:0040431d 7e71 JLE LAB_00404390
.text:0040431f 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00404322 8bd3 MOV EDX,EBX
.text:00404324 895dfc MOV dword ptr [EBP + local_8+0x4],EBX
.text:00404327 8b401c MOV EAX,dword ptr [EAX + 0x1c]
.text:0040432a 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0040432d 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00404330 8b08 MOV ECX,dword ptr [EAX]
.text:00404332 83c004 ADD EAX,0x4
.text:00404335 894df0 MOV dword ptr [EBP + local_14+0x4],ECX
.text:00404338 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
LAB_0040433b: ;XREF[1,0]: 0040438e
.text:0040433b 8bc8 MOV ECX,EAX
.text:0040433d 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00404340 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:00404343 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00404346 85c0 TEST EAX,EAX
.text:00404348 7e38 JLE LAB_00404382
.text:0040434a 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:0040434d 03c2 ADD EAX,EDX
.text:0040434f 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
LAB_00404352: ;XREF[1,0]: 00404379
.text:00404352 ff75ec PUSH dword ptr [EBP + local_18+0x4]
.text:00404355 ff31 PUSH dword ptr [ECX]
.text:00404357 50 PUSH EAX
.text:00404358 e8f9f9ffff CALL FID_conflict:___TypeMatch ;undefined4 FID_conflict:___TypeMatch...
.text:0040435d 83c40c ADD ESP,0xc
.text:00404360 85c0 TEST EAX,EAX
.text:00404362 7519 JNZ LAB_0040437d
.text:00404364 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00404367 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:0040436a 48 DEC EAX
.text:0040436b 83c104 ADD ECX,0x4
.text:0040436e 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00404371 85c0 TEST EAX,EAX
.text:00404373 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:00404376 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
.text:00404379 7fd7 JG LAB_00404352
.text:0040437b eb02 JMP LAB_0040437f
LAB_0040437d: ;XREF[1,0]: 00404362
.text:0040437d b301 MOV BL,0x1
LAB_0040437f: ;XREF[1,0]: 0040437b
.text:0040437f 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
LAB_00404382: ;XREF[1,0]: 00404348
.text:00404382 8b45e4 MOV EAX,dword ptr [EBP + local_20+0x4]
.text:00404385 83c210 ADD EDX,0x10
.text:00404388 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:0040438b 83ef01 SUB EDI,0x1
.text:0040438e 75ab JNZ LAB_0040433b
LAB_00404390: ;XREF[1,0]: 0040431d
.text:00404390 5f POP EDI
.text:00404391 5e POP ESI
.text:00404392 8ac3 MOV AL,BL
.text:00404394 5b POP EBX
.text:00404395 c9 LEAVE
.text:00404396 c3 RET
LAB_00404397: ;XREF[1,0]: 00404311
.text:00404397 e8ad970000 CALL _abort ;void _abort(void)
.text:0040439c cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* void __stdcall _CallMemberFunction1(void * const,void * const,void * const) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void _CallMemberFunction1(void * param_1, void * param_2, void * param_3)
;param_1 void * 4 ;XREF[1,0]: 004043a3
;param_2 void * 8 ;XREF[1,0]: 004043a6
;param_3 void * c ;XREF[1,0]: 004043a0
;XREF[1,0]: 004037d2
.text:0040439d 55 PUSH EBP
.text:0040439e 8bec MOV EBP,ESP
.text:004043a0 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004043a3 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:004043a6 ff550c CALL dword ptr [EBP + param_2+0x4]
.text:004043a9 5d POP EBP
.text:004043aa c20c00 RET 0xc
;************************************************************************************************
;* Library Function - Single Match *
;* void __stdcall _CallMemberFunction2(void * const,void * const,void * const,int) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void _CallMemberFunction2(void * param_1, void * param_2, void * param_3, int param_4)
;param_1 void * 4 ;XREF[1,0]: 004043b3
;param_2 void * 8 ;XREF[1,0]: 004043b9
;param_3 void * c ;XREF[1,0]: 004043b6
;param_4 int 10 ;XREF[1,0]: 004043b0
;XREF[1,0]: 004037b8
.text:004043ad 55 PUSH EBP
.text:004043ae 8bec MOV EBP,ESP
.text:004043b0 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:004043b3 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:004043b6 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004043b9 ff550c CALL dword ptr [EBP + param_2+0x4]
.text:004043bc 5d POP EBP
.text:004043bd c21000 RET 0x10
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_004043c0(int param_1)
;param_1 int 4 ;XREF[1,0]: 004043c3
;XREF[1,0]: 00403c0c
.text:004043c0 55 PUSH EBP
.text:004043c1 8bec MOV EBP,ESP
.text:004043c3 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004043c6 8b401c MOV EAX,dword ptr [EAX + 0x1c]
.text:004043c9 5d POP EBP
.text:004043ca c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;char * FUN_004043cb(int param_1)
;param_1 int ECX
;XREF[2,0]: 0041bc54,0041bc74
.text:004043cb 8b4104 MOV EAX,dword ptr [param_1 + 0x4]
.text:004043ce 85c0 TEST EAX,EAX
.text:004043d0 7505 JNZ LAB_004043d7
.text:004043d2 b858bc4100 MOV EAX,.rdata:s_Unknown_exception_0041bc58 ;= "Unknown exception"
LAB_004043d7: ;XREF[1,0]: 004043d0
.text:004043d7 c3 RET
.text:004043d8 ccccccccc... align align(8)
;************************************************************************************************
;* Library Function - Single Match *
;* __CallSettingFrame@12 *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;undefined __CallSettingFrame@12(undefined4 param_1, undefined4 param_2, int param_3)
;param_1 undefined4 4 ;XREF[1,0]: 004043f1
;param_2 undefined4 8 ;XREF[1,0]: 004043e8
;param_3 int c ;XREF[2,0]: 004043f5,004043f8
;local_8 undefined4 -8 ;XREF[2,0]: 004043ee,004043fb
;XREF[2,0]: 00402dad,00404296
.text:004043e0 55 PUSH EBP
.text:004043e1 8bec MOV EBP,ESP
.text:004043e3 83ec04 SUB ESP,0x4
.text:004043e6 53 PUSH EBX
.text:004043e7 51 PUSH ECX
.text:004043e8 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004043eb 83c00c ADD EAX,0xc
.text:004043ee 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004043f1 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004043f4 55 PUSH EBP
.text:004043f5 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004043f8 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:004043fb 8b6dfc MOV EBP,dword ptr [EBP + local_8+0x4]
.text:004043fe e89de6ffff CALL FUN_00402aa0 ;undefined4 FUN_00402aa0(undefined4 p...
.text:00404403 56 PUSH ESI
.text:00404404 57 PUSH EDI
.text:00404405 ffd0 CALL EAX
.text:00404407 5f POP EDI
.text:00404408 5e POP ESI
.text:00404409 8bdd MOV EBX,EBP
.text:0040440b 5d POP EBP
.text:0040440c 8b4d10 MOV ECX,dword ptr [EBP + 0x10]
.text:0040440f 55 PUSH EBP
.text:00404410 8beb MOV EBP,EBX
.text:00404412 81f900010000 CMP ECX,0x100
.text:00404418 7505 JNZ LAB_0040441f
.text:0040441a b902000000 MOV ECX,0x2
LAB_0040441f: ;XREF[1,0]: 00404418
.text:0040441f 51 PUSH ECX
.text:00404420 e87be6ffff CALL FUN_00402aa0 ;undefined4 FUN_00402aa0(undefined4 p...
.text:00404425 5d POP EBP
.text:00404426 59 POP ECX
.text:00404427 5b POP EBX
.text:00404428 c9 LEAVE
.text:00404429 c20c00 RET 0xc
;************************************************************************************************
;* Library Function - Single Match *
;* _unexpected *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined _unexpected(void)
;XREF[1,0]: 00404195
.text:0040442c 56 PUSH ESI
.text:0040442d e811e5ffff CALL ___vcrt_getptd ;undefined ___vcrt_getptd(void)
.text:00404432 8b7004 MOV ESI,dword ptr [EAX + 0x4]
.text:00404435 85f6 TEST ESI,ESI
.text:00404437 740a JZ LAB_00404443
.text:00404439 8bce MOV ECX,ESI
.text:0040443b ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00404441 ffd6 CALL ESI
LAB_00404443: ;XREF[1,0]: 00404437
.text:00404443 e86b960000 CALL _terminate ;undefined _terminate(void)
.text:00404448 cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* public: static int __cdecl __FrameHandler3::GetCurrentState(struct EHRegistrationNode *,void...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;int GetCurrentState(EHRegistrationNode * param_1, void * param_2, _s_FuncInfo * param_3)
;param_1 EHRegistrat... 4 ;XREF[1,0]: 0040444f
;param_2 void * 8
;param_3 _s_FuncInfo * c ;XREF[1,0]: 0040444c
;XREF[2,0]: 00403896,00404230
.text:00404449 55 PUSH EBP
.text:0040444a 8bec MOV EBP,ESP
.text:0040444c 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0040444f 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00404452 817804800... CMP dword ptr [EAX + 0x4],0x80
.text:00404459 7f06 JG LAB_00404461
.text:0040445b 0fbe4108 MOVSX EAX,byte ptr [ECX + 0x8]
.text:0040445f 5d POP EBP
.text:00404460 c3 RET
LAB_00404461: ;XREF[1,0]: 00404459
.text:00404461 8b4108 MOV EAX,dword ptr [ECX + 0x8]
.text:00404464 5d POP EBP
.text:00404465 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: static void __cdecl __FrameHandler3::SetState(struct EHRegistrationNode *,struct _s_...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;void SetState(EHRegistrationNode * param_1, _s_FuncInfo * param_2, int param_3)
;param_1 EHRegistrat... 4 ;XREF[1,0]: 00404469
;param_2 _s_FuncInfo * 8
;param_3 int c ;XREF[1,0]: 0040446c
;XREF[3,0]: 00403849,0040427f,004042ce
.text:00404466 55 PUSH EBP
.text:00404467 8bec MOV EBP,ESP
.text:00404469 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040446c 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:0040446f 894808 MOV dword ptr [EAX + 0x8],ECX
.text:00404472 5d POP EBP
.text:00404473 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___std_exception_copy *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined ___std_exception_copy(char * * param_1, char * * param_2)
;param_1 char * * 4 ;XREF[1,0]: 00404478
;param_2 char * * 8 ;XREF[2,0]: 004044ae,004044c9
;XREF[1,0]: 00403f40
.text:00404474 55 PUSH EBP
.text:00404475 8bec MOV EBP,ESP
.text:00404477 57 PUSH EDI
.text:00404478 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0040447b 807f0400 CMP byte ptr [EDI + 0x4],0x0
.text:0040447f 7448 JZ LAB_004044c9
.text:00404481 8b0f MOV ECX,dword ptr [EDI]
.text:00404483 85c9 TEST ECX,ECX
.text:00404485 7442 JZ LAB_004044c9
.text:00404487 8d5101 LEA EDX,[ECX + 0x1]
LAB_0040448a: ;XREF[1,0]: 0040448f
.text:0040448a 8a01 MOV AL,byte ptr [ECX]
.text:0040448c 41 INC ECX
.text:0040448d 84c0 TEST AL,AL
.text:0040448f 75f9 JNZ LAB_0040448a
.text:00404491 2bca SUB ECX,EDX
.text:00404493 53 PUSH EBX
.text:00404494 56 PUSH ESI
.text:00404495 8d5901 LEA EBX,[ECX + 0x1]
.text:00404498 53 PUSH EBX
.text:00404499 e897870000 CALL FUN_0040cc35 ;undefined FUN_0040cc35(SIZE_T param_1)
.text:0040449e 8bf0 MOV ESI,EAX
.text:004044a0 59 POP ECX
.text:004044a1 85f6 TEST ESI,ESI
.text:004044a3 7419 JZ LAB_004044be
.text:004044a5 ff37 PUSH dword ptr [EDI]
.text:004044a7 53 PUSH EBX
.text:004044a8 56 PUSH ESI
.text:004044a9 e841960000 CALL FUN_0040daef ;undefined4 FUN_0040daef(char * param...
.text:004044ae 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004044b1 8bce MOV ECX,ESI
.text:004044b3 83c40c ADD ESP,0xc
.text:004044b6 33f6 XOR ESI,ESI
.text:004044b8 8908 MOV dword ptr [EAX],ECX
.text:004044ba c6400401 MOV byte ptr [EAX + 0x4],0x1
LAB_004044be: ;XREF[1,0]: 004044a3
.text:004044be 56 PUSH ESI
.text:004044bf e8e1850000 CALL FUN_0040caa5 ;undefined FUN_0040caa5(LPVOID param_1)
.text:004044c4 59 POP ECX
.text:004044c5 5e POP ESI
.text:004044c6 5b POP EBX
.text:004044c7 eb0b JMP LAB_004044d4
LAB_004044c9: ;XREF[2,0]: 0040447f,00404485
.text:004044c9 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:004044cc 8b07 MOV EAX,dword ptr [EDI]
.text:004044ce 8901 MOV dword ptr [ECX],EAX
.text:004044d0 c6410400 MOV byte ptr [ECX + 0x4],0x0
LAB_004044d4: ;XREF[1,0]: 004044c7
.text:004044d4 5f POP EDI
.text:004044d5 5d POP EBP
.text:004044d6 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___std_exception_destroy *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined ___std_exception_destroy(LPVOID * param_1)
;param_1 LPVOID * 4 ;XREF[1,0]: 004044db
;XREF[1,0]: 00403f8e
.text:004044d7 55 PUSH EBP
.text:004044d8 8bec MOV EBP,ESP
.text:004044da 56 PUSH ESI
.text:004044db 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004044de 807e0400 CMP byte ptr [ESI + 0x4],0x0
.text:004044e2 7408 JZ LAB_004044ec
.text:004044e4 ff36 PUSH dword ptr [ESI]
.text:004044e6 e8ba850000 CALL FUN_0040caa5 ;undefined FUN_0040caa5(LPVOID param_1)
.text:004044eb 59 POP ECX
LAB_004044ec: ;XREF[1,0]: 004044e2
.text:004044ec 832600 AND dword ptr [ESI],0x0
.text:004044ef c6460400 MOV byte ptr [ESI + 0x4],0x0
.text:004044f3 5e POP ESI
.text:004044f4 5d POP EBP
.text:004044f5 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __CxxThrowException@8 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined __CxxThrowException@8(int * param_1, byte * param_2)
;param_1 int * 4 ;XREF[1,0]: 004044fc
;param_2 byte * 8 ;XREF[1,0]: 00404501
;local_8 undefined4 -8 ;XREF[1,0]: 00404553
;local_c undefined4 -c ;XREF[1,0]: 00404540
;local_10 undefined4 -10 ;XREF[2,0]: 00404543,00404550
;local_14 undefined4 -14 ;XREF[2,0]: 00404509,0040453d
;XREF[2,0]: 00403bd9,004041a9
.text:004044f6 55 PUSH EBP
.text:004044f7 8bec MOV EBP,ESP
.text:004044f9 83ec14 SUB ESP,0x14
.text:004044fc 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004044ff 53 PUSH EBX
.text:00404500 57 PUSH EDI
.text:00404501 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00404504 bb20059319 MOV EBX,0x19930520
.text:00404509 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:0040450c 85ff TEST EDI,EDI
.text:0040450e 742d JZ LAB_0040453d
.text:00404510 f60710 TEST byte ptr [EDI],0x10
.text:00404513 741e JZ LAB_00404533
.text:00404515 8b08 MOV ECX,dword ptr [EAX]
.text:00404517 83e904 SUB ECX,0x4
.text:0040451a 56 PUSH ESI
.text:0040451b 51 PUSH ECX
.text:0040451c 8b01 MOV EAX,dword ptr [ECX]
.text:0040451e 8b7020 MOV ESI,dword ptr [EAX + 0x20]
.text:00404521 8bce MOV ECX,ESI
.text:00404523 8b7818 MOV EDI,dword ptr [EAX + 0x18]
.text:00404526 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040452c ffd6 CALL ESI
.text:0040452e 5e POP ESI
.text:0040452f 85ff TEST EDI,EDI
.text:00404531 740a JZ LAB_0040453d
LAB_00404533: ;XREF[1,0]: 00404513
.text:00404533 f60708 TEST byte ptr [EDI],0x8
.text:00404536 7405 JZ LAB_0040453d
.text:00404538 bb00409901 MOV EBX,0x1994000
LAB_0040453d: ;XREF[3,0]: 0040450e,00404531,00404536
.text:0040453d 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00404540 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00404543 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00404546 50 PUSH EAX ;ULONG_PTR * lpArguments for RaiseExc...
.text:00404547 6a03 PUSH 0x3 ;DWORD nNumberOfArguments for RaiseEx...
.text:00404549 6a01 PUSH 0x1 ;DWORD dwExceptionFlags for RaiseExce...
.text:0040454b 6863736de0 PUSH 0xe06d7363 ;DWORD dwExceptionCode for RaiseExcep...
.text:00404550 895df4 MOV dword ptr [EBP + local_10+0x4],EBX
.text:00404553 897dfc MOV dword ptr [EBP + local_8+0x4],EDI
.text:00404556 ff1570b04100 CALL dword ptr [->KERNEL32.DLL::RaiseExcep...;= 0002251a
.text:0040455c 5f POP EDI
.text:0040455d 5b POP EBX
.text:0040455e c9 LEAVE
.text:0040455f c20800 RET 0x8
.text:00404562 ccccccccc... align align(14)
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* public: void __thiscall __crt_seh_guarded_call::operator()::operator()::operator()(int * param_1, int * * param_2)
;param_1 int * 4 ;XREF[1,0]: 0040457c
;param_2 int * * 8 ;XREF[1,0]: 0040458b
;local_8 undefined4 -8 ;XREF[2,0]: 00404587,00404593
;local_14 undefined4 -14 ;XREF[1,0]: 0040459f
;XREF[1,0]: 00404750
.text:00404570 6a08 PUSH 0x8
.text:00404572 68481d4200 PUSH .rdata:DAT_00421d48 ;= FEh
.text:00404577 e884d9ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040457c 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040457f ff30 PUSH dword ptr [EAX]
.text:00404581 e8cd990000 CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:00404586 59 POP ECX
.text:00404587 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040458b 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040458e e864000000 CALL FUN_004045f7 ;undefined FUN_004045f7(int * * param_1)
.text:00404593 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0040459a e812000000 CALL FUN_004045b1 ;undefined FUN_004045b1(void)
.text:0040459f 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004045a2 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:004045a9 59 POP ECX
.text:004045aa 5f POP EDI
.text:004045ab 5e POP ESI
.text:004045ac 5b POP EBX
.text:004045ad c9 LEAVE
.text:004045ae c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004045b1(void)
;XREF[1,0]: 0040459a
.text:004045b1 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:004045b4 ff30 PUSH dword ptr [EAX]
.text:004045b6 e8e0990000 CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:004045bb 59 POP ECX
.text:004045bc c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004045bd(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 004045c8
;XREF[3,0]: 0040463c,00412f78,00413182
.text:004045bd 8bff MOV EDI,EDI
.text:004045bf 55 PUSH EBP
.text:004045c0 8bec MOV EBP,ESP
.text:004045c2 8b0d14304200 MOV ECX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:004045c8 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004045cb 83e11f AND ECX,0x1f
.text:004045ce 330514304200 XOR EAX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:004045d4 d3c8 ROR EAX,CL
.text:004045d6 5d POP EBP
.text:004045d7 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void (__stdcall*__cdecl __crt_fast_encode_pointer(_func_void_void_ptr_ulong_void_ptr * param_1)
;param_1 _func_void_... 4 ;XREF[1,0]: 004045ea
;XREF[7,0]: 0040489e,0040ce05,0040d74b,0040d753
; 0040d765,0040d772,0040e53c
.text:004045d8 8bff MOV EDI,EDI
.text:004045da 55 PUSH EBP
.text:004045db 8bec MOV EBP,ESP
.text:004045dd a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:004045e2 83e01f AND EAX,0x1f
.text:004045e5 6a20 PUSH 0x20
.text:004045e7 59 POP ECX
.text:004045e8 2bc8 SUB ECX,EAX
.text:004045ea 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004045ed d3c8 ROR EAX,CL
.text:004045ef 330514304200 XOR EAX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:004045f5 5d POP EBP
.text:004045f6 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004045f7(int * * param_1)
;param_1 int * * ECX
;local_8 undefined4 -8 ;XREF[2,0]: 0040461e,00404668
;local_14 undefined4 -14 ;XREF[1,0]: 004046ab
;local_24 undefined4 -24 ;XREF[1,0]: 0040462e
;XREF[1,0]: 0040458e
.text:004045f7 6a14 PUSH 0x14
.text:004045f9 68281d4200 PUSH .rdata:DAT_00421d28 ;= FEh
.text:004045fe e8fdd8ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00404603 8bf9 MOV EDI,param_1
.text:00404605 803d143d4... CMP byte ptr [.data:DAT_00423d14],0x0 ;= ??
.text:0040460c 0f8599000000 JNZ LAB_004046ab
.text:00404612 33c0 XOR EAX,EAX
.text:00404614 40 INC EAX
.text:00404615 b90c3d4200 MOV param_1,.data:DAT_00423d0c ;= ??
.text:0040461a 8701 XCHG dword ptr [param...,EAX ;= ??
.text:0040461c 33db XOR EBX,EBX
.text:0040461e 895dfc MOV dword ptr [EBP + local_8+0x4],EBX
.text:00404621 8b07 MOV EAX,dword ptr [EDI]
.text:00404623 8b00 MOV EAX,dword ptr [EAX]
.text:00404625 85c0 TEST EAX,EAX
.text:00404627 752f JNZ LAB_00404658
.text:00404629 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0040462e 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:00404631 8b0d103d4200 MOV param_1,dword ptr [.data:DAT_00423d10] ;= ??
.text:00404637 3bc8 CMP param_1,EAX
.text:00404639 7416 JZ LAB_00404651
.text:0040463b 51 PUSH param_1
.text:0040463c e87cffffff CALL FUN_004045bd ;uint FUN_004045bd(uint param_1)
.text:00404641 59 POP param_1
.text:00404642 8bf0 MOV ESI,EAX
.text:00404644 53 PUSH EBX
.text:00404645 53 PUSH EBX
.text:00404646 53 PUSH EBX
.text:00404647 8bce MOV param_1,ESI
.text:00404649 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040464f ffd6 CALL ESI
LAB_00404651: ;XREF[1,0]: 00404639
.text:00404651 686c3e4200 PUSH .data:DAT_00423e6c ;= ??
.text:00404656 eb0a JMP LAB_00404662
LAB_00404658: ;XREF[1,0]: 00404627
.text:00404658 83f801 CMP EAX,0x1
.text:0040465b 750b JNZ LAB_00404668
.text:0040465d 68783e4200 PUSH .data:DAT_00423e78 ;= ??
LAB_00404662: ;XREF[1,0]: 00404656
; FWD[2,0]: 0040d87d,00423e6c
.text:00404662 e816920000 CALL FUN_0040d87d ;undefined FUN_0040d87d(void)
;= ??
.text:00404667 59 POP param_1
LAB_00404668: ;XREF[1,0]: 0040465b
.text:00404668 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0040466f 8b07 MOV EAX,dword ptr [EDI]
.text:00404671 3918 CMP dword ptr [EAX],EBX
.text:00404673 7511 JNZ LAB_00404686
.text:00404675 685cb14100 PUSH .rdata:DAT_0041b15c
.text:0040467a 684cb14100 PUSH .rdata:DAT_0041b14c
.text:0040467f e8588d0000 CALL FUN_0040d3dc ;undefined FUN_0040d3dc(undefined * *...
.text:00404684 59 POP param_1
.text:00404685 59 POP param_1
LAB_00404686: ;XREF[1,0]: 00404673
.text:00404686 6864b14100 PUSH .rdata:DAT_0041b164
.text:0040468b 6860b14100 PUSH .rdata:DAT_0041b160
.text:00404690 e8478d0000 CALL FUN_0040d3dc ;undefined FUN_0040d3dc(undefined * *...
.text:00404695 59 POP param_1
.text:00404696 59 POP param_1
.text:00404697 8b4704 MOV EAX,dword ptr [EDI + 0x4]
.text:0040469a 3918 CMP dword ptr [EAX],EBX
.text:0040469c 750d JNZ LAB_004046ab
.text:0040469e c605143d4... MOV byte ptr [.data:DAT_00423d14],0x1 ;= ??
.text:004046a5 8b4708 MOV EAX,dword ptr [EDI + 0x8]
.text:004046a8 c60001 MOV byte ptr [EAX],0x1
LAB_004046ab: ;XREF[2,0]: 0040460c,0040469c
.text:004046ab 8b4df0 MOV param_1,dword ptr [EBP + local_14+0x4]
.text:004046ae 64890d000... MOV dword ptr FS:[0x...,param_1 ;= 00000000
.text:004046b5 59 POP param_1
.text:004046b6 5f POP EDI
.text:004046b7 5e POP ESI
.text:004046b8 5b POP EBX
.text:004046b9 c9 LEAVE
.text:004046ba c3 RET
.text:004046bb 8b align align(1)
.text:004046bc 45 ?? 45h E
.text:004046bd ec ?? ECh
.text:004046be 8b ?? 8Bh
.text:004046bf 00 ?? 00h
.text:004046c0 8b ?? 8Bh
.text:004046c1 00 ?? 00h
.text:004046c2 89 ?? 89h
.text:004046c3 45 ?? 45h E
.text:004046c4 dc ?? DCh
.text:004046c5 33 ?? 33h 3
.text:004046c6 c9 ?? C9h
.text:004046c7 3d ?? 3Dh =
.text:004046c8 63 ?? 63h c
.text:004046c9 73 ?? 73h s
.text:004046ca 6d ?? 6Dh m
.text:004046cb e0 ?? E0h
.text:004046cc 0f ?? 0Fh
.text:004046cd 94 ?? 94h
.text:004046ce c1 ?? C1h
.text:004046cf 89 ?? 89h
.text:004046d0 4d ?? 4Dh M
.text:004046d1 e4 ?? E4h
.text:004046d2 8b ?? 8Bh
.text:004046d3 45 ?? 45h E
.text:004046d4 e4 ?? E4h
.text:004046d5 c3 ?? C3h
.text:004046d6 8b ?? 8Bh
.text:004046d7 65 ?? 65h e
.text:004046d8 e8 ?? E8h
.text:004046d9 e8 ?? E8h
.text:004046da d5 ?? D5h
.text:004046db 93 ?? 93h
.text:004046dc 00 ?? 00h
.text:004046dd 00 ?? 00h
.text:004046de cc ?? CCh
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004046df(UINT param_1, undefined4 param_2, int param_3)
;param_1 UINT 4 ;XREF[2,0]: 00404715,00404768
;param_2 undefined4 8 ;XREF[1,0]: 0040471e
;param_3 int c ;XREF[3,0]: 00404706,00404728,00404755
;local_8 undefined4 -8 ;XREF[1,0]: 00404734
;local_10 undefined4 -10 ;XREF[2,0]: 004046fd,0040475b
;local_11 undefined1 -11 ;XREF[2,0]: 00404721,0040472e
;local_12 undefined1 -12 ;XREF[1,0]: 00404738
;local_18 undefined4 -18 ;XREF[2,0]: 0040473e,00404744
;local_1c undefined4 -1c ;XREF[2,0]: 00404741,0040474c
;local_20 undefined4 -20 ;XREF[1,0]: 00404731
;local_24 undefined4 -24 ;XREF[1,0]: 0040472b
;local_28 undefined4 -28 ;XREF[2,0]: 00404725,00404748
;XREF[4,0]: 00404857,00404866,0040487b,004048b7
.text:004046df 8bff MOV EDI,EDI
.text:004046e1 55 PUSH EBP
.text:004046e2 8bec MOV EBP,ESP
.text:004046e4 6aff PUSH -0x1
.text:004046e6 6840ad4100 PUSH LAB_0041ad40
.text:004046eb 64a100000000 MOV EAX,FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:004046f1 50 PUSH EAX
.text:004046f2 83ec18 SUB ESP,0x18
.text:004046f5 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:004046fa 33c5 XOR EAX,EBP
.text:004046fc 50 PUSH EAX
.text:004046fd 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00404700 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:00404706 837d1000 CMP dword ptr [EBP + param_3+0x4],0x0
.text:0040470a 7512 JNZ LAB_0040471e
.text:0040470c e8e6d6ffff CALL FUN_00401df7 ;uint FUN_00401df7(void)
.text:00404711 84c0 TEST AL,AL
.text:00404713 7409 JZ LAB_0040471e
.text:00404715 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00404718 e8a3000000 CALL FUN_004047c0 ;undefined FUN_004047c0(undefined4 pa...
.text:0040471d 59 POP ECX
LAB_0040471e: ;XREF[2,0]: 0040470a,00404713
.text:0040471e 8d450c LEA EAX=>param_2,[EBP + 0xc]
.text:00404721 c645f300 MOV byte ptr [EBP + local_11+0x4],0x0
.text:00404725 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:00404728 8d4510 LEA EAX=>param_3,[EBP + 0x10]
.text:0040472b 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:0040472e 8d45f3 LEA EAX=>local_11,[EBP + -0xd]
.text:00404731 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:00404734 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00404738 8d4df2 LEA ECX=>local_12,[EBP + -0xe]
.text:0040473b 6a02 PUSH 0x2
.text:0040473d 58 POP EAX
.text:0040473e 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00404741 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:00404744 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:00404747 50 PUSH EAX
.text:00404748 8d45dc LEA EAX=>local_28,[EBP + -0x24]
.text:0040474b 50 PUSH EAX
.text:0040474c 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:0040474f 50 PUSH EAX
.text:00404750 e81bfeffff CALL operator()<> ;undefined operator()<>(int * param_1...
.text:00404755 837d1000 CMP dword ptr [EBP + param_3+0x4],0x0
.text:00404759 740d JZ LAB_00404768
.text:0040475b 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:0040475e 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00404765 59 POP ECX
.text:00404766 c9 LEAVE
.text:00404767 c3 RET
LAB_00404768: ;XREF[1,0]: 00404759
.text:00404768 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040476b e806000000 CALL FUN_00404776 ;undefined FUN_00404776(UINT param_1)
.text:00404770 cc INT3
.text:00404771 cccccccccc align align(5)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00404776(UINT param_1)
;param_1 UINT 4 ;XREF[3,0]: 00404784,00404794,0040479d
;XREF[1,0]: 0040476b
.text:00404776 8bff MOV EDI,EDI
.text:00404778 55 PUSH EBP
.text:00404779 8bec MOV EBP,ESP
.text:0040477b e827000000 CALL FUN_004047a7 ;char FUN_004047a7(void)
.text:00404780 84c0 TEST AL,AL
.text:00404782 7410 JZ LAB_00404794
.text:00404784 ff7508 PUSH dword ptr [EBP + param_1+0x4] ;UINT uExitCode for TerminateProcess
.text:00404787 ff152cb04100 CALL dword ptr [->KERNEL32.DLL::GetCurrent...;= 000223e2
.text:0040478d 50 PUSH EAX ;HANDLE hProcess for TerminateProcess
.text:0040478e ff1530b04100 CALL dword ptr [->KERNEL32.DLL::TerminateP...;= 000223f6
LAB_00404794: ;XREF[1,0]: 00404782
.text:00404794 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00404797 e824000000 CALL FUN_004047c0 ;undefined FUN_004047c0(undefined4 pa...
.text:0040479c 59 POP ECX
.text:0040479d ff7508 PUSH dword ptr [EBP + param_1+0x4] ;UINT uExitCode for ExitProcess
.text:004047a0 ff1574b04100 CALL dword ptr [->KERNEL32.DLL::ExitProcess] ;= 0002252c
.text:004047a6 cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;char FUN_004047a7(void)
;XREF[1,0]: 0040477b
.text:004047a7 e82b980000 CALL FUN_0040dfd7 ;bool FUN_0040dfd7(void)
.text:004047ac 83f801 CMP EAX,0x1
.text:004047af 740c JZ LAB_004047bd
.text:004047b1 e8fc970000 CALL FUN_0040dfb2 ;uint FUN_0040dfb2(void)
.text:004047b6 f6d8 NEG AL
.text:004047b8 1ac0 SBB AL,AL
.text:004047ba fec0 INC AL
.text:004047bc c3 RET
LAB_004047bd: ;XREF[1,0]: 004047af
.text:004047bd 32c0 XOR AL,AL
.text:004047bf c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004047c0(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 00404813
;local_10 undefined4 -10 ;XREF[2,0]: 004047dd,0040482f
;local_14 undefined4 -14 ;XREF[5,0]: 004047e6,004047ea,00404804,00404820,00404826
;XREF[2,0]: 00404718,00404797
.text:004047c0 8bff MOV EDI,EDI
.text:004047c2 55 PUSH EBP
.text:004047c3 8bec MOV EBP,ESP
.text:004047c5 6aff PUSH -0x1
.text:004047c7 685dad4100 PUSH LAB_0041ad5d
.text:004047cc 64a100000000 MOV EAX,FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:004047d2 50 PUSH EAX
.text:004047d3 51 PUSH ECX
.text:004047d4 56 PUSH ESI
.text:004047d5 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:004047da 33c5 XOR EAX,EBP
.text:004047dc 50 PUSH EAX
.text:004047dd 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:004047e0 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:004047e6 8365f000 AND dword ptr [EBP + local_14+0x4],0x0
.text:004047ea 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:004047ed 50 PUSH EAX ;HMODULE * phModule for GetModuleHand...
.text:004047ee 6888bc4100 PUSH .rdata:u_mscoree.dll_0041bc88 ;LPCWSTR lpModuleName for GetModuleHa...
.text:004047f3 6a00 PUSH 0x0 ;DWORD dwFlags for GetModuleHandleExW
.text:004047f5 ff1578b04100 CALL dword ptr [->KERNEL32.DLL::GetModuleH...;= 0002253a
.text:004047fb 85c0 TEST EAX,EAX
.text:004047fd 7421 JZ LAB_00404820
.text:004047ff 68a0bc4100 PUSH .rdata:s_CorExitProcess_0041bca0 ;LPCSTR lpProcName for GetProcAddress
.text:00404804 ff75f0 PUSH dword ptr [EBP + local_14+0x4] ;HMODULE hModule for GetProcAddress
.text:00404807 ff1564b04100 CALL dword ptr [->KERNEL32.DLL::GetProcAdd...;= 000224e6
.text:0040480d 8bf0 MOV ESI,EAX
.text:0040480f 85f6 TEST ESI,ESI
.text:00404811 740d JZ LAB_00404820
.text:00404813 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00404816 8bce MOV ECX,ESI
.text:00404818 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040481e ffd6 CALL ESI
LAB_00404820: ;XREF[2,0]: 004047fd,00404811
.text:00404820 837df000 CMP dword ptr [EBP + local_14+0x4],0x0
.text:00404824 7409 JZ LAB_0040482f
.text:00404826 ff75f0 PUSH dword ptr [EBP + local_14+0x4] ;HMODULE hLibModule for FreeLibrary
.text:00404829 ff1560b04100 CALL dword ptr [->KERNEL32.DLL::FreeLibrary] ;= 000224d8
LAB_0040482f: ;XREF[1,0]: 00404824
.text:0040482f 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:00404832 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00404839 59 POP ECX
.text:0040483a 5e POP ESI
.text:0040483b c9 LEAVE
.text:0040483c c3 RET
.text:0040483d cccccccccc align align(5)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00404842(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 00404847
;XREF[1,0]: 0040d968
.text:00404842 8bff MOV EDI,EDI
.text:00404844 55 PUSH EBP
.text:00404845 8bec MOV EBP,ESP
.text:00404847 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040484a a3103d4200 MOV [.data:DAT_00423d10],EAX ;= ??
.text:0040484f 5d POP EBP
.text:00404850 c3 RET
.text:00404851 6a ?? 6Ah j
.text:00404852 01 ?? 01h
.text:00404853 6a ?? 6Ah j
.text:00404854 02 ?? 02h
.text:00404855 6a00 PUSH 0x0
.text:00404857 e883feffff CALL FUN_004046df ;undefined FUN_004046df(UINT param_1,...
.text:0040485c 83c40c ADD ESP,0xc
.text:0040485f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __cexit *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void __cexit(void)
;XREF[1,0]: 004018f9
.text:00404860 6a01 PUSH 0x1
.text:00404862 6a00 PUSH 0x0
.text:00404864 6a00 PUSH 0x0
.text:00404866 e874feffff CALL FUN_004046df ;undefined FUN_004046df(UINT param_1,...
.text:0040486b 83c40c ADD ESP,0xc
.text:0040486e c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __exit *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined __exit(UINT param_1)
;param_1 UINT 4 ;XREF[1,0]: 00404878
;XREF[2,0]: 0040db87,004132b0
.text:0040486f 8bff MOV EDI,EDI
.text:00404871 55 PUSH EBP
.text:00404872 8bec MOV EBP,ESP
.text:00404874 6a00 PUSH 0x0
.text:00404876 6a02 PUSH 0x2
.text:00404878 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040487b e85ffeffff CALL FUN_004046df ;undefined FUN_004046df(UINT param_1,...
.text:00404880 83c40c ADD ESP,0xc
.text:00404883 5d POP EBP
.text:00404884 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __register_thread_local_exe_atexit_callback *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined __register_thread_local_exe_atexit_callback(_func_void_void_ptr_ulong_void_ptr * param_1)
;param_1 _func_void_... 4 ;XREF[1,0]: 0040489b
;XREF[1,0]: 004018c5
.text:00404885 8bff MOV EDI,EDI
.text:00404887 55 PUSH EBP
.text:00404888 8bec MOV EBP,ESP
.text:0040488a a1103d4200 MOV EAX,[.data:DAT_00423d10] ;= ??
.text:0040488f 3b0514304200 CMP EAX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:00404895 0f8518920000 JNZ _terminate
.text:0040489b ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040489e e835fdffff CALL __crt_fast_encode_pointer;_func_void_void_ptr_ulong_void_ptr *...
.text:004048a3 59 POP ECX
.text:004048a4 a3103d4200 MOV [.data:DAT_00423d10],EAX ;= ??
.text:004048a9 5d POP EBP
.text:004048aa c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* _exit *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void _exit(int _Code)
;_Code int 4 ;XREF[1,0]: 004048b4
;XREF[6,0]: 004011c0,00401529,0040153d,004016f3
; 00401707,00401961
.text:004048ab 8bff MOV EDI,EDI
.text:004048ad 55 PUSH EBP
.text:004048ae 8bec MOV EBP,ESP
.text:004048b0 6a00 PUSH 0x0
.text:004048b2 6a00 PUSH 0x0
.text:004048b4 ff7508 PUSH dword ptr [EBP + _Code+0x4]
.text:004048b7 e823feffff CALL FUN_004046df ;undefined FUN_004046df(UINT param_1,...
.text:004048bc 83c40c ADD ESP,0xc
.text:004048bf 5d POP EBP
.text:004048c0 c3 RET
LAB_004048c1: ;XREF[1,0]: 0041b138
.text:004048c1 a1183d4200 MOV EAX,[.data:DAT_00423d18] ;= ??
.text:004048c6 56 PUSH ESI
.text:004048c7 6a03 PUSH 0x3
.text:004048c9 5e POP ESI
.text:004048ca 85c0 TEST EAX,EAX
.text:004048cc 7507 JNZ LAB_004048d5
.text:004048ce b800020000 MOV EAX,0x200
.text:004048d3 eb06 JMP LAB_004048db
LAB_004048d5: ;XREF[1,0]: 004048cc
.text:004048d5 3bc6 CMP EAX,ESI
.text:004048d7 7d07 JGE LAB_004048e0
.text:004048d9 8bc6 MOV EAX,ESI
LAB_004048db: ;XREF[1,0]: 004048d3
.text:004048db a3183d4200 MOV [.data:DAT_00423d18],EAX ;= ??
LAB_004048e0: ;XREF[1,0]: 004048d7
.text:004048e0 6a04 PUSH 0x4
.text:004048e2 50 PUSH EAX
.text:004048e3 e82f9a0000 CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:004048e8 6a00 PUSH 0x0
.text:004048ea a31c3d4200 MOV [.data:DAT_00423d1c],EAX ;= ??
.text:004048ef e8809a0000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004048f4 83c40c ADD ESP,0xc
.text:004048f7 833d1c3d4... CMP dword ptr [.data:DAT_00423d1c],0x0 ;= ??
.text:004048fe 752b JNZ LAB_0040492b
.text:00404900 6a04 PUSH 0x4
.text:00404902 56 PUSH ESI
.text:00404903 8935183d4200 MOV dword ptr [.data:DAT_00423d18],ESI ;= ??
.text:00404909 e8099a0000 CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:0040490e 6a00 PUSH 0x0
.text:00404910 a31c3d4200 MOV [.data:DAT_00423d1c],EAX ;= ??
.text:00404915 e85a9a0000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040491a 83c40c ADD ESP,0xc
.text:0040491d 833d1c3d4... CMP dword ptr [.data:DAT_00423d1c],0x0 ;= ??
.text:00404924 7505 JNZ LAB_0040492b
.text:00404926 83c8ff OR EAX,0xffffffff
.text:00404929 5e POP ESI
.text:0040492a c3 RET
LAB_0040492b: ;XREF[2,0]: 004048fe,00404924
.text:0040492b 57 PUSH EDI
.text:0040492c 33ff XOR EDI,EDI
.text:0040492e be40304200 MOV ESI,.data:DAT_00423040
LAB_00404933: ;XREF[1,0]: 00404982
.text:00404933 6a00 PUSH 0x0
.text:00404935 68a00f0000 PUSH 0xfa0
.text:0040493a 8d4620 LEA EAX,[ESI + 0x20]=>.data:DAT_00423060
; FWD[2,0]: 00423060,00423098
.text:0040493d 50 PUSH EAX=>.data:DAT_00423060
.text:0040493e e8de9d0000 CALL ___acrt_InitializeCriticalSectionEx@12 ;undefined ___acrt_InitializeCritical...
.text:00404943 a11c3d4200 MOV EAX,[.data:DAT_00423d1c] ;= ??
.text:00404948 8bd7 MOV EDX,EDI
.text:0040494a c1fa06 SAR EDX,0x6
.text:0040494d 8934b8 MOV dword ptr [EAX +...,ESI=>.data:DAT_00...
.text:00404950 8bc7 MOV EAX,EDI
.text:00404952 83e03f AND EAX,0x3f
.text:00404955 6bc838 IMUL ECX,EAX,0x38
.text:00404958 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:0040495f 8b440818 MOV EAX,dword ptr [EAX + ECX*0x1 + 0x18]
.text:00404963 83f8ff CMP EAX,-0x1
.text:00404966 7409 JZ LAB_00404971
.text:00404968 83f8fe CMP EAX,-0x2
.text:0040496b 7404 JZ LAB_00404971
.text:0040496d 85c0 TEST EAX,EAX
.text:0040496f 7507 JNZ LAB_00404978
LAB_00404971: ;XREF[2,0]: 00404966,0040496b
.text:00404971 c74610fef... MOV dword ptr [ESI +...,0xfffffffe
LAB_00404978: ;XREF[1,0]: 0040496f
.text:00404978 83c638 ADD ESI,0x38
.text:0040497b 47 INC EDI
.text:0040497c 81fee8304200 CMP ESI,.data:DAT_004230e8 ;= 02h
.text:00404982 75af JNZ LAB_00404933
.text:00404984 5f POP EDI
.text:00404985 33c0 XOR EAX,EAX
.text:00404987 5e POP ESI
.text:00404988 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined * FUN_00404989(int param_1)
;param_1 int 4 ;XREF[1,0]: 0040498e
;XREF[9,0]: 00401029,00401059,00401089,00401151
; 0040cafe,0041004b,00410058,0041009e
; 004100b3
.text:00404989 8bff MOV EDI,EDI
.text:0040498b 55 PUSH EBP
.text:0040498c 8bec MOV EBP,ESP
.text:0040498e 6b450838 IMUL EAX,dword ptr [EBP + param_1+0x4],0x38
.text:00404992 0540304200 ADD EAX,.data:DAT_00423040
.text:00404997 5d POP EBP
.text:00404998 c3 RET
LAB_00404999: ;XREF[1,0]: 0041b158
.text:00404999 8bff MOV EDI,EDI
.text:0040499b 56 PUSH ESI
.text:0040499c e8f5a10000 CALL __flushall ;int __flushall(void)
.text:004049a1 e89e9e0000 CALL __fcloseall ;int __fcloseall(void)
.text:004049a6 33f6 XOR ESI,ESI
LAB_004049a8: ;XREF[1,0]: 004049ce
.text:004049a8 a11c3d4200 MOV EAX,[.data:DAT_00423d1c] ;= ??
.text:004049ad ff3406 PUSH dword ptr [ESI + EAX*0x1]
.text:004049b0 e8eaa10000 CALL ___acrt_stdio_free_buffer_nolock ;undefined ___acrt_stdio_free_buffer_...
.text:004049b5 a11c3d4200 MOV EAX,[.data:DAT_00423d1c] ;= ??
.text:004049ba 59 POP ECX
.text:004049bb 8b0406 MOV EAX,dword ptr [ESI + EAX*0x1]
.text:004049be 83c020 ADD EAX,0x20
.text:004049c1 50 PUSH EAX
.text:004049c2 ff1548b04100 CALL dword ptr [->KERNEL32.DLL::DeleteCrit...;= 00022466
.text:004049c8 83c604 ADD ESI,0x4
.text:004049cb 83fe0c CMP ESI,0xc
.text:004049ce 75d8 JNZ LAB_004049a8
.text:004049d0 ff351c3d4200 PUSH dword ptr [.data:DAT_00423d1c] ;= ??
.text:004049d6 e899990000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004049db 83251c3d4... AND dword ptr [.data:DAT_00423d1c],0x0 ;= ??
.text:004049e2 59 POP ECX
.text:004049e3 5e POP ESI
.text:004049e4 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __lock_file *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void __lock_file(FILE * _File)
;_File FILE * 4 ;XREF[1,0]: 004049ea
;XREF[6,0]: 00404a22,0040683a,004068d4,0040cb4b
; 0040e900,004138a8
.text:004049e5 8bff MOV EDI,EDI
.text:004049e7 55 PUSH EBP
.text:004049e8 8bec MOV EBP,ESP
.text:004049ea 8b4508 MOV EAX,dword ptr [EBP + _File+0x4]
.text:004049ed 83c020 ADD EAX,0x20
.text:004049f0 50 PUSH EAX ;LPCRITICAL_SECTION lpCriticalSection...
.text:004049f1 ff1540b04100 CALL dword ptr [->KERNEL32.DLL::EnterCriti...;= 00022436
.text:004049f7 5d POP EBP
.text:004049f8 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __unlock_file *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;void __unlock_file(FILE * _File)
;_File FILE * 4 ;XREF[1,0]: 004049fe
;XREF[6,0]: 00404a61,004068ad,00406913,0040cc29
; 0040e974,004138e6
.text:004049f9 8bff MOV EDI,EDI
.text:004049fb 55 PUSH EBP
.text:004049fc 8bec MOV EBP,ESP
.text:004049fe 8b4508 MOV EAX,dword ptr [EBP + _File+0x4]
.text:00404a01 83c020 ADD EAX,0x20
.text:00404a04 50 PUSH EAX ;LPCRITICAL_SECTION lpCriticalSection...
.text:00404a05 ff1544b04100 CALL dword ptr [->KERNEL32.DLL::LeaveCriti...;= 0002244e
.text:00404a0b 5d POP EBP
.text:00404a0c c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* public: int __thiscall __crt_seh_guarded_call::operator()::operator()::operator()::operator()(FILE * * param_1, undefined4 * param_2)
;param_1 FILE * * 4 ;XREF[1,0]: 00404a1d
;param_2 undefined4 * 8 ;XREF[1,0]: 00404a2c
;local_8 undefined4 -8 ;XREF[2,0]: 00404a28,00404a39
;local_14 undefined4 -14 ;XREF[1,0]: 00404a47
;local_20 undefined4 -20 ;XREF[2,0]: 00404a19,00404a36
;XREF[1,0]: 004067ce
.text:00404a0d 6a0c PUSH 0xc
.text:00404a0f 68681d4200 PUSH .rdata:DAT_00421d68 ;= FEh
.text:00404a14 e8e7d4ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00404a19 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
.text:00404a1d 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00404a20 ff30 PUSH dword ptr [EAX]
.text:00404a22 e8beffffff CALL __lock_file ;void __lock_file(FILE * _File)
.text:00404a27 59 POP ECX
.text:00404a28 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00404a2c 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00404a2f e8760c0000 CALL FUN_004056aa ;undefined FUN_004056aa(undefined4 * ...
.text:00404a34 8bf0 MOV ESI,EAX
.text:00404a36 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:00404a39 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00404a40 e817000000 CALL FUN_00404a5c ;undefined FUN_00404a5c(void)
.text:00404a45 8bc6 MOV EAX,ESI
.text:00404a47 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00404a4a 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00404a51 59 POP ECX
.text:00404a52 5f POP EDI
.text:00404a53 5e POP ESI
.text:00404a54 5b POP EBX
.text:00404a55 c9 LEAVE
.text:00404a56 c20c00 RET 0xc
.text:00404a59 8b align align(1)
.text:00404a5a 75 ?? 75h u
.text:00404a5b e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00404a5c(void)
;XREF[1,0]: 00404a40
.text:00404a5c 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:00404a5f ff30 PUSH dword ptr [EAX]
.text:00404a61 e893ffffff CALL __unlock_file ;void __unlock_file(FILE * _File)
.text:00404a66 59 POP ECX
.text:00404a67 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: unsigned int __thiscall __crt_stdio_output::formatting_buffer::count(void)const *
;* *
;* Libraries: Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 *
;************************************************************************************************
;uint count(formatting_buffer * this)
;this formatting_... ECX
;XREF[11,0]: 00404d9c,0040526e,004052d3,00405359
; 004053d7,00405450,004054f6,004061c5
; 0040620c,00406220,00406328
.text:00404a68 83b904040... CMP dword ptr [this + 0x404],0x0
.text:00404a6f 7506 JNZ LAB_00404a77
.text:00404a71 b800020000 MOV EAX,0x200
.text:00404a76 c3 RET
LAB_00404a77: ;XREF[1,0]: 00404a6f
.text:00404a77 8b8100040000 MOV EAX,dword ptr [this + 0x400]
.text:00404a7d d1e8 SHR EAX,0x1
.text:00404a7f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00404a80(void * this, uint param_1, int param_2)
;this void * ECX
;param_1 uint 4 ;XREF[1,0]: 00404a87
;param_2 int 8 ;XREF[1,0]: 00404a95
;local_8 undefined4 -8 ;XREF[3,0]: 00404acb,00404ade,00404ae9
;XREF[4,0]: 00404edb,00405068,004051f5,004061ba
.text:00404a80 8bff MOV EDI,EDI
.text:00404a82 55 PUSH EBP
.text:00404a83 8bec MOV EBP,ESP
.text:00404a85 51 PUSH this
.text:00404a86 56 PUSH ESI
.text:00404a87 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00404a8a 57 PUSH EDI
.text:00404a8b 8bf9 MOV EDI,this
.text:00404a8d 81feffffff7f CMP ESI,0x7fffffff
.text:00404a93 7612 JBE LAB_00404aa7
.text:00404a95 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00404a98 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00404a9c c740180c0... MOV dword ptr [EAX + 0x18],0xc
.text:00404aa3 32c0 XOR AL,AL
.text:00404aa5 eb54 JMP LAB_00404afb
LAB_00404aa7: ;XREF[1,0]: 00404a93
.text:00404aa7 53 PUSH EBX
.text:00404aa8 8d9f04040000 LEA EBX,[EDI + 0x404]
.text:00404aae 03f6 ADD ESI,ESI
.text:00404ab0 833b00 CMP dword ptr [EBX],0x0
.text:00404ab3 7508 JNZ LAB_00404abd
.text:00404ab5 81fe00040000 CMP ESI,0x400
.text:00404abb 763b JBE LAB_00404af8
LAB_00404abd: ;XREF[1,0]: 00404ab3
.text:00404abd 3bb700040000 CMP ESI,dword ptr [EDI + 0x400]
.text:00404ac3 7633 JBE LAB_00404af8
.text:00404ac5 56 PUSH ESI
.text:00404ac6 e806a30000 CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:00404acb 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00404ace 59 POP this
.text:00404acf 85c0 TEST EAX,EAX
.text:00404ad1 750b JNZ LAB_00404ade
.text:00404ad3 50 PUSH EAX
.text:00404ad4 e89b980000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00404ad9 59 POP this
.text:00404ada 32c0 XOR AL,AL
.text:00404adc eb1c JMP LAB_00404afa
LAB_00404ade: ;XREF[1,0]: 00404ad1
.text:00404ade 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:00404ae1 8bcb MOV this,EBX
.text:00404ae3 50 PUSH EAX
.text:00404ae4 e89d0b0000 CALL FUN_00405686 ;void * FUN_00405686(void * this, und...
.text:00404ae9 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:00404aec 89b700040000 MOV dword ptr [EDI + 0x400],ESI
.text:00404af2 e87d980000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00404af7 59 POP this
LAB_00404af8: ;XREF[2,0]: 00404abb,00404ac3
.text:00404af8 b001 MOV AL,0x1
LAB_00404afa: ;XREF[1,0]: 00404adc
.text:00404afa 5b POP EBX
LAB_00404afb: ;XREF[1,0]: 00404aa5
.text:00404afb 5f POP EDI
.text:00404afc 5e POP ESI
.text:00404afd c9 LEAVE
.text:00404afe c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_00404b01(byte param_1, uint param_2)
;param_1 byte 4 ;XREF[3,0]: 00404b06,00404b0c,00404b12
;param_2 uint 8 ;XREF[2,0]: 00404b18,00404b25
;XREF[1,0]: 00404d2c
.text:00404b01 8bff MOV EDI,EDI
.text:00404b03 55 PUSH EBP
.text:00404b04 8bec MOV EBP,ESP
.text:00404b06 f6450804 TEST byte ptr [EBP + param_1+0x4],0x4
.text:00404b0a 7525 JNZ LAB_00404b31
.text:00404b0c f6450801 TEST byte ptr [EBP + param_1+0x4],0x1
.text:00404b10 740f JZ LAB_00404b21
.text:00404b12 f6450802 TEST byte ptr [EBP + param_1+0x4],0x2
.text:00404b16 740d JZ LAB_00404b25
.text:00404b18 817d0c000... CMP dword ptr [EBP + param_2+0x4],0x80000000
.text:00404b1f 7710 JA LAB_00404b31
LAB_00404b21: ;XREF[1,0]: 00404b10
.text:00404b21 32c0 XOR AL,AL
.text:00404b23 5d POP EBP
.text:00404b24 c3 RET
LAB_00404b25: ;XREF[1,0]: 00404b16
.text:00404b25 817d0cfff... CMP dword ptr [EBP + param_2+0x4],0x7fffffff
.text:00404b2c 0f97c0 SETA AL
.text:00404b2f 5d POP EBP
.text:00404b30 c3 RET
LAB_00404b31: ;XREF[2,0]: 00404b0a,00404b1f
.text:00404b31 b001 MOV AL,0x1
.text:00404b33 5d POP EBP
.text:00404b34 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* bool __cdecl __crt_stdio_output::is_wide_character_specifier(unsigned __int64,char,enu...*
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;bool is_wide_character_specifier(__uint64 param_1, char param_2, length_modifier param_3)
;param_1 __uint64 4
;param_2 char c ;XREF[1,0]: 00404b53
;param_3 length_modi... 10 ;XREF[2,0]: 00404b3a,00404b4d
;XREF[3,0]: 0040612d,0040630d,00406473
.text:00404b35 8bff MOV EDI,EDI
.text:00404b37 55 PUSH EBP
.text:00404b38 8bec MOV EBP,ESP
.text:00404b3a 8b4514 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00404b3d 48 DEC EAX
.text:00404b3e 83e801 SUB EAX,0x1
.text:00404b41 741f JZ LAB_00404b62
.text:00404b43 83e801 SUB EAX,0x1
.text:00404b46 7416 JZ LAB_00404b5e
.text:00404b48 83e809 SUB EAX,0x9
.text:00404b4b 7411 JZ LAB_00404b5e
.text:00404b4d 837d140d CMP dword ptr [EBP + param_3+0x4],0xd
.text:00404b51 740f JZ LAB_00404b62
.text:00404b53 8a4510 MOV AL,byte ptr [EBP + param_2+0x4]
.text:00404b56 3c63 CMP AL,0x63
.text:00404b58 7408 JZ LAB_00404b62
.text:00404b5a 3c73 CMP AL,0x73
.text:00404b5c 7404 JZ LAB_00404b62
LAB_00404b5e: ;XREF[2,0]: 00404b46,00404b4b
.text:00404b5e b001 MOV AL,0x1
.text:00404b60 5d POP EBP
.text:00404b61 c3 RET
LAB_00404b62: ;XREF[4,0]: 00404b41,00404b51,00404b58,00404b5c
.text:00404b62 32c0 XOR AL,AL
.text:00404b64 5d POP EBP
.text:00404b65 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* class __crt_strtox::c_string_character_source __cdecl __crt_strtox::make_c_string_char...*
;* class __crt_strtox::c_string_character_source __cdecl __crt_strtox::make_c_string_char...*
;* class __crt_strtox::c_string_character_source __cdecl __crt_strtox::make_c_string_c...*
;* class __crt_strtox::c_string_character_source __cdecl __crt_strtox::make_c_string_c...*
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined make_c_string_character_source<>(undefined4 * param_1, undefined4 param_2, undefined4 * param_3)
;param_1 undefined4 * 4 ;XREF[1,0]: 00404b6b
;param_2 undefined4 8 ;XREF[1,0]: 00404b71
;param_3 undefined4 * c ;XREF[1,0]: 00404b6e
;XREF[1,0]: 00410938
.text:00404b66 8bff MOV EDI,EDI
.text:00404b68 55 PUSH EBP
.text:00404b69 8bec MOV EBP,ESP
.text:00404b6b 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00404b6e 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00404b71 8b550c MOV EDX,dword ptr [EBP + param_2+0x4]
.text:00404b74 8910 MOV dword ptr [EAX],EDX
.text:00404b76 894804 MOV dword ptr [EAX + 0x4],ECX
.text:00404b79 85c9 TEST ECX,ECX
.text:00404b7b 7402 JZ LAB_00404b7f
.text:00404b7d 8911 MOV dword ptr [ECX],EDX
LAB_00404b7f: ;XREF[1,0]: 00404b7b
.text:00404b7f 5d POP EBP
.text:00404b80 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00404b81(__acrt_ptd * * param_1, char * param_2, char * * param_3, uint param_4, byte param_5)
;param_1 __acrt_ptd * * 4 ;XREF[2,0]: 00404ba8,00404d37
;param_2 char * 8 ;XREF[14,0]: 00404b89,00404bd1,00404bdb,00404bf3,00404c11
; 00404c55,00404c6a,00404c72,00404c86,00404cfe
; 00404d06,00404d5b,00404d6b,00404d85
;param_3 char * * c ;XREF[4,0]: 00404bc6,00404d17,00404d4f,00404d7e
;param_4 uint 10 ;XREF[1,0]: 00404b97
;param_5 byte 14 ;XREF[1,0]: 00404bec
;local_8 undefined4 -8 ;XREF[5,0]: 00404bf0,00404c0e,00404c83,00404cdb,00404d03
;local_c undefined4 -c ;XREF[4,0]: 00404bf6,00404c01,00404cf8,00404d0e
;local_10 undefined4 -10 ;XREF[4,0]: 00404be4,00404ce6,00404ce9,00404d27
;local_14 undefined4 -14 ;XREF[4,0]: 00404c52,00404c67,00404c99,00404cd3
;local_18 undefined4 -18 ;XREF[2,0]: 00404be1,00404d1e
;XREF[1,0]: 00405922
.text:00404b81 8bff MOV EDI,EDI
.text:00404b83 55 PUSH EBP
.text:00404b84 8bec MOV EBP,ESP
.text:00404b86 83ec14 SUB ESP,0x14
.text:00404b89 8d4d0c LEA ECX=>param_2,[EBP + 0xc]
.text:00404b8c 53 PUSH EBX
.text:00404b8d 56 PUSH ESI
.text:00404b8e e8a8190000 CALL FUN_0040653b ;undefined4 FUN_0040653b(int * param_1)
.text:00404b93 84c0 TEST AL,AL
.text:00404b95 742f JZ LAB_00404bc6
.text:00404b97 8b7514 MOV ESI,dword ptr [EBP + param_4+0x4]
.text:00404b9a 85f6 TEST ESI,ESI
.text:00404b9c 743d JZ LAB_00404bdb
.text:00404b9e 83fe02 CMP ESI,0x2
.text:00404ba1 7c05 JL LAB_00404ba8
.text:00404ba3 83fe24 CMP ESI,0x24
.text:00404ba6 7e33 JLE LAB_00404bdb
LAB_00404ba8: ;XREF[1,0]: 00404ba1
.text:00404ba8 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00404bab 50 PUSH EAX
.text:00404bac c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00404bb0 c74018160... MOV dword ptr [EAX + 0x18],0x16
.text:00404bb7 33c0 XOR EAX,EAX
.text:00404bb9 50 PUSH EAX
.text:00404bba 50 PUSH EAX
.text:00404bbb 50 PUSH EAX
.text:00404bbc 50 PUSH EAX
.text:00404bbd 50 PUSH EAX
.text:00404bbe e8e3950000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00404bc3 83c418 ADD ESP,0x18
LAB_00404bc6: ;XREF[1,0]: 00404b95
.text:00404bc6 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00404bc9 85c9 TEST ECX,ECX
.text:00404bcb 0f8452010000 JZ LAB_00404d23
.text:00404bd1 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00404bd4 8901 MOV dword ptr [ECX],EAX
.text:00404bd6 e948010000 JMP LAB_00404d23
LAB_00404bdb: ;XREF[2,0]: 00404b9c,00404ba6
.text:00404bdb 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00404bde 33c9 XOR ECX,ECX
.text:00404be0 57 PUSH EDI
.text:00404be1 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00404be4 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:00404be7 8a18 MOV BL,byte ptr [EAX]
.text:00404be9 8d7801 LEA EDI,[EAX + 0x1]
.text:00404bec 0fb64518 MOVZX EAX,byte ptr [EBP + param_5+0x4]
.text:00404bf0 885dfc MOV byte ptr [EBP + local_8+0x4],BL
.text:00404bf3 897d0c MOV dword ptr [EBP + param_2+0x4],EDI
.text:00404bf6 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00404bf9 80fb2d CMP BL,0x2d
.text:00404bfc 7508 JNZ LAB_00404c06
.text:00404bfe 83c802 OR EAX,0x2
.text:00404c01 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00404c04 eb05 JMP LAB_00404c0b
LAB_00404c06: ;XREF[1,0]: 00404bfc
.text:00404c06 80fb2b CMP BL,0x2b
.text:00404c09 7509 JNZ LAB_00404c14
LAB_00404c0b: ;XREF[1,0]: 00404c04
.text:00404c0b 8a1f MOV BL,byte ptr [EDI]
.text:00404c0d 47 INC EDI
.text:00404c0e 885dfc MOV byte ptr [EBP + local_8+0x4],BL
.text:00404c11 897d0c MOV dword ptr [EBP + param_2+0x4],EDI
LAB_00404c14: ;XREF[1,0]: 00404c09
.text:00404c14 85f6 TEST ESI,ESI
.text:00404c16 7405 JZ LAB_00404c1d
.text:00404c18 83fe10 CMP ESI,0x10
.text:00404c1b 7575 JNZ LAB_00404c92
LAB_00404c1d: ;XREF[1,0]: 00404c16
.text:00404c1d 8ac3 MOV AL,BL
.text:00404c1f 2c30 SUB AL,0x30
.text:00404c21 3c09 CMP AL,0x9
.text:00404c23 7708 JA LAB_00404c2d
.text:00404c25 0fbec3 MOVSX EAX,BL
.text:00404c28 83c0d0 ADD EAX,-0x30
.text:00404c2b eb1e JMP LAB_00404c4b
LAB_00404c2d: ;XREF[1,0]: 00404c23
.text:00404c2d 8ac3 MOV AL,BL
.text:00404c2f 2c61 SUB AL,0x61
.text:00404c31 3c19 CMP AL,0x19
.text:00404c33 7708 JA LAB_00404c3d
.text:00404c35 0fbec3 MOVSX EAX,BL
.text:00404c38 83c0a9 ADD EAX,-0x57
.text:00404c3b eb0e JMP LAB_00404c4b
LAB_00404c3d: ;XREF[1,0]: 00404c33
.text:00404c3d 8ac3 MOV AL,BL
.text:00404c3f 2c41 SUB AL,0x41
.text:00404c41 3c19 CMP AL,0x19
.text:00404c43 7746 JA LAB_00404c8b
.text:00404c45 0fbec3 MOVSX EAX,BL
.text:00404c48 83c0c9 ADD EAX,-0x37
LAB_00404c4b: ;XREF[2,0]: 00404c2b,00404c3b
.text:00404c4b 85c0 TEST EAX,EAX
.text:00404c4d 753c JNZ LAB_00404c8b
.text:00404c4f 8a07 MOV AL,byte ptr [EDI]
.text:00404c51 47 INC EDI
.text:00404c52 8845f0 MOV byte ptr [EBP + local_14+0x4],AL
.text:00404c55 897d0c MOV dword ptr [EBP + param_2+0x4],EDI
.text:00404c58 3c78 CMP AL,0x78
.text:00404c5a 741d JZ LAB_00404c79
.text:00404c5c 3c58 CMP AL,0x58
.text:00404c5e 7419 JZ LAB_00404c79
.text:00404c60 85f6 TEST ESI,ESI
.text:00404c62 7503 JNZ LAB_00404c67
.text:00404c64 6a08 PUSH 0x8
.text:00404c66 5e POP ESI
LAB_00404c67: ;XREF[1,0]: 00404c62
.text:00404c67 ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:00404c6a 8d4d0c LEA ECX=>param_2,[EBP + 0xc]
.text:00404c6d e844180000 CALL __crt_strtox::c_string_character_sour...;void unget(c_string_character_source...
.text:00404c72 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00404c75 33c9 XOR ECX,ECX
.text:00404c77 eb19 JMP LAB_00404c92
LAB_00404c79: ;XREF[2,0]: 00404c5a,00404c5e
.text:00404c79 85f6 TEST ESI,ESI
.text:00404c7b 7503 JNZ LAB_00404c80
.text:00404c7d 6a10 PUSH 0x10
.text:00404c7f 5e POP ESI
LAB_00404c80: ;XREF[1,0]: 00404c7b
.text:00404c80 8a1f MOV BL,byte ptr [EDI]
.text:00404c82 47 INC EDI
.text:00404c83 885dfc MOV byte ptr [EBP + local_8+0x4],BL
.text:00404c86 897d0c MOV dword ptr [EBP + param_2+0x4],EDI
.text:00404c89 eb07 JMP LAB_00404c92
LAB_00404c8b: ;XREF[2,0]: 00404c43,00404c4d
.text:00404c8b 85f6 TEST ESI,ESI
.text:00404c8d 7503 JNZ LAB_00404c92
.text:00404c8f 6a0a PUSH 0xa
.text:00404c91 5e POP ESI
LAB_00404c92: ;XREF[4,0]: 00404c1b,00404c77,00404c89,00404c8d
.text:00404c92 83c8ff OR EAX,0xffffffff
.text:00404c95 33d2 XOR EDX,EDX
.text:00404c97 f7f6 DIV ESI
.text:00404c99 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
LAB_00404c9c: ;XREF[1,0]: 00404d01
.text:00404c9c 8ac3 MOV AL,BL
.text:00404c9e 2c30 SUB AL,0x30
.text:00404ca0 3c09 CMP AL,0x9
.text:00404ca2 7708 JA LAB_00404cac
.text:00404ca4 0fbed3 MOVSX EDX,BL
.text:00404ca7 83c2d0 ADD EDX,-0x30
.text:00404caa eb23 JMP LAB_00404ccf
LAB_00404cac: ;XREF[1,0]: 00404ca2
.text:00404cac 8ac3 MOV AL,BL
.text:00404cae 2c61 SUB AL,0x61
.text:00404cb0 3c19 CMP AL,0x19
.text:00404cb2 7708 JA LAB_00404cbc
.text:00404cb4 0fbed3 MOVSX EDX,BL
.text:00404cb7 83c2a9 ADD EDX,-0x57
.text:00404cba eb13 JMP LAB_00404ccf
LAB_00404cbc: ;XREF[1,0]: 00404cb2
.text:00404cbc 8ac3 MOV AL,BL
.text:00404cbe 2c41 SUB AL,0x41
.text:00404cc0 3c19 CMP AL,0x19
.text:00404cc2 7708 JA LAB_00404ccc
.text:00404cc4 0fbed3 MOVSX EDX,BL
.text:00404cc7 83c2c9 ADD EDX,-0x37
.text:00404cca eb03 JMP LAB_00404ccf
LAB_00404ccc: ;XREF[1,0]: 00404cc2
.text:00404ccc 83caff OR EDX,0xffffffff
LAB_00404ccf: ;XREF[3,0]: 00404caa,00404cba,00404cca
.text:00404ccf 3bd6 CMP EDX,ESI
.text:00404cd1 7330 JNC LAB_00404d03
.text:00404cd3 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00404cd6 0fafce IMUL ECX,ESI
.text:00404cd9 8a1f MOV BL,byte ptr [EDI]
.text:00404cdb 885dfc MOV byte ptr [EBP + local_8+0x4],BL
.text:00404cde 03d1 ADD EDX,ECX
.text:00404ce0 3bd1 CMP EDX,ECX
.text:00404ce2 1bc9 SBB ECX,ECX
.text:00404ce4 f7d9 NEG ECX
.text:00404ce6 3b45f4 CMP EAX,dword ptr [EBP + local_10+0x4]
.text:00404ce9 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:00404cec 1bc0 SBB EAX,EAX
.text:00404cee f7d8 NEG EAX
.text:00404cf0 0bc8 OR ECX,EAX
.text:00404cf2 c1e102 SHL ECX,0x2
.text:00404cf5 83c908 OR ECX,0x8
.text:00404cf8 094df8 OR dword ptr [EBP + local_c+0x4],ECX
.text:00404cfb 47 INC EDI
.text:00404cfc 8bca MOV ECX,EDX
.text:00404cfe 897d0c MOV dword ptr [EBP + param_2+0x4],EDI
.text:00404d01 eb99 JMP LAB_00404c9c
LAB_00404d03: ;XREF[1,0]: 00404cd1
.text:00404d03 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:00404d06 8d4d0c LEA ECX=>param_2,[EBP + 0xc]
.text:00404d09 e8a8170000 CALL __crt_strtox::c_string_character_sour...;void unget(c_string_character_source...
.text:00404d0e 8b5df8 MOV EBX,dword ptr [EBP + local_c+0x4]
.text:00404d11 5f POP EDI
.text:00404d12 f6c308 TEST BL,0x8
.text:00404d15 7510 JNZ LAB_00404d27
.text:00404d17 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00404d1a 85c0 TEST EAX,EAX
.text:00404d1c 7405 JZ LAB_00404d23
.text:00404d1e 8b4dec MOV ECX,dword ptr [EBP + local_18+0x4]
.text:00404d21 8908 MOV dword ptr [EAX],ECX
LAB_00404d23: ;XREF[3,0]: 00404bcb,00404bd6,00404d1c
.text:00404d23 33c0 XOR EAX,EAX
.text:00404d25 eb65 JMP LAB_00404d8c
LAB_00404d27: ;XREF[1,0]: 00404d15
.text:00404d27 8b75f4 MOV ESI,dword ptr [EBP + local_10+0x4]
.text:00404d2a 56 PUSH ESI
.text:00404d2b 53 PUSH EBX
.text:00404d2c e8d0fdffff CALL FUN_00404b01 ;bool FUN_00404b01(byte param_1, uint...
.text:00404d31 59 POP ECX
.text:00404d32 59 POP ECX
.text:00404d33 84c0 TEST AL,AL
.text:00404d35 7440 JZ LAB_00404d77
.text:00404d37 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00404d3a c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00404d3e c74018220... MOV dword ptr [EAX + 0x18],0x22
.text:00404d45 f6c301 TEST BL,0x1
.text:00404d48 7505 JNZ LAB_00404d4f
.text:00404d4a 83ceff OR ESI,0xffffffff
.text:00404d4d eb2f JMP LAB_00404d7e
LAB_00404d4f: ;XREF[1,0]: 00404d48
.text:00404d4f 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00404d52 f6c302 TEST BL,0x2
.text:00404d55 7410 JZ LAB_00404d67
.text:00404d57 85c9 TEST ECX,ECX
.text:00404d59 7405 JZ LAB_00404d60
.text:00404d5b 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00404d5e 8901 MOV dword ptr [ECX],EAX
LAB_00404d60: ;XREF[1,0]: 00404d59
.text:00404d60 b800000080 MOV EAX,0x80000000
.text:00404d65 eb25 JMP LAB_00404d8c
LAB_00404d67: ;XREF[1,0]: 00404d55
.text:00404d67 85c9 TEST ECX,ECX
.text:00404d69 7405 JZ LAB_00404d70
.text:00404d6b 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00404d6e 8901 MOV dword ptr [ECX],EAX
LAB_00404d70: ;XREF[1,0]: 00404d69
.text:00404d70 b8ffffff7f MOV EAX,0x7fffffff
.text:00404d75 eb15 JMP LAB_00404d8c
LAB_00404d77: ;XREF[1,0]: 00404d35
.text:00404d77 f6c302 TEST BL,0x2
.text:00404d7a 7402 JZ LAB_00404d7e
.text:00404d7c f7de NEG ESI
LAB_00404d7e: ;XREF[2,0]: 00404d4d,00404d7a
.text:00404d7e 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00404d81 85d2 TEST EDX,EDX
.text:00404d83 7405 JZ LAB_00404d8a
.text:00404d85 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00404d88 890a MOV dword ptr [EDX],ECX
LAB_00404d8a: ;XREF[1,0]: 00404d83
.text:00404d8a 8bc6 MOV EAX,ESI
LAB_00404d8c: ;XREF[3,0]: 00404d25,00404d65,00404d75
.text:00404d8c 5e POP ESI
.text:00404d8d 5b POP EBX
.text:00404d8e c9 LEAVE
.text:00404d8f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: char * __thiscall __crt_stdio_output::formatting_buffer::scratch_data(void) *
;* *
;* Libraries: Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 *
;************************************************************************************************
;char * scratch_data(formatting_buffer * this)
;this formatting_... ECX
;XREF[1,0]: 00406216
.text:00404d90 8bff MOV EDI,EDI
.text:00404d92 56 PUSH ESI
.text:00404d93 8bf1 MOV ESI,this
.text:00404d95 57 PUSH EDI
.text:00404d96 8bbe04040000 MOV EDI,dword ptr [ESI + 0x404]
.text:00404d9c e8c7fcffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:00404da1 85ff TEST EDI,EDI
.text:00404da3 7504 JNZ LAB_00404da9
.text:00404da5 03c6 ADD EAX,ESI
.text:00404da7 eb02 JMP LAB_00404dab
LAB_00404da9: ;XREF[1,0]: 00404da3
.text:00404da9 03c7 ADD EAX,EDI
LAB_00404dab: ;XREF[1,0]: 00404da7
.text:00404dab 5f POP EDI
.text:00404dac 5e POP ESI
.text:00404dad c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00404dae(void * param_1)
;param_1 void * ECX
;local_8 undefined4 -8 ;XREF[4,0]: 00404e92,00404e97,00404ebe,00404ee0
;local_c undefined4 -c ;XREF[5,0]: 00404e42,00404e8c,00404e8f,00404ebb,00404ee3
;local_10 undefined4 -10 ;XREF[2,0]: 00404dc6,00404ef0
;XREF[1,0]: 00406428
.text:00404dae 8bff MOV EDI,EDI
.text:00404db0 55 PUSH EBP
.text:00404db1 8bec MOV EBP,ESP
.text:00404db3 83ec0c SUB ESP,0xc
.text:00404db6 53 PUSH EBX
.text:00404db7 56 PUSH ESI
.text:00404db8 8bf1 MOV ESI,param_1
.text:00404dba 57 PUSH EDI
.text:00404dbb ff7628 PUSH dword ptr [ESI + 0x28]
.text:00404dbe e8ec120000 CALL __crt_stdio_output::to_integer_size ;uint to_integer_size(length_modifier...
.text:00404dc3 59 POP param_1
.text:00404dc4 8bc8 MOV param_1,EAX
.text:00404dc6 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00404dc9 6a00 PUSH 0x0
.text:00404dcb 5b POP EBX
.text:00404dcc 83e901 SUB param_1,0x1
.text:00404dcf 0f8499000000 JZ LAB_00404e6e
.text:00404dd5 83e901 SUB param_1,0x1
.text:00404dd8 7475 JZ LAB_00404e4f
.text:00404dda 49 DEC param_1
.text:00404ddb 83e901 SUB param_1,0x1
.text:00404dde 7446 JZ LAB_00404e26
.text:00404de0 83e904 SUB param_1,0x4
.text:00404de3 7427 JZ LAB_00404e0c
.text:00404de5 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00404de8 83c018 ADD EAX,0x18
.text:00404deb c6400401 MOV byte ptr [EAX + 0x4],0x1
.text:00404def c70016000000 MOV dword ptr [EAX],0x16
.text:00404df5 ff7608 PUSH dword ptr [ESI + 0x8]
.text:00404df8 53 PUSH EBX
.text:00404df9 53 PUSH EBX
.text:00404dfa 53 PUSH EBX
.text:00404dfb 53 PUSH EBX
.text:00404dfc 53 PUSH EBX
.text:00404dfd e8a4930000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00404e02 83c418 ADD ESP,0x18
.text:00404e05 32c0 XOR AL,AL
.text:00404e07 e928010000 JMP LAB_00404f34
LAB_00404e0c: ;XREF[1,0]: 00404de3
.text:00404e0c 8b4e10 MOV param_1,dword ptr [ESI + 0x10]
.text:00404e0f 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:00404e12 8bc7 MOV EAX,EDI
.text:00404e14 c1e804 SHR EAX,0x4
.text:00404e17 a801 TEST AL,0x1
.text:00404e19 8d4108 LEA EAX,[param_1 + 0x8]
.text:00404e1c 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00404e1f 8b01 MOV EAX,dword ptr [param_1]
.text:00404e21 8b5104 MOV EDX,dword ptr [param_1 + 0x4]
.text:00404e24 eb66 JMP LAB_00404e8c
LAB_00404e26: ;XREF[1,0]: 00404dde
.text:00404e26 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:00404e29 8bc7 MOV EAX,EDI
.text:00404e2b c1e804 SHR EAX,0x4
.text:00404e2e a801 TEST AL,0x1
.text:00404e30 740d JZ LAB_00404e3f
.text:00404e32 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:00404e35 8d4804 LEA param_1,[EAX + 0x4]
.text:00404e38 894e10 MOV dword ptr [ESI + 0x10],param_1
.text:00404e3b 8b00 MOV EAX,dword ptr [EAX]
.text:00404e3d eb4c JMP LAB_00404e8b
LAB_00404e3f: ;XREF[1,0]: 00404e30
.text:00404e3f 8b4e10 MOV param_1,dword ptr [ESI + 0x10]
.text:00404e42 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
.text:00404e45 8d4104 LEA EAX,[param_1 + 0x4]
.text:00404e48 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00404e4b 8b01 MOV EAX,dword ptr [param_1]
.text:00404e4d eb40 JMP LAB_00404e8f
LAB_00404e4f: ;XREF[1,0]: 00404dd8
.text:00404e4f 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:00404e52 8bc7 MOV EAX,EDI
.text:00404e54 8b4e10 MOV param_1,dword ptr [ESI + 0x10]
.text:00404e57 c1e804 SHR EAX,0x4
.text:00404e5a a801 TEST AL,0x1
.text:00404e5c 8d4104 LEA EAX,[param_1 + 0x4]
.text:00404e5f 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00404e62 7405 JZ LAB_00404e69
.text:00404e64 0fbf01 MOVSX EAX,word ptr [param_1]
.text:00404e67 eb22 JMP LAB_00404e8b
LAB_00404e69: ;XREF[1,0]: 00404e62
.text:00404e69 0fb701 MOVZX EAX,word ptr [param_1]
.text:00404e6c eb1d JMP LAB_00404e8b
LAB_00404e6e: ;XREF[1,0]: 00404dcf
.text:00404e6e 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:00404e71 8bc7 MOV EAX,EDI
.text:00404e73 8b4e10 MOV param_1,dword ptr [ESI + 0x10]
.text:00404e76 c1e804 SHR EAX,0x4
.text:00404e79 a801 TEST AL,0x1
.text:00404e7b 8d4104 LEA EAX,[param_1 + 0x4]
.text:00404e7e 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00404e81 7405 JZ LAB_00404e88
.text:00404e83 0fbe01 MOVSX EAX,byte ptr [param_1]
.text:00404e86 eb03 JMP LAB_00404e8b
LAB_00404e88: ;XREF[1,0]: 00404e81
.text:00404e88 0fb601 MOVZX EAX,byte ptr [param_1]
LAB_00404e8b: ;XREF[4,0]: 00404e3d,00404e67,00404e6c,00404e86
.text:00404e8b 99 CDQ
LAB_00404e8c: ;XREF[1,0]: 00404e24
.text:00404e8c 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
LAB_00404e8f: ;XREF[1,0]: 00404e4d
.text:00404e8f 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:00404e92 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00404e95 8bc7 MOV EAX,EDI
.text:00404e97 8b4dfc MOV param_1,dword ptr [EBP + local_8+0x4]
.text:00404e9a c1e804 SHR EAX,0x4
.text:00404e9d a801 TEST AL,0x1
.text:00404e9f 7416 JZ LAB_00404eb7
.text:00404ea1 3bd3 CMP EDX,EBX
.text:00404ea3 7f12 JG LAB_00404eb7
.text:00404ea5 7c04 JL LAB_00404eab
.text:00404ea7 3bcb CMP param_1,EBX
.text:00404ea9 730c JNC LAB_00404eb7
LAB_00404eab: ;XREF[1,0]: 00404ea5
.text:00404eab f7d9 NEG param_1
.text:00404ead 13d3 ADC EDX,EBX
.text:00404eaf f7da NEG EDX
.text:00404eb1 83cf40 OR EDI,0x40
.text:00404eb4 897e1c MOV dword ptr [ESI + 0x1c],EDI
LAB_00404eb7: ;XREF[3,0]: 00404e9f,00404ea3,00404ea9
.text:00404eb7 837e2400 CMP dword ptr [ESI + 0x24],0x0
.text:00404ebb 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
.text:00404ebe 894dfc MOV dword ptr [EBP + local_8+0x4],param_1
.text:00404ec1 7d09 JGE LAB_00404ecc
.text:00404ec3 c74624010... MOV dword ptr [ESI + 0x24],0x1
.text:00404eca eb1a JMP LAB_00404ee6
LAB_00404ecc: ;XREF[1,0]: 00404ec1
.text:00404ecc ff7608 PUSH dword ptr [ESI + 0x8]
.text:00404ecf 83e7f7 AND EDI,0xfffffff7
.text:00404ed2 8d4e3c LEA param_1,[ESI + 0x3c]
.text:00404ed5 ff7624 PUSH dword ptr [ESI + 0x24]
.text:00404ed8 897e1c MOV dword ptr [ESI + 0x1c],EDI
.text:00404edb e8a0fbffff CALL FUN_00404a80 ;undefined4 FUN_00404a80(void * this,...
.text:00404ee0 8b4dfc MOV param_1,dword ptr [EBP + local_8+0x4]
.text:00404ee3 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
LAB_00404ee6: ;XREF[1,0]: 00404eca
.text:00404ee6 8bc1 MOV EAX,param_1
.text:00404ee8 0bc2 OR EAX,EDX
.text:00404eea 7504 JNZ LAB_00404ef0
.text:00404eec 83661cdf AND dword ptr [ESI + 0x1c],0xffffffdf
LAB_00404ef0: ;XREF[1,0]: 00404eea
.text:00404ef0 837df408 CMP dword ptr [EBP + local_10+0x4],0x8
.text:00404ef4 ff7508 PUSH dword ptr [EBP + Stack[0x4]+0x4]
.text:00404ef7 885e38 MOV byte ptr [ESI + 0x38],BL
.text:00404efa 750b JNZ LAB_00404f07
.text:00404efc 52 PUSH EDX
.text:00404efd 51 PUSH param_1
.text:00404efe 8bce MOV param_1,ESI
.text:00404f00 e8b7040000 CALL FUN_004053bc ;undefined FUN_004053bc(void * this, ...
.text:00404f05 eb08 JMP LAB_00404f0f
LAB_00404f07: ;XREF[1,0]: 00404efa
.text:00404f07 51 PUSH param_1
.text:00404f08 8bce MOV param_1,ESI
.text:00404f0a e846030000 CALL FUN_00405255 ;undefined FUN_00405255(void * this, ...
LAB_00404f0f: ;XREF[1,0]: 00404f05
.text:00404f0f 8b461c MOV EAX,dword ptr [ESI + 0x1c]
.text:00404f12 c1e807 SHR EAX,0x7
.text:00404f15 a801 TEST AL,0x1
.text:00404f17 7419 JZ LAB_00404f32
.text:00404f19 395e34 CMP dword ptr [ESI + 0x34],EBX
.text:00404f1c 7408 JZ LAB_00404f26
.text:00404f1e 8b4630 MOV EAX,dword ptr [ESI + 0x30]
.text:00404f21 803830 CMP byte ptr [EAX],0x30
.text:00404f24 740c JZ LAB_00404f32
LAB_00404f26: ;XREF[1,0]: 00404f1c
.text:00404f26 ff4e30 DEC dword ptr [ESI + 0x30]
.text:00404f29 8b4e30 MOV param_1,dword ptr [ESI + 0x30]
.text:00404f2c c60130 MOV byte ptr [param_1],0x30
.text:00404f2f ff4634 INC dword ptr [ESI + 0x34]
LAB_00404f32: ;XREF[2,0]: 00404f17,00404f24
.text:00404f32 b001 MOV AL,0x1
LAB_00404f34: ;XREF[1,0]: 00404e07
.text:00404f34 5f POP EDI
.text:00404f35 5e POP ESI
.text:00404f36 5b POP EBX
.text:00404f37 c9 LEAVE
.text:00404f38 c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00404f3b(void * this, byte param_1)
;this void * ECX
;param_1 byte 4 ;XREF[1,0]: 00405081
;local_8 undefined4 -8 ;XREF[4,0]: 0040501f,00405024,0040504b,0040506d
;local_c undefined4 -c ;XREF[5,0]: 00404fcf,00405019,0040501c,00405048,00405070
;local_10 undefined4 -10 ;XREF[2,0]: 00404f53,0040507d
;XREF[1,0]: 00405e2c
.text:00404f3b 8bff MOV EDI,EDI
.text:00404f3d 55 PUSH EBP
.text:00404f3e 8bec MOV EBP,ESP
.text:00404f40 83ec0c SUB ESP,0xc
.text:00404f43 53 PUSH EBX
.text:00404f44 56 PUSH ESI
.text:00404f45 8bf1 MOV ESI,this
.text:00404f47 57 PUSH EDI
.text:00404f48 ff7628 PUSH dword ptr [ESI + 0x28]
.text:00404f4b e85f110000 CALL __crt_stdio_output::to_integer_size ;uint to_integer_size(length_modifier...
.text:00404f50 59 POP this
.text:00404f51 8bc8 MOV this,EAX
.text:00404f53 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00404f56 6a00 PUSH 0x0
.text:00404f58 5b POP EBX
.text:00404f59 83e901 SUB this,0x1
.text:00404f5c 0f8499000000 JZ LAB_00404ffb
.text:00404f62 83e901 SUB this,0x1
.text:00404f65 7475 JZ LAB_00404fdc
.text:00404f67 49 DEC this
.text:00404f68 83e901 SUB this,0x1
.text:00404f6b 7446 JZ LAB_00404fb3
.text:00404f6d 83e904 SUB this,0x4
.text:00404f70 7427 JZ LAB_00404f99
.text:00404f72 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00404f75 83c018 ADD EAX,0x18
.text:00404f78 c6400401 MOV byte ptr [EAX + 0x4],0x1
.text:00404f7c c70016000000 MOV dword ptr [EAX],0x16
.text:00404f82 ff7608 PUSH dword ptr [ESI + 0x8]
.text:00404f85 53 PUSH EBX
.text:00404f86 53 PUSH EBX
.text:00404f87 53 PUSH EBX
.text:00404f88 53 PUSH EBX
.text:00404f89 53 PUSH EBX
.text:00404f8a e817920000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00404f8f 83c418 ADD ESP,0x18
.text:00404f92 32c0 XOR AL,AL
.text:00404f94 e928010000 JMP LAB_004050c1
LAB_00404f99: ;XREF[1,0]: 00404f70
.text:00404f99 8b4e10 MOV this,dword ptr [ESI + 0x10]
.text:00404f9c 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:00404f9f 8bc7 MOV EAX,EDI
.text:00404fa1 c1e804 SHR EAX,0x4
.text:00404fa4 a801 TEST AL,0x1
.text:00404fa6 8d4108 LEA EAX,[this + 0x8]
.text:00404fa9 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00404fac 8b01 MOV EAX,dword ptr [this]
.text:00404fae 8b5104 MOV EDX,dword ptr [this + 0x4]
.text:00404fb1 eb66 JMP LAB_00405019
LAB_00404fb3: ;XREF[1,0]: 00404f6b
.text:00404fb3 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:00404fb6 8bc7 MOV EAX,EDI
.text:00404fb8 c1e804 SHR EAX,0x4
.text:00404fbb a801 TEST AL,0x1
.text:00404fbd 740d JZ LAB_00404fcc
.text:00404fbf 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:00404fc2 8d4804 LEA this,[EAX + 0x4]
.text:00404fc5 894e10 MOV dword ptr [ESI + 0x10],this
.text:00404fc8 8b00 MOV EAX,dword ptr [EAX]
.text:00404fca eb4c JMP LAB_00405018
LAB_00404fcc: ;XREF[1,0]: 00404fbd
.text:00404fcc 8b4e10 MOV this,dword ptr [ESI + 0x10]
.text:00404fcf 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
.text:00404fd2 8d4104 LEA EAX,[this + 0x4]
.text:00404fd5 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00404fd8 8b01 MOV EAX,dword ptr [this]
.text:00404fda eb40 JMP LAB_0040501c
LAB_00404fdc: ;XREF[1,0]: 00404f65
.text:00404fdc 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:00404fdf 8bc7 MOV EAX,EDI
.text:00404fe1 8b4e10 MOV this,dword ptr [ESI + 0x10]
.text:00404fe4 c1e804 SHR EAX,0x4
.text:00404fe7 a801 TEST AL,0x1
.text:00404fe9 8d4104 LEA EAX,[this + 0x4]
.text:00404fec 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00404fef 7405 JZ LAB_00404ff6
.text:00404ff1 0fbf01 MOVSX EAX,word ptr [this]
.text:00404ff4 eb22 JMP LAB_00405018
LAB_00404ff6: ;XREF[1,0]: 00404fef
.text:00404ff6 0fb701 MOVZX EAX,word ptr [this]
.text:00404ff9 eb1d JMP LAB_00405018
LAB_00404ffb: ;XREF[1,0]: 00404f5c
.text:00404ffb 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:00404ffe 8bc7 MOV EAX,EDI
.text:00405000 8b4e10 MOV this,dword ptr [ESI + 0x10]
.text:00405003 c1e804 SHR EAX,0x4
.text:00405006 a801 TEST AL,0x1
.text:00405008 8d4104 LEA EAX,[this + 0x4]
.text:0040500b 894610 MOV dword ptr [ESI + 0x10],EAX
.text:0040500e 7405 JZ LAB_00405015
.text:00405010 0fbe01 MOVSX EAX,byte ptr [this]
.text:00405013 eb03 JMP LAB_00405018
LAB_00405015: ;XREF[1,0]: 0040500e
.text:00405015 0fb601 MOVZX EAX,byte ptr [this]
LAB_00405018: ;XREF[4,0]: 00404fca,00404ff4,00404ff9,00405013
.text:00405018 99 CDQ
LAB_00405019: ;XREF[1,0]: 00404fb1
.text:00405019 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
LAB_0040501c: ;XREF[1,0]: 00404fda
.text:0040501c 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:0040501f 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00405022 8bc7 MOV EAX,EDI
.text:00405024 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
.text:00405027 c1e804 SHR EAX,0x4
.text:0040502a a801 TEST AL,0x1
.text:0040502c 7416 JZ LAB_00405044
.text:0040502e 3bd3 CMP EDX,EBX
.text:00405030 7f12 JG LAB_00405044
.text:00405032 7c04 JL LAB_00405038
.text:00405034 3bcb CMP this,EBX
.text:00405036 730c JNC LAB_00405044
LAB_00405038: ;XREF[1,0]: 00405032
.text:00405038 f7d9 NEG this
.text:0040503a 13d3 ADC EDX,EBX
.text:0040503c f7da NEG EDX
.text:0040503e 83cf40 OR EDI,0x40
.text:00405041 897e1c MOV dword ptr [ESI + 0x1c],EDI
LAB_00405044: ;XREF[3,0]: 0040502c,00405030,00405036
.text:00405044 837e2400 CMP dword ptr [ESI + 0x24],0x0
.text:00405048 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
.text:0040504b 894dfc MOV dword ptr [EBP + local_8+0x4],this
.text:0040504e 7d09 JGE LAB_00405059
.text:00405050 c74624010... MOV dword ptr [ESI + 0x24],0x1
.text:00405057 eb1a JMP LAB_00405073
LAB_00405059: ;XREF[1,0]: 0040504e
.text:00405059 ff7608 PUSH dword ptr [ESI + 0x8]
.text:0040505c 83e7f7 AND EDI,0xfffffff7
.text:0040505f 8d4e3c LEA this,[ESI + 0x3c]
.text:00405062 ff7624 PUSH dword ptr [ESI + 0x24]
.text:00405065 897e1c MOV dword ptr [ESI + 0x1c],EDI
.text:00405068 e813faffff CALL FUN_00404a80 ;undefined4 FUN_00404a80(void * this,...
.text:0040506d 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
.text:00405070 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
LAB_00405073: ;XREF[1,0]: 00405057
.text:00405073 8bc1 MOV EAX,this
.text:00405075 0bc2 OR EAX,EDX
.text:00405077 7504 JNZ LAB_0040507d
.text:00405079 83661cdf AND dword ptr [ESI + 0x1c],0xffffffdf
LAB_0040507d: ;XREF[1,0]: 00405077
.text:0040507d 837df408 CMP dword ptr [EBP + local_10+0x4],0x8
.text:00405081 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00405084 885e38 MOV byte ptr [ESI + 0x38],BL
.text:00405087 750b JNZ LAB_00405094
.text:00405089 52 PUSH EDX
.text:0040508a 51 PUSH this
.text:0040508b 8bce MOV this,ESI
.text:0040508d e8a2030000 CALL FUN_00405434 ;undefined FUN_00405434(void * this, ...
.text:00405092 eb08 JMP LAB_0040509c
LAB_00405094: ;XREF[1,0]: 00405087
.text:00405094 51 PUSH this
.text:00405095 8bce MOV this,ESI
.text:00405097 e81c020000 CALL FUN_004052b8 ;undefined FUN_004052b8(void * this, ...
LAB_0040509c: ;XREF[1,0]: 00405092
.text:0040509c 8b461c MOV EAX,dword ptr [ESI + 0x1c]
.text:0040509f c1e807 SHR EAX,0x7
.text:004050a2 a801 TEST AL,0x1
.text:004050a4 7419 JZ LAB_004050bf
.text:004050a6 395e34 CMP dword ptr [ESI + 0x34],EBX
.text:004050a9 7408 JZ LAB_004050b3
.text:004050ab 8b4630 MOV EAX,dword ptr [ESI + 0x30]
.text:004050ae 803830 CMP byte ptr [EAX],0x30
.text:004050b1 740c JZ LAB_004050bf
LAB_004050b3: ;XREF[1,0]: 004050a9
.text:004050b3 ff4e30 DEC dword ptr [ESI + 0x30]
.text:004050b6 8b4e30 MOV this,dword ptr [ESI + 0x30]
.text:004050b9 c60130 MOV byte ptr [this],0x30
.text:004050bc ff4634 INC dword ptr [ESI + 0x34]
LAB_004050bf: ;XREF[2,0]: 004050a4,004050b1
.text:004050bf b001 MOV AL,0x1
LAB_004050c1: ;XREF[1,0]: 00404f94
.text:004050c1 5f POP EDI
.text:004050c2 5e POP ESI
.text:004050c3 5b POP EBX
.text:004050c4 c9 LEAVE
.text:004050c5 c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004050c8(void * this, byte param_1)
;this void * ECX
;param_1 byte 4 ;XREF[1,0]: 0040520e
;local_8 undefined4 -8 ;XREF[4,0]: 004051ac,004051b1,004051d8,004051fa
;local_c undefined4 -c ;XREF[5,0]: 0040515c,004051a6,004051a9,004051d5,004051fd
;local_10 undefined4 -10 ;XREF[2,0]: 004050e0,0040520a
;XREF[2,0]: 00405df6,0040643e
.text:004050c8 8bff MOV EDI,EDI
.text:004050ca 55 PUSH EBP
.text:004050cb 8bec MOV EBP,ESP
.text:004050cd 83ec0c SUB ESP,0xc
.text:004050d0 53 PUSH EBX
.text:004050d1 56 PUSH ESI
.text:004050d2 8bf1 MOV ESI,this
.text:004050d4 57 PUSH EDI
.text:004050d5 ff7628 PUSH dword ptr [ESI + 0x28]
.text:004050d8 e8d20f0000 CALL __crt_stdio_output::to_integer_size ;uint to_integer_size(length_modifier...
.text:004050dd 59 POP this
.text:004050de 8bc8 MOV this,EAX
.text:004050e0 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:004050e3 6a00 PUSH 0x0
.text:004050e5 5b POP EBX
.text:004050e6 83e901 SUB this,0x1
.text:004050e9 0f8499000000 JZ LAB_00405188
.text:004050ef 83e901 SUB this,0x1
.text:004050f2 7475 JZ LAB_00405169
.text:004050f4 49 DEC this
.text:004050f5 83e901 SUB this,0x1
.text:004050f8 7446 JZ LAB_00405140
.text:004050fa 83e904 SUB this,0x4
.text:004050fd 7427 JZ LAB_00405126
.text:004050ff 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00405102 83c018 ADD EAX,0x18
.text:00405105 c6400401 MOV byte ptr [EAX + 0x4],0x1
.text:00405109 c70016000000 MOV dword ptr [EAX],0x16
.text:0040510f ff7608 PUSH dword ptr [ESI + 0x8]
.text:00405112 53 PUSH EBX
.text:00405113 53 PUSH EBX
.text:00405114 53 PUSH EBX
.text:00405115 53 PUSH EBX
.text:00405116 53 PUSH EBX
.text:00405117 e88a900000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:0040511c 83c418 ADD ESP,0x18
.text:0040511f 32c0 XOR AL,AL
.text:00405121 e928010000 JMP LAB_0040524e
LAB_00405126: ;XREF[1,0]: 004050fd
.text:00405126 8b4e10 MOV this,dword ptr [ESI + 0x10]
.text:00405129 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:0040512c 8bc7 MOV EAX,EDI
.text:0040512e c1e804 SHR EAX,0x4
.text:00405131 a801 TEST AL,0x1
.text:00405133 8d4108 LEA EAX,[this + 0x8]
.text:00405136 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00405139 8b01 MOV EAX,dword ptr [this]
.text:0040513b 8b5104 MOV EDX,dword ptr [this + 0x4]
.text:0040513e eb66 JMP LAB_004051a6
LAB_00405140: ;XREF[1,0]: 004050f8
.text:00405140 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:00405143 8bc7 MOV EAX,EDI
.text:00405145 c1e804 SHR EAX,0x4
.text:00405148 a801 TEST AL,0x1
.text:0040514a 740d JZ LAB_00405159
.text:0040514c 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:0040514f 8d4804 LEA this,[EAX + 0x4]
.text:00405152 894e10 MOV dword ptr [ESI + 0x10],this
.text:00405155 8b00 MOV EAX,dword ptr [EAX]
.text:00405157 eb4c JMP LAB_004051a5
LAB_00405159: ;XREF[1,0]: 0040514a
.text:00405159 8b4e10 MOV this,dword ptr [ESI + 0x10]
.text:0040515c 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
.text:0040515f 8d4104 LEA EAX,[this + 0x4]
.text:00405162 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00405165 8b01 MOV EAX,dword ptr [this]
.text:00405167 eb40 JMP LAB_004051a9
LAB_00405169: ;XREF[1,0]: 004050f2
.text:00405169 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:0040516c 8bc7 MOV EAX,EDI
.text:0040516e 8b4e10 MOV this,dword ptr [ESI + 0x10]
.text:00405171 c1e804 SHR EAX,0x4
.text:00405174 a801 TEST AL,0x1
.text:00405176 8d4104 LEA EAX,[this + 0x4]
.text:00405179 894610 MOV dword ptr [ESI + 0x10],EAX
.text:0040517c 7405 JZ LAB_00405183
.text:0040517e 0fbf01 MOVSX EAX,word ptr [this]
.text:00405181 eb22 JMP LAB_004051a5
LAB_00405183: ;XREF[1,0]: 0040517c
.text:00405183 0fb701 MOVZX EAX,word ptr [this]
.text:00405186 eb1d JMP LAB_004051a5
LAB_00405188: ;XREF[1,0]: 004050e9
.text:00405188 8b7e1c MOV EDI,dword ptr [ESI + 0x1c]
.text:0040518b 8bc7 MOV EAX,EDI
.text:0040518d 8b4e10 MOV this,dword ptr [ESI + 0x10]
.text:00405190 c1e804 SHR EAX,0x4
.text:00405193 a801 TEST AL,0x1
.text:00405195 8d4104 LEA EAX,[this + 0x4]
.text:00405198 894610 MOV dword ptr [ESI + 0x10],EAX
.text:0040519b 7405 JZ LAB_004051a2
.text:0040519d 0fbe01 MOVSX EAX,byte ptr [this]
.text:004051a0 eb03 JMP LAB_004051a5
LAB_004051a2: ;XREF[1,0]: 0040519b
.text:004051a2 0fb601 MOVZX EAX,byte ptr [this]
LAB_004051a5: ;XREF[4,0]: 00405157,00405181,00405186,004051a0
.text:004051a5 99 CDQ
LAB_004051a6: ;XREF[1,0]: 0040513e
.text:004051a6 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
LAB_004051a9: ;XREF[1,0]: 00405167
.text:004051a9 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:004051ac 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004051af 8bc7 MOV EAX,EDI
.text:004051b1 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
.text:004051b4 c1e804 SHR EAX,0x4
.text:004051b7 a801 TEST AL,0x1
.text:004051b9 7416 JZ LAB_004051d1
.text:004051bb 3bd3 CMP EDX,EBX
.text:004051bd 7f12 JG LAB_004051d1
.text:004051bf 7c04 JL LAB_004051c5
.text:004051c1 3bcb CMP this,EBX
.text:004051c3 730c JNC LAB_004051d1
LAB_004051c5: ;XREF[1,0]: 004051bf
.text:004051c5 f7d9 NEG this
.text:004051c7 13d3 ADC EDX,EBX
.text:004051c9 f7da NEG EDX
.text:004051cb 83cf40 OR EDI,0x40
.text:004051ce 897e1c MOV dword ptr [ESI + 0x1c],EDI
LAB_004051d1: ;XREF[3,0]: 004051b9,004051bd,004051c3
.text:004051d1 837e2400 CMP dword ptr [ESI + 0x24],0x0
.text:004051d5 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
.text:004051d8 894dfc MOV dword ptr [EBP + local_8+0x4],this
.text:004051db 7d09 JGE LAB_004051e6
.text:004051dd c74624010... MOV dword ptr [ESI + 0x24],0x1
.text:004051e4 eb1a JMP LAB_00405200
LAB_004051e6: ;XREF[1,0]: 004051db
.text:004051e6 ff7608 PUSH dword ptr [ESI + 0x8]
.text:004051e9 83e7f7 AND EDI,0xfffffff7
.text:004051ec 8d4e3c LEA this,[ESI + 0x3c]
.text:004051ef ff7624 PUSH dword ptr [ESI + 0x24]
.text:004051f2 897e1c MOV dword ptr [ESI + 0x1c],EDI
.text:004051f5 e886f8ffff CALL FUN_00404a80 ;undefined4 FUN_00404a80(void * this,...
.text:004051fa 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
.text:004051fd 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
LAB_00405200: ;XREF[1,0]: 004051e4
.text:00405200 8bc1 MOV EAX,this
.text:00405202 0bc2 OR EAX,EDX
.text:00405204 7504 JNZ LAB_0040520a
.text:00405206 83661cdf AND dword ptr [ESI + 0x1c],0xffffffdf
LAB_0040520a: ;XREF[1,0]: 00405204
.text:0040520a 837df408 CMP dword ptr [EBP + local_10+0x4],0x8
.text:0040520e ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00405211 885e38 MOV byte ptr [ESI + 0x38],BL
.text:00405214 750b JNZ LAB_00405221
.text:00405216 52 PUSH EDX
.text:00405217 51 PUSH this
.text:00405218 8bce MOV this,ESI
.text:0040521a e8bc020000 CALL FUN_004054db ;undefined FUN_004054db(void * this, ...
.text:0040521f eb08 JMP LAB_00405229
LAB_00405221: ;XREF[1,0]: 00405214
.text:00405221 51 PUSH this
.text:00405222 8bce MOV this,ESI
.text:00405224 e816010000 CALL FUN_0040533f ;undefined FUN_0040533f(void * this, ...
LAB_00405229: ;XREF[1,0]: 0040521f
.text:00405229 8b461c MOV EAX,dword ptr [ESI + 0x1c]
.text:0040522c c1e807 SHR EAX,0x7
.text:0040522f a801 TEST AL,0x1
.text:00405231 7419 JZ LAB_0040524c
.text:00405233 395e34 CMP dword ptr [ESI + 0x34],EBX
.text:00405236 7408 JZ LAB_00405240
.text:00405238 8b4630 MOV EAX,dword ptr [ESI + 0x30]
.text:0040523b 803830 CMP byte ptr [EAX],0x30
.text:0040523e 740c JZ LAB_0040524c
LAB_00405240: ;XREF[1,0]: 00405236
.text:00405240 ff4e30 DEC dword ptr [ESI + 0x30]
.text:00405243 8b4e30 MOV this,dword ptr [ESI + 0x30]
.text:00405246 c60130 MOV byte ptr [this],0x30
.text:00405249 ff4634 INC dword ptr [ESI + 0x34]
LAB_0040524c: ;XREF[2,0]: 00405231,0040523e
.text:0040524c b001 MOV AL,0x1
LAB_0040524e: ;XREF[1,0]: 00405121
.text:0040524e 5f POP EDI
.text:0040524f 5e POP ESI
.text:00405250 5b POP EBX
.text:00405251 c9 LEAVE
.text:00405252 c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00405255(void * this, uint param_1)
;this void * ECX
;param_1 uint 4 ;XREF[1,0]: 00405273
;XREF[1,0]: 00404f0a
.text:00405255 8bff MOV EDI,EDI
.text:00405257 55 PUSH EBP
.text:00405258 8bec MOV EBP,ESP
.text:0040525a 53 PUSH EBX
.text:0040525b 56 PUSH ESI
.text:0040525c 8bf1 MOV ESI,this
.text:0040525e 57 PUSH EDI
.text:0040525f 8d4e3c LEA this,[ESI + 0x3c]
.text:00405262 8bb904040000 MOV EDI,dword ptr [this + 0x404]
.text:00405268 85ff TEST EDI,EDI
.text:0040526a 7502 JNZ LAB_0040526e
.text:0040526c 8bf9 MOV EDI,this
LAB_0040526e: ;XREF[1,0]: 0040526a
.text:0040526e e8f5f7ffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:00405273 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00405276 8d48ff LEA this,[EAX + -0x1]
.text:00405279 03cf ADD this,EDI
.text:0040527b 894e30 MOV dword ptr [ESI + 0x30],this
.text:0040527e 8bc1 MOV EAX,this
.text:00405280 8bd9 MOV EBX,this
LAB_00405282: ;XREF[1,0]: 004052a6
.text:00405282 8b7e24 MOV EDI,dword ptr [ESI + 0x24]
.text:00405285 85ff TEST EDI,EDI
.text:00405287 7f04 JG LAB_0040528d
.text:00405289 85d2 TEST EDX,EDX
.text:0040528b 741b JZ LAB_004052a8
LAB_0040528d: ;XREF[1,0]: 00405287
.text:0040528d 8d47ff LEA EAX,[EDI + -0x1]
.text:00405290 894624 MOV dword ptr [ESI + 0x24],EAX
.text:00405293 8ac2 MOV AL,DL
.text:00405295 2407 AND AL,0x7
.text:00405297 c1ea03 SHR EDX,0x3
.text:0040529a 0430 ADD AL,0x30
.text:0040529c 8803 MOV byte ptr [EBX],AL
.text:0040529e ff4e30 DEC dword ptr [ESI + 0x30]
.text:004052a1 8b4630 MOV EAX,dword ptr [ESI + 0x30]
.text:004052a4 8bd8 MOV EBX,EAX
.text:004052a6 ebda JMP LAB_00405282
LAB_004052a8: ;XREF[1,0]: 0040528b
.text:004052a8 2bc8 SUB this,EAX
.text:004052aa 40 INC EAX
.text:004052ab 894e34 MOV dword ptr [ESI + 0x34],this
.text:004052ae 5f POP EDI
.text:004052af 894630 MOV dword ptr [ESI + 0x30],EAX
.text:004052b2 5e POP ESI
.text:004052b3 5b POP EBX
.text:004052b4 5d POP EBP
.text:004052b5 c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004052b8(void * this, uint param_1, byte param_2)
;this void * ECX
;param_1 uint 4 ;XREF[1,0]: 004052d8
;param_2 byte 8 ;XREF[1,0]: 00405314
;local_8 undefined4 -8 ;XREF[1,0]: 004052e6
;local_c undefined4 -c ;XREF[2,0]: 004052de,0040532c
;XREF[1,0]: 00405097
.text:004052b8 8bff MOV EDI,EDI
.text:004052ba 55 PUSH EBP
.text:004052bb 8bec MOV EBP,ESP
.text:004052bd 51 PUSH this
.text:004052be 51 PUSH this
.text:004052bf 53 PUSH EBX
.text:004052c0 56 PUSH ESI
.text:004052c1 8bf1 MOV ESI,this
.text:004052c3 57 PUSH EDI
.text:004052c4 8d4e3c LEA this,[ESI + 0x3c]
.text:004052c7 8bb904040000 MOV EDI,dword ptr [this + 0x404]
.text:004052cd 85ff TEST EDI,EDI
.text:004052cf 7502 JNZ LAB_004052d3
.text:004052d1 8bf9 MOV EDI,this
LAB_004052d3: ;XREF[1,0]: 004052cf
.text:004052d3 e890f7ffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:004052d8 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:004052db 48 DEC EAX
.text:004052dc 03f8 ADD EDI,EAX
.text:004052de 897df8 MOV dword ptr [EBP + local_c+0x4],EDI
.text:004052e1 8bc7 MOV EAX,EDI
.text:004052e3 897e30 MOV dword ptr [ESI + 0x30],EDI
.text:004052e6 897dfc MOV dword ptr [EBP + local_8+0x4],EDI
LAB_004052e9: ;XREF[1,0]: 0040532a
.text:004052e9 8b4e24 MOV this,dword ptr [ESI + 0x24]
.text:004052ec 85c9 TEST this,this
.text:004052ee 7f04 JG LAB_004052f4
.text:004052f0 85db TEST EBX,EBX
.text:004052f2 7438 JZ LAB_0040532c
LAB_004052f4: ;XREF[1,0]: 004052ee
.text:004052f4 49 DEC this
.text:004052f5 33d2 XOR EDX,EDX
.text:004052f7 6a0a PUSH 0xa
.text:004052f9 894e24 MOV dword ptr [ESI + 0x24],this
.text:004052fc 8bc3 MOV EAX,EBX
.text:004052fe 59 POP this
.text:004052ff f7f1 DIV this
.text:00405301 8bc3 MOV EAX,EBX
.text:00405303 6a0a PUSH 0xa
.text:00405305 5b POP EBX
.text:00405306 8d4a30 LEA this,[EDX + 0x30]
.text:00405309 33d2 XOR EDX,EDX
.text:0040530b f7f3 DIV EBX
.text:0040530d 8bd8 MOV EBX,EAX
.text:0040530f 80f939 CMP this,0x39
.text:00405312 7e0c JLE LAB_00405320
.text:00405314 8a450c MOV AL,byte ptr [EBP + param_2+0x4]
.text:00405317 3401 XOR AL,0x1
.text:00405319 c0e005 SHL AL,0x5
.text:0040531c 0407 ADD AL,0x7
.text:0040531e 02c8 ADD this,AL
LAB_00405320: ;XREF[1,0]: 00405312
.text:00405320 880f MOV byte ptr [EDI],this
.text:00405322 ff4e30 DEC dword ptr [ESI + 0x30]
.text:00405325 8b4630 MOV EAX,dword ptr [ESI + 0x30]
.text:00405328 8bf8 MOV EDI,EAX
.text:0040532a ebbd JMP LAB_004052e9
LAB_0040532c: ;XREF[1,0]: 004052f2
.text:0040532c 8b7df8 MOV EDI,dword ptr [EBP + local_c+0x4]
.text:0040532f 2bf8 SUB EDI,EAX
.text:00405331 40 INC EAX
.text:00405332 897e34 MOV dword ptr [ESI + 0x34],EDI
.text:00405335 5f POP EDI
.text:00405336 894630 MOV dword ptr [ESI + 0x30],EAX
.text:00405339 5e POP ESI
.text:0040533a 5b POP EBX
.text:0040533b c9 LEAVE
.text:0040533c c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040533f(void * this, uint param_1, byte param_2)
;this void * ECX
;param_1 uint 4 ;XREF[1,0]: 00405361
;param_2 byte 8 ;XREF[1,0]: 0040535e
;local_8 undefined4 -8 ;XREF[3,0]: 0040536e,0040539c,004053a7
;XREF[1,0]: 00405224
.text:0040533f 8bff MOV EDI,EDI
.text:00405341 55 PUSH EBP
.text:00405342 8bec MOV EBP,ESP
.text:00405344 51 PUSH this
.text:00405345 53 PUSH EBX
.text:00405346 56 PUSH ESI
.text:00405347 8bf1 MOV ESI,this
.text:00405349 57 PUSH EDI
.text:0040534a 8d4e3c LEA this,[ESI + 0x3c]
.text:0040534d 8bb904040000 MOV EDI,dword ptr [this + 0x404]
.text:00405353 85ff TEST EDI,EDI
.text:00405355 7502 JNZ LAB_00405359
.text:00405357 8bf9 MOV EDI,this
LAB_00405359: ;XREF[1,0]: 00405355
.text:00405359 e80af7ffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:0040535e 8a7d0c MOV BH,byte ptr [EBP + param_2+0x4]
.text:00405361 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00405364 8d48ff LEA this,[EAX + -0x1]
.text:00405367 03cf ADD this,EDI
.text:00405369 894e30 MOV dword ptr [ESI + 0x30],this
.text:0040536c 8bc1 MOV EAX,this
.text:0040536e 894dfc MOV dword ptr [EBP + local_8+0x4],this
LAB_00405371: ;XREF[1,0]: 004053aa
.text:00405371 8b7e24 MOV EDI,dword ptr [ESI + 0x24]
.text:00405374 85ff TEST EDI,EDI
.text:00405376 7f04 JG LAB_0040537c
.text:00405378 85d2 TEST EDX,EDX
.text:0040537a 7430 JZ LAB_004053ac
LAB_0040537c: ;XREF[1,0]: 00405376
.text:0040537c 8d47ff LEA EAX,[EDI + -0x1]
.text:0040537f 894624 MOV dword ptr [ESI + 0x24],EAX
.text:00405382 8ac2 MOV AL,DL
.text:00405384 240f AND AL,0xf
.text:00405386 c1ea04 SHR EDX,0x4
.text:00405389 0430 ADD AL,0x30
.text:0040538b 8ad8 MOV BL,AL
.text:0040538d 3c39 CMP AL,0x39
.text:0040538f 760b JBE LAB_0040539c
.text:00405391 8ac7 MOV AL,BH
.text:00405393 3401 XOR AL,0x1
.text:00405395 c0e005 SHL AL,0x5
.text:00405398 0407 ADD AL,0x7
.text:0040539a 02c3 ADD AL,BL
LAB_0040539c: ;XREF[1,0]: 0040538f
.text:0040539c 8b7dfc MOV EDI,dword ptr [EBP + local_8+0x4]
.text:0040539f 8807 MOV byte ptr [EDI],AL
.text:004053a1 ff4e30 DEC dword ptr [ESI + 0x30]
.text:004053a4 8b4630 MOV EAX,dword ptr [ESI + 0x30]
.text:004053a7 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004053aa ebc5 JMP LAB_00405371
LAB_004053ac: ;XREF[1,0]: 0040537a
.text:004053ac 2bc8 SUB this,EAX
.text:004053ae 40 INC EAX
.text:004053af 894e34 MOV dword ptr [ESI + 0x34],this
.text:004053b2 5f POP EDI
.text:004053b3 894630 MOV dword ptr [ESI + 0x30],EAX
.text:004053b6 5e POP ESI
.text:004053b7 5b POP EBX
.text:004053b8 c9 LEAVE
.text:004053b9 c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004053bc(void * this, uint param_1, uint param_2)
;this void * ECX
;param_1 uint 4 ;XREF[1,0]: 004053dc
;param_2 uint 8 ;XREF[1,0]: 004053e4
;local_8 undefined4 -8 ;XREF[1,0]: 004053ef
;local_c undefined4 -c ;XREF[2,0]: 004053e7,0040541f
;XREF[1,0]: 00404f00
.text:004053bc 8bff MOV EDI,EDI
.text:004053be 55 PUSH EBP
.text:004053bf 8bec MOV EBP,ESP
.text:004053c1 51 PUSH this
.text:004053c2 51 PUSH this
.text:004053c3 53 PUSH EBX
.text:004053c4 56 PUSH ESI
.text:004053c5 8bf1 MOV ESI,this
.text:004053c7 57 PUSH EDI
.text:004053c8 8d4e3c LEA this,[ESI + 0x3c]
.text:004053cb 8bb904040000 MOV EDI,dword ptr [this + 0x404]
.text:004053d1 85ff TEST EDI,EDI
.text:004053d3 7502 JNZ LAB_004053d7
.text:004053d5 8bf9 MOV EDI,this
LAB_004053d7: ;XREF[1,0]: 004053d3
.text:004053d7 e88cf6ffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:004053dc 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:004053df 8d48ff LEA this,[EAX + -0x1]
.text:004053e2 03cf ADD this,EDI
.text:004053e4 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:004053e7 894df8 MOV dword ptr [EBP + local_c+0x4],this
.text:004053ea 8bd1 MOV EDX,this
.text:004053ec 894e30 MOV dword ptr [ESI + 0x30],this
.text:004053ef 894dfc MOV dword ptr [EBP + local_8+0x4],this
LAB_004053f2: ;XREF[1,0]: 0040541d
.text:004053f2 8b4624 MOV EAX,dword ptr [ESI + 0x24]
.text:004053f5 85c0 TEST EAX,EAX
.text:004053f7 7f09 JG LAB_00405402
.text:004053f9 8bc3 MOV EAX,EBX
.text:004053fb 0bc7 OR EAX,EDI
.text:004053fd 7420 JZ LAB_0040541f
.text:004053ff 8b4624 MOV EAX,dword ptr [ESI + 0x24]
LAB_00405402: ;XREF[1,0]: 004053f7
.text:00405402 48 DEC EAX
.text:00405403 894624 MOV dword ptr [ESI + 0x24],EAX
.text:00405406 8ac3 MOV AL,BL
.text:00405408 2407 AND AL,0x7
.text:0040540a 0facfb03 SHRD EBX,EDI,0x3
.text:0040540e 0430 ADD AL,0x30
.text:00405410 8801 MOV byte ptr [this],AL
.text:00405412 c1ef03 SHR EDI,0x3
.text:00405415 ff4e30 DEC dword ptr [ESI + 0x30]
.text:00405418 8b5630 MOV EDX,dword ptr [ESI + 0x30]
.text:0040541b 8bca MOV this,EDX
.text:0040541d ebd3 JMP LAB_004053f2
LAB_0040541f: ;XREF[1,0]: 004053fd
.text:0040541f 8b4df8 MOV this,dword ptr [EBP + local_c+0x4]
.text:00405422 8d4201 LEA EAX,[EDX + 0x1]
.text:00405425 2bca SUB this,EDX
.text:00405427 894e34 MOV dword ptr [ESI + 0x34],this
.text:0040542a 5f POP EDI
.text:0040542b 894630 MOV dword ptr [ESI + 0x30],EAX
.text:0040542e 5e POP ESI
.text:0040542f 5b POP EBX
.text:00405430 c9 LEAVE
.text:00405431 c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00405434(void * this, uint param_1, undefined4 param_2, byte param_3)
;this void * ECX
;param_1 uint 4 ;XREF[1,0]: 00405458
;param_2 undefined4 8 ;XREF[1,0]: 00405466
;param_3 byte c ;XREF[1,0]: 004054a8
;local_8 undefined4 -8 ;XREF[4,0]: 00405469,0040547c,00405491,0040549e
;local_c undefined4 -c ;XREF[3,0]: 00405463,004054b6,004054c1
;local_10 undefined4 -10 ;XREF[2,0]: 0040545b,004054c6
;XREF[1,0]: 0040508d
.text:00405434 8bff MOV EDI,EDI
.text:00405436 55 PUSH EBP
.text:00405437 8bec MOV EBP,ESP
.text:00405439 83ec0c SUB ESP,0xc
.text:0040543c 53 PUSH EBX
.text:0040543d 56 PUSH ESI
.text:0040543e 8bf1 MOV ESI,this
.text:00405440 57 PUSH EDI
.text:00405441 8d4e3c LEA this,[ESI + 0x3c]
.text:00405444 8bb904040000 MOV EDI,dword ptr [this + 0x404]
.text:0040544a 85ff TEST EDI,EDI
.text:0040544c 7502 JNZ LAB_00405450
.text:0040544e 8bf9 MOV EDI,this
LAB_00405450: ;XREF[1,0]: 0040544c
.text:00405450 e813f6ffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:00405455 48 DEC EAX
.text:00405456 03f8 ADD EDI,EAX
.text:00405458 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040545b 897df4 MOV dword ptr [EBP + local_10+0x4],EDI
.text:0040545e 8bcf MOV this,EDI
.text:00405460 897e30 MOV dword ptr [ESI + 0x30],EDI
.text:00405463 897df8 MOV dword ptr [EBP + local_c+0x4],EDI
.text:00405466 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00405469 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
LAB_0040546c: ;XREF[1,0]: 004054c4
.text:0040546c 8b5624 MOV EDX,dword ptr [ESI + 0x24]
.text:0040546f 85d2 TEST EDX,EDX
.text:00405471 7f04 JG LAB_00405477
.text:00405473 0bc7 OR EAX,EDI
.text:00405475 744f JZ LAB_004054c6
LAB_00405477: ;XREF[1,0]: 00405471
.text:00405477 6a00 PUSH 0x0
.text:00405479 6a0a PUSH 0xa
.text:0040547b 57 PUSH EDI
.text:0040547c ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0040547f 8d42ff LEA EAX,[EDX + -0x1]
.text:00405482 894624 MOV dword ptr [ESI + 0x24],EAX
.text:00405485 e846520100 CALL __aullrem ;undefined8 __aullrem(uint param_1, u...
.text:0040548a 6a00 PUSH 0x0
.text:0040548c 6a0a PUSH 0xa
.text:0040548e 8ad8 MOV BL,AL
.text:00405490 57 PUSH EDI
.text:00405491 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:00405494 80c330 ADD BL,0x30
.text:00405497 8afb MOV BH,BL
.text:00405499 e8c2510100 CALL __aulldiv ;undefined8 __aulldiv(uint param_1, u...
.text:0040549e 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004054a1 8bfa MOV EDI,EDX
.text:004054a3 80fb39 CMP BL,0x39
.text:004054a6 7e0e JLE LAB_004054b6
.text:004054a8 8a5d10 MOV BL,byte ptr [EBP + param_3+0x4]
.text:004054ab 80f301 XOR BL,0x1
.text:004054ae c0e305 SHL BL,0x5
.text:004054b1 80c307 ADD BL,0x7
.text:004054b4 02df ADD BL,BH
LAB_004054b6: ;XREF[1,0]: 004054a6
.text:004054b6 8b4df8 MOV this,dword ptr [EBP + local_c+0x4]
.text:004054b9 8819 MOV byte ptr [this],BL
.text:004054bb ff4e30 DEC dword ptr [ESI + 0x30]
.text:004054be 8b4e30 MOV this,dword ptr [ESI + 0x30]
.text:004054c1 894df8 MOV dword ptr [EBP + local_c+0x4],this
.text:004054c4 eba6 JMP LAB_0040546c
LAB_004054c6: ;XREF[1,0]: 00405475
.text:004054c6 8b7df4 MOV EDI,dword ptr [EBP + local_10+0x4]
.text:004054c9 8d4101 LEA EAX,[this + 0x1]
.text:004054cc 2bf9 SUB EDI,this
.text:004054ce 897e34 MOV dword ptr [ESI + 0x34],EDI
.text:004054d1 5f POP EDI
.text:004054d2 894630 MOV dword ptr [ESI + 0x30],EAX
.text:004054d5 5e POP ESI
.text:004054d6 5b POP EBX
.text:004054d7 c9 LEAVE
.text:004054d8 c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004054db(void * this, uint param_1, uint param_2, byte param_3)
;this void * ECX
;param_1 uint 4 ;XREF[1,0]: 004054fb
;param_2 uint 8 ;XREF[1,0]: 00405503
;param_3 byte c ;XREF[1,0]: 00405538
;local_8 undefined4 -8 ;XREF[1,0]: 0040550e
;local_c undefined4 -c ;XREF[2,0]: 00405506,00405550
;XREF[1,0]: 0040521a
.text:004054db 8bff MOV EDI,EDI
.text:004054dd 55 PUSH EBP
.text:004054de 8bec MOV EBP,ESP
.text:004054e0 51 PUSH this
.text:004054e1 51 PUSH this
.text:004054e2 53 PUSH EBX
.text:004054e3 56 PUSH ESI
.text:004054e4 8bf1 MOV ESI,this
.text:004054e6 57 PUSH EDI
.text:004054e7 8d4e3c LEA this,[ESI + 0x3c]
.text:004054ea 8bb904040000 MOV EDI,dword ptr [this + 0x404]
.text:004054f0 85ff TEST EDI,EDI
.text:004054f2 7502 JNZ LAB_004054f6
.text:004054f4 8bf9 MOV EDI,this
LAB_004054f6: ;XREF[1,0]: 004054f2
.text:004054f6 e86df5ffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:004054fb 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:004054fe 8d48ff LEA this,[EAX + -0x1]
.text:00405501 03cf ADD this,EDI
.text:00405503 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00405506 894df8 MOV dword ptr [EBP + local_c+0x4],this
.text:00405509 8bd1 MOV EDX,this
.text:0040550b 894e30 MOV dword ptr [ESI + 0x30],this
.text:0040550e 894dfc MOV dword ptr [EBP + local_8+0x4],this
LAB_00405511: ;XREF[1,0]: 0040554e
.text:00405511 8b4624 MOV EAX,dword ptr [ESI + 0x24]
.text:00405514 85c0 TEST EAX,EAX
.text:00405516 7f09 JG LAB_00405521
.text:00405518 8bc3 MOV EAX,EBX
.text:0040551a 0bc7 OR EAX,EDI
.text:0040551c 7432 JZ LAB_00405550
.text:0040551e 8b4624 MOV EAX,dword ptr [ESI + 0x24]
LAB_00405521: ;XREF[1,0]: 00405516
.text:00405521 48 DEC EAX
.text:00405522 894624 MOV dword ptr [ESI + 0x24],EAX
.text:00405525 8ac3 MOV AL,BL
.text:00405527 240f AND AL,0xf
.text:00405529 0facfb04 SHRD EBX,EDI,0x4
.text:0040552d 0430 ADD AL,0x30
.text:0040552f c1ef04 SHR EDI,0x4
.text:00405532 8ad0 MOV DL,AL
.text:00405534 3c39 CMP AL,0x39
.text:00405536 760c JBE LAB_00405544
.text:00405538 8a4510 MOV AL,byte ptr [EBP + param_3+0x4]
.text:0040553b 3401 XOR AL,0x1
.text:0040553d c0e005 SHL AL,0x5
.text:00405540 0407 ADD AL,0x7
.text:00405542 02c2 ADD AL,DL
LAB_00405544: ;XREF[1,0]: 00405536
.text:00405544 8801 MOV byte ptr [this],AL
.text:00405546 ff4e30 DEC dword ptr [ESI + 0x30]
.text:00405549 8b5630 MOV EDX,dword ptr [ESI + 0x30]
.text:0040554c 8bca MOV this,EDX
.text:0040554e ebc1 JMP LAB_00405511
LAB_00405550: ;XREF[1,0]: 0040551c
.text:00405550 8b4df8 MOV this,dword ptr [EBP + local_c+0x4]
.text:00405553 8d4201 LEA EAX,[EDX + 0x1]
.text:00405556 2bca SUB this,EDX
.text:00405558 894e34 MOV dword ptr [ESI + 0x34],this
.text:0040555b 5f POP EDI
.text:0040555c 894630 MOV dword ptr [ESI + 0x30],EAX
.text:0040555f 5e POP ESI
.text:00405560 5b POP EBX
.text:00405561 c9 LEAVE
.text:00405562 c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_00405565(void * this, undefined4 * param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6)
;this void * ECX
;param_1 undefined4 * 4 ;XREF[1,0]: 00405574
;param_2 undefined4 8 ;XREF[1,0]: 004055b2
;param_3 undefined4 c ;XREF[1,0]: 004055a9
;param_4 undefined4 10 ;XREF[1,0]: 004055b7
;param_5 undefined4 14 ;XREF[1,0]: 0040556a
;param_6 undefined4 18 ;XREF[1,0]: 004055bd
;XREF[1,0]: 00405704
.text:00405565 8bff MOV EDI,EDI
.text:00405567 55 PUSH EBP
.text:00405568 8bec MOV EBP,ESP
.text:0040556a 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:0040556d 8bd1 MOV EDX,this
.text:0040556f 33c9 XOR this,this
.text:00405571 894208 MOV dword ptr [EDX + 0x8],EAX
.text:00405574 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00405577 890a MOV dword ptr [EDX],this
.text:00405579 894a04 MOV dword ptr [EDX + 0x4],this
.text:0040557c 894a0c MOV dword ptr [EDX + 0xc],this
.text:0040557f 894a10 MOV dword ptr [EDX + 0x10],this
.text:00405582 898a3c040000 MOV dword ptr [EDX + 0x43c],this
.text:00405588 898a40040000 MOV dword ptr [EDX + 0x440],this
.text:0040558e 894a14 MOV dword ptr [EDX + 0x14],this
.text:00405591 884a18 MOV byte ptr [EDX + 0x18],this
.text:00405594 894a1c MOV dword ptr [EDX + 0x1c],this
.text:00405597 894a20 MOV dword ptr [EDX + 0x20],this
.text:0040559a 894a24 MOV dword ptr [EDX + 0x24],this
.text:0040559d 66894a2c MOV word ptr [EDX + 0x2c],this
.text:004055a1 894a34 MOV dword ptr [EDX + 0x34],this
.text:004055a4 884a38 MOV byte ptr [EDX + 0x38],this
.text:004055a7 8b00 MOV EAX,dword ptr [EAX]
.text:004055a9 8b4d10 MOV this,dword ptr [EBP + param_3+0x4]
.text:004055ac 898248040000 MOV dword ptr [EDX + 0x448],EAX
.text:004055b2 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004055b5 8902 MOV dword ptr [EDX],EAX
.text:004055b7 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:004055ba 89420c MOV dword ptr [EDX + 0xc],EAX
.text:004055bd 8b451c MOV EAX,dword ptr [EBP + param_6+0x4]
.text:004055c0 894210 MOV dword ptr [EDX + 0x10],EAX
.text:004055c3 8bc2 MOV EAX,EDX
.text:004055c5 894a04 MOV dword ptr [EDX + 0x4],this
.text:004055c8 5d POP EBP
.text:004055c9 c21800 RET 0x18
.text:004055cc cccccccc align align(4)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_004055d0(void * this, undefined4 * param_1)
;this void * ECX
;param_1 undefined4 * 4 ;XREF[1,0]: 004055d7
;XREF[10,0]: 0040674d,0040804b,004083ab,0040e17c
; 0040eb41,0040ffb2,00410923,00413989
; 004181a6,004181e6
.text:004055d0 8bff MOV EDI,EDI
.text:004055d2 55 PUSH EBP
.text:004055d3 8bec MOV EBP,ESP
.text:004055d5 8bd1 MOV EDX,this
.text:004055d7 8b4d08 MOV this,dword ptr [EBP + param_1+0x4]
.text:004055da c6421400 MOV byte ptr [EDX + 0x14],0x0
.text:004055de c70200000000 MOV dword ptr [EDX],0x0
.text:004055e4 c6420800 MOV byte ptr [EDX + 0x8],0x0
.text:004055e8 c6421c00 MOV byte ptr [EDX + 0x1c],0x0
.text:004055ec c6422400 MOV byte ptr [EDX + 0x24],0x0
.text:004055f0 85c9 TEST this,this
.text:004055f2 7415 JZ LAB_00405609
.text:004055f4 8b01 MOV EAX,dword ptr [this]
.text:004055f6 8b4904 MOV this,dword ptr [this + 0x4]
.text:004055f9 89420c MOV dword ptr [EDX + 0xc],EAX
.text:004055fc 8bc2 MOV EAX,EDX
.text:004055fe c6421401 MOV byte ptr [EDX + 0x14],0x1
.text:00405602 894a10 MOV dword ptr [EDX + 0x10],this
.text:00405605 5d POP EBP
.text:00405606 c20400 RET 0x4
LAB_00405609: ;XREF[1,0]: 004055f2
.text:00405609 833d603e4... CMP dword ptr [.data:DAT_00423e60],0x0 ;= ??
.text:00405610 7515 JNZ LAB_00405627
.text:00405612 a1f0314200 MOV EAX,[.data:PTR_PTR_DAT_004231f0] ;= 00423138
.text:00405617 8b0df4314200 MOV this,dword ptr [.data:PTR_DAT_004231f4] ;= 00423200
.text:0040561d c6421401 MOV byte ptr [EDX + 0x14],0x1
.text:00405621 894a10 MOV dword ptr [EDX +...,this=>.data:DAT_0...
.text:00405624 89420c MOV dword ptr [EDX +...,EAX=>.data:PTR_DA...;= 0041d860
LAB_00405627: ;XREF[1,0]: 00405610
.text:00405627 8bc2 MOV EAX,EDX
.text:00405629 5d POP EBP
.text:0040562a c20400 RET 0x4
.text:0040562d cccccc align align(3)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00405630(__acrt_ptd * * param_1)
;param_1 __acrt_ptd * * ECX
;XREF[10,0]: 004067d8,00408077,004083d7,0040e19f
; 0040eb8b,0040ffd1,00410953,004139a1
; 004181ca,0041820a
.text:00405630 8bff MOV EDI,EDI
.text:00405632 56 PUSH ESI
.text:00405633 57 PUSH EDI
.text:00405634 8bf9 MOV EDI,param_1
.text:00405636 807f1402 CMP byte ptr [EDI + 0x14],0x2
.text:0040563a 7509 JNZ LAB_00405645
.text:0040563c 8b07 MOV EAX,dword ptr [EDI]
.text:0040563e 83a050030... AND dword ptr [EAX + 0x350],0xfffffffd
LAB_00405645: ;XREF[1,0]: 0040563a
.text:00405645 807f1c00 CMP byte ptr [EDI + 0x1c],0x0
.text:00405649 740b JZ LAB_00405656
.text:0040564b 8b7718 MOV ESI,dword ptr [EDI + 0x18]
.text:0040564e e83d020000 CALL FUN_00405890 ;__acrt_ptd * FUN_00405890(__acrt_ptd...
.text:00405653 897010 MOV dword ptr [EAX + 0x10],ESI
LAB_00405656: ;XREF[1,0]: 00405649
.text:00405656 807f2400 CMP byte ptr [EDI + 0x24],0x0
.text:0040565a 740d JZ LAB_00405669
.text:0040565c 8b7720 MOV ESI,dword ptr [EDI + 0x20]
.text:0040565f 8bcf MOV param_1,EDI
.text:00405661 e82a020000 CALL FUN_00405890 ;__acrt_ptd * FUN_00405890(__acrt_ptd...
.text:00405666 897014 MOV dword ptr [EAX + 0x14],ESI
LAB_00405669: ;XREF[1,0]: 0040565a
.text:00405669 5f POP EDI
.text:0040566a 5e POP ESI
.text:0040566b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040566c(int param_1)
;param_1 int ECX
;XREF[1,0]: 00405720
.text:0040566c 8bff MOV EDI,EDI
.text:0040566e 56 PUSH ESI
.text:0040566f 8bf1 MOV ESI,param_1
.text:00405671 ffb604040000 PUSH dword ptr [ESI + 0x404]
.text:00405677 e8f88c0000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040567c 83a604040... AND dword ptr [ESI + 0x404],0x0
.text:00405683 59 POP param_1
.text:00405684 5e POP ESI
.text:00405685 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_00405686(void * this, undefined4 * param_1)
;this void * ECX
;param_1 undefined4 * 4 ;XREF[1,0]: 00405695
;XREF[1,0]: 00404ae4
.text:00405686 8bff MOV EDI,EDI
.text:00405688 55 PUSH EBP
.text:00405689 8bec MOV EBP,ESP
.text:0040568b 56 PUSH ESI
.text:0040568c 8bf1 MOV ESI,this
.text:0040568e ff36 PUSH dword ptr [ESI]
.text:00405690 e8df8c0000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00405695 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00405698 832600 AND dword ptr [ESI],0x0
.text:0040569b 59 POP this
.text:0040569c 8b02 MOV EAX,dword ptr [EDX]
.text:0040569e 8906 MOV dword ptr [ESI],EAX
.text:004056a0 8bc6 MOV EAX,ESI
.text:004056a2 832200 AND dword ptr [EDX],0x0
.text:004056a5 5e POP ESI
.text:004056a6 5d POP EBP
.text:004056a7 c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004056aa(undefined4 * param_1)
;param_1 undefined4 * ECX
;local_8 undefined4 -8 ;XREF[2,0]: 004056bc,00405732
;local_10 undefined4 -10 ;XREF[1,0]: 00405709
;local_424 undefined1 -424 ;XREF[1,0]: 00405718
;local_460 undefined1 -460 ;XREF[2,0]: 004056da,0040570d
;local_464 undefined4 -464 ;XREF[2,0]: 004056e2,004056fd
;local_468 undefined4 -468 ;XREF[2,0]: 004056d1,00405727
;XREF[1,0]: 00404a2f
.text:004056aa 8bff MOV EDI,EDI
.text:004056ac 55 PUSH EBP
.text:004056ad 8bec MOV EBP,ESP
.text:004056af 81ec64040000 SUB ESP,0x464
.text:004056b5 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:004056ba 33c5 XOR EAX,EBP
.text:004056bc 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004056bf 53 PUSH EBX
.text:004056c0 56 PUSH ESI
.text:004056c1 8bf1 MOV ESI,param_1
.text:004056c3 57 PUSH EDI
.text:004056c4 8b06 MOV EAX,dword ptr [ESI]
.text:004056c6 8b7e04 MOV EDI,dword ptr [ESI + 0x4]
.text:004056c9 8b18 MOV EBX,dword ptr [EAX]
.text:004056cb 53 PUSH EBX
.text:004056cc e8b1a90000 CALL FUN_00410082 ;undefined4 FUN_00410082(FILE * param_1)
.text:004056d1 88859cfbffff MOV byte ptr [EBP + local_468+0x4],AL
.text:004056d7 8b06 MOV EAX,dword ptr [ESI]
.text:004056d9 59 POP param_1
.text:004056da 8d8da4fbffff LEA param_1=>local_460,[EBP + 0xfffffba4]
.text:004056e0 8b00 MOV EAX,dword ptr [EAX]
.text:004056e2 8985a0fbffff MOV dword ptr [EBP + local_464+0x4],EAX
.text:004056e8 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:004056eb ff30 PUSH dword ptr [EAX]
.text:004056ed 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:004056f0 ff7604 PUSH dword ptr [ESI + 0x4]
.text:004056f3 ff30 PUSH dword ptr [EAX]
.text:004056f5 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:004056f8 ff7004 PUSH dword ptr [EAX + 0x4]
.text:004056fb ff30 PUSH dword ptr [EAX]
.text:004056fd 8d85a0fbffff LEA EAX=>local_464,[EBP + 0xfffffba0]
.text:00405703 50 PUSH EAX
.text:00405704 e85cfeffff CALL FUN_00405565 ;void * FUN_00405565(void * this, und...
.text:00405709 8365f400 AND dword ptr [EBP + local_10+0x4],0x0
.text:0040570d 8d8da4fbffff LEA param_1=>local_460,[EBP + 0xfffffba4]
.text:00405713 e84c020000 CALL FUN_00405964 ;undefined4 FUN_00405964(__uint64 * p...
.text:00405718 8d8de0fbffff LEA param_1=>local_424,[EBP + 0xfffffbe0]
.text:0040571e 8bf0 MOV ESI,EAX
.text:00405720 e847ffffff CALL FUN_0040566c ;undefined FUN_0040566c(int param_1)
.text:00405725 57 PUSH EDI
.text:00405726 53 PUSH EBX
.text:00405727 ffb59cfbffff PUSH dword ptr [EBP + local_468+0x4]
.text:0040572d e8fba90000 CALL FUN_0041012d ;undefined FUN_0041012d(char param_1,...
.text:00405732 8b4dfc MOV param_1,dword ptr [EBP + local_8+0x4]
.text:00405735 83c40c ADD ESP,0xc
.text:00405738 8bc6 MOV EAX,ESI
.text:0040573a 33cd XOR param_1,EBP
.text:0040573c 5f POP EDI
.text:0040573d 5e POP ESI
.text:0040573e 5b POP EBX
.text:0040573f e8e1c9ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00405744 c9 LEAVE
.text:00405745 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00405746(char * param_1, int * param_2)
;param_1 char * 4 ;XREF[1,0]: 0040574e
;param_2 int * 8 ;XREF[1,0]: 0040574b
;XREF[1,0]: 004062b0
.text:00405746 8bff MOV EDI,EDI
.text:00405748 55 PUSH EBP
.text:00405749 8bec MOV EBP,ESP
.text:0040574b 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040574e 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00405751 53 PUSH EBX
.text:00405752 8b00 MOV EAX,dword ptr [EAX]
.text:00405754 8b8088000000 MOV EAX,dword ptr [EAX + 0x88]
.text:0040575a 8b00 MOV EAX,dword ptr [EAX]
.text:0040575c 8a18 MOV BL,byte ptr [EAX]
.text:0040575e 8a01 MOV AL,byte ptr [ECX]
.text:00405760 84c0 TEST AL,AL
.text:00405762 7411 JZ LAB_00405775
.text:00405764 8ad0 MOV DL,AL
LAB_00405766: ;XREF[1,0]: 00405773
.text:00405766 8ac2 MOV AL,DL
.text:00405768 3ad3 CMP DL,BL
.text:0040576a 7409 JZ LAB_00405775
.text:0040576c 41 INC ECX
.text:0040576d 8a01 MOV AL,byte ptr [ECX]
.text:0040576f 8ad0 MOV DL,AL
.text:00405771 84c0 TEST AL,AL
.text:00405773 75f1 JNZ LAB_00405766
LAB_00405775: ;XREF[2,0]: 00405762,0040576a
.text:00405775 41 INC ECX
.text:00405776 84c0 TEST AL,AL
.text:00405778 7429 JZ LAB_004057a3
.text:0040577a eb09 JMP LAB_00405785
LAB_0040577c: ;XREF[1,0]: 00405789
.text:0040577c 3c65 CMP AL,0x65
.text:0040577e 740b JZ LAB_0040578b
.text:00405780 3c45 CMP AL,0x45
.text:00405782 7407 JZ LAB_0040578b
.text:00405784 41 INC ECX
LAB_00405785: ;XREF[1,0]: 0040577a
.text:00405785 8a01 MOV AL,byte ptr [ECX]
.text:00405787 84c0 TEST AL,AL
.text:00405789 75f1 JNZ LAB_0040577c
LAB_0040578b: ;XREF[2,0]: 0040577e,00405782
.text:0040578b 8bd1 MOV EDX,ECX
LAB_0040578d: ;XREF[1,0]: 00405792
.text:0040578d 49 DEC ECX
.text:0040578e 8a01 MOV AL,byte ptr [ECX]
.text:00405790 3c30 CMP AL,0x30
.text:00405792 74f9 JZ LAB_0040578d
.text:00405794 3ac3 CMP AL,BL
.text:00405796 7501 JNZ LAB_00405799
.text:00405798 49 DEC ECX
LAB_00405799: ;XREF[2,0]: 00405796,004057a1
.text:00405799 8a02 MOV AL,byte ptr [EDX]
.text:0040579b 42 INC EDX
.text:0040579c 41 INC ECX
.text:0040579d 8801 MOV byte ptr [ECX],AL
.text:0040579f 84c0 TEST AL,AL
.text:004057a1 75f6 JNZ LAB_00405799
LAB_004057a3: ;XREF[1,0]: 00405778
.text:004057a3 5b POP EBX
.text:004057a4 5d POP EBP
.text:004057a5 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004057a6(char param_1, byte param_2)
;param_1 char 4 ;XREF[1,0]: 004057ab
;param_2 byte 8 ;XREF[1,0]: 004057cc
;XREF[1,0]: 004059fc
.text:004057a6 8bff MOV EDI,EDI
.text:004057a8 55 PUSH EBP
.text:004057a9 8bec MOV EBP,ESP
.text:004057ab 8a4d08 MOV CL,byte ptr [EBP + param_1+0x4]
.text:004057ae 8d41e0 LEA EAX,[ECX + -0x20]
.text:004057b1 3c5a CMP AL,0x5a
.text:004057b3 7712 JA LAB_004057c7
.text:004057b5 0fbec1 MOVSX EAX,CL
.text:004057b8 83e820 SUB EAX,0x20
.text:004057bb 83e07f AND EAX,0x7f
.text:004057be 8a0445b1b... MOV AL,byte ptr [EAX*0x2 + .rdata:DAT_004...;= 06h
.text:004057c5 eb02 JMP LAB_004057c9
LAB_004057c7: ;XREF[1,0]: 004057b3
.text:004057c7 32c0 XOR AL,AL
LAB_004057c9: ;XREF[1,0]: 004057c5
.text:004057c9 0fb6c8 MOVZX ECX,AL
.text:004057cc 0fb6450c MOVZX EAX,byte ptr [EBP + param_2+0x4]
.text:004057d0 8d04c8 LEA EAX,[EAX + ECX*0x8]
.text:004057d3 83e07f AND EAX,0x7f
.text:004057d6 8a0445b0b... MOV AL,byte ptr [EAX*0x2 + .rdata:DAT_004...
.text:004057dd 5d POP EBP
.text:004057de c20800 RET 0x8
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl __crt_stdio_output::force_decimal_point(char *,struct __crt_locale_pointers * c...*
;* *
;* Libraries: Visual Studio 2019 Debug, Visual Studio 2019 Release *
;************************************************************************************************
;void force_decimal_point(char * param_1, __crt_locale_pointers * param_2)
;param_1 char * 4 ;XREF[1,0]: 004057e9
;param_2 __crt_local... 8 ;XREF[1,0]: 004057e6
;XREF[1,0]: 0040627d
.text:004057e1 8bff MOV EDI,EDI
.text:004057e3 55 PUSH EBP
.text:004057e4 8bec MOV EBP,ESP
.text:004057e6 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004057e9 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:004057ec 53 PUSH EBX
.text:004057ed 57 PUSH EDI
.text:004057ee 8b08 MOV ECX,dword ptr [EAX]
.text:004057f0 8a1a MOV BL,byte ptr [EDX]
.text:004057f2 0fb6c3 MOVZX EAX,BL
.text:004057f5 8bb994000000 MOV EDI,dword ptr [ECX + 0x94]
.text:004057fb 803c3865 CMP byte ptr [EAX + EDI*0x1],0x65
.text:004057ff 7410 JZ LAB_00405811
.text:00405801 56 PUSH ESI
.text:00405802 8b31 MOV ESI,dword ptr [ECX]
LAB_00405804: ;XREF[1,0]: 0040580e
.text:00405804 42 INC EDX
.text:00405805 8a1a MOV BL,byte ptr [EDX]
.text:00405807 0fb6c3 MOVZX EAX,BL
.text:0040580a f6044604 TEST byte ptr [ESI + EAX*0x2],0x4
.text:0040580e 75f4 JNZ LAB_00405804
.text:00405810 5e POP ESI
LAB_00405811: ;XREF[1,0]: 004057ff
.text:00405811 0fb6c3 MOVZX EAX,BL
.text:00405814 803c3878 CMP byte ptr [EAX + EDI*0x1],0x78
.text:00405818 7505 JNZ LAB_0040581f
.text:0040581a 83c202 ADD EDX,0x2
.text:0040581d 8a1a MOV BL,byte ptr [EDX]
LAB_0040581f: ;XREF[1,0]: 00405818
.text:0040581f 8b8188000000 MOV EAX,dword ptr [ECX + 0x88]
.text:00405825 8b00 MOV EAX,dword ptr [EAX]
.text:00405827 8a00 MOV AL,byte ptr [EAX]
.text:00405829 8802 MOV byte ptr [EDX],AL
.text:0040582b 42 INC EDX
LAB_0040582c: ;XREF[1,0]: 00405837
.text:0040582c 8a02 MOV AL,byte ptr [EDX]
.text:0040582e 8acb MOV CL,BL
.text:00405830 881a MOV byte ptr [EDX],BL
.text:00405832 42 INC EDX
.text:00405833 8ad8 MOV BL,AL
.text:00405835 84c9 TEST CL,CL
.text:00405837 75f3 JNZ LAB_0040582c
.text:00405839 5f POP EDI
.text:0040583a 5b POP EBX
.text:0040583b 5d POP EBP
.text:0040583c c3 RET
.text:0040583d cccccc align align(3)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;__acrt_ptd * FUN_00405840(__acrt_ptd * * param_1)
;param_1 __acrt_ptd * * ECX
;local_8 undefined4 -8 ;XREF[3,0]: 00405854,0040586c,0040587c
;XREF[1,0]: 0040e1b8
.text:00405840 8bff MOV EDI,EDI
.text:00405842 55 PUSH EBP
.text:00405843 8bec MOV EBP,ESP
.text:00405845 51 PUSH param_1
.text:00405846 56 PUSH ESI
.text:00405847 57 PUSH EDI
.text:00405848 8bf9 MOV EDI,param_1
.text:0040584a ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00405850 807f0800 CMP byte ptr [EDI + 0x8],0x0
.text:00405854 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00405857 750f JNZ LAB_00405868
.text:00405859 c74704000... MOV dword ptr [EDI + 0x4],0x0
.text:00405860 33c0 XOR EAX,EAX
.text:00405862 c6470801 MOV byte ptr [EDI + 0x8],0x1
.text:00405866 eb03 JMP LAB_0040586b
LAB_00405868: ;XREF[1,0]: 00405857
.text:00405868 8b4704 MOV EAX,dword ptr [EDI + 0x4]
LAB_0040586b: ;XREF[1,0]: 00405866
.text:0040586b 50 PUSH EAX
.text:0040586c 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:0040586f 50 PUSH EAX
.text:00405870 e836ae0000 CALL FUN_004106ab ;__acrt_ptd * FUN_004106ab(undefined4...
.text:00405875 83c408 ADD ESP,0x8
.text:00405878 8bf0 MOV ESI,EAX
.text:0040587a 8937 MOV dword ptr [EDI],ESI
.text:0040587c ff75fc PUSH dword ptr [EBP + local_8+0x4] ;DWORD dwErrCode for SetLastError
.text:0040587f ff153cb04100 CALL dword ptr [->KERNEL32.DLL::SetLastError];= 00022426
.text:00405885 5f POP EDI
.text:00405886 8bc6 MOV EAX,ESI
.text:00405888 5e POP ESI
.text:00405889 8be5 MOV ESP,EBP
.text:0040588b 5d POP EBP
.text:0040588c c3 RET
.text:0040588d cccccc align align(3)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;__acrt_ptd * FUN_00405890(__acrt_ptd * * param_1)
;param_1 __acrt_ptd * * ECX
;local_8 undefined4 -8 ;XREF[3,0]: 004058a8,004058c1,004058d1
;XREF[3,0]: 0040564e,00405661,004064eb
.text:00405890 8bff MOV EDI,EDI
.text:00405892 55 PUSH EBP
.text:00405893 8bec MOV EBP,ESP
.text:00405895 51 PUSH param_1
.text:00405896 57 PUSH EDI
.text:00405897 8bf9 MOV EDI,param_1
.text:00405899 833f00 CMP dword ptr [EDI],0x0
.text:0040589c 7541 JNZ LAB_004058df
.text:0040589e ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:004058a4 807f0800 CMP byte ptr [EDI + 0x8],0x0
.text:004058a8 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004058ab 750f JNZ LAB_004058bc
.text:004058ad c74704000... MOV dword ptr [EDI + 0x4],0x0
.text:004058b4 33c0 XOR EAX,EAX
.text:004058b6 c6470801 MOV byte ptr [EDI + 0x8],0x1
.text:004058ba eb03 JMP LAB_004058bf
LAB_004058bc: ;XREF[1,0]: 004058ab
.text:004058bc 8b4704 MOV EAX,dword ptr [EDI + 0x4]
LAB_004058bf: ;XREF[1,0]: 004058ba
.text:004058bf 56 PUSH ESI
.text:004058c0 50 PUSH EAX
.text:004058c1 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:004058c4 50 PUSH EAX
.text:004058c5 e8e1ad0000 CALL FUN_004106ab ;__acrt_ptd * FUN_004106ab(undefined4...
.text:004058ca 83c408 ADD ESP,0x8
.text:004058cd 8bf0 MOV ESI,EAX
.text:004058cf 8937 MOV dword ptr [EDI],ESI
.text:004058d1 ff75fc PUSH dword ptr [EBP + local_8+0x4] ;DWORD dwErrCode for SetLastError
.text:004058d4 ff153cb04100 CALL dword ptr [->KERNEL32.DLL::SetLastError];= 00022426
.text:004058da 85f6 TEST ESI,ESI
.text:004058dc 5e POP ESI
.text:004058dd 7407 JZ LAB_004058e6
LAB_004058df: ;XREF[1,0]: 0040589c
.text:004058df 8b07 MOV EAX,dword ptr [EDI]
.text:004058e1 5f POP EDI
.text:004058e2 8be5 MOV ESP,EBP
.text:004058e4 5d POP EBP
.text:004058e5 c3 RET
LAB_004058e6: ;XREF[1,0]: 004058dd
.text:004058e6 e85e820000 CALL _abort ;void _abort(void)
.text:004058eb cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_004058ec(void * this, uint * param_1)
;this void * ECX
;param_1 uint * 4 ;XREF[1,0]: 0040592c
;local_8 undefined4 -8 ;XREF[3,0]: 004058f8,0040591f,00405940
;local_c undefined4 -c ;XREF[2,0]: 0040590d,0040594f
;local_10 undefined4 -10 ;XREF[2,0]: 00405914,00405955
;local_2c undefined4 -2c ;XREF[1,0]: 0040591c
;local_30 undefined4 -30 ;XREF[1,0]: 0040591a
;XREF[1,0]: 00405b06
.text:004058ec 8bff MOV EDI,EDI
.text:004058ee 55 PUSH EBP
.text:004058ef 8bec MOV EBP,ESP
.text:004058f1 83ec10 SUB ESP,0x10
.text:004058f4 53 PUSH EBX
.text:004058f5 56 PUSH ESI
.text:004058f6 8bf1 MOV ESI,this
.text:004058f8 8d55fc LEA EDX=>local_8,[EBP + -0x4]
.text:004058fb 57 PUSH EDI
.text:004058fc 33db XOR EBX,EBX
.text:004058fe 43 INC EBX
.text:004058ff 8b7e08 MOV EDI,dword ptr [ESI + 0x8]
.text:00405902 8b4e0c MOV this,dword ptr [ESI + 0xc]
.text:00405905 53 PUSH EBX
.text:00405906 49 DEC this
.text:00405907 8b4718 MOV EAX,dword ptr [EDI + 0x18]
.text:0040590a 6a0a PUSH 0xa
.text:0040590c 51 PUSH this
.text:0040590d 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00405910 8b471c MOV EAX,dword ptr [EDI + 0x1c]
.text:00405913 51 PUSH this
.text:00405914 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00405917 8bc4 MOV EAX,ESP
.text:00405919 57 PUSH EDI
.text:0040591a 8908 MOV dword ptr [EAX]=>local_30,this
.text:0040591c 895004 MOV dword ptr [EAX + local_2c+0x30],EDX
.text:0040591f 894dfc MOV dword ptr [EBP + local_8+0x4],this
.text:00405922 e85af2ffff CALL FUN_00404b81 ;uint FUN_00404b81(__acrt_ptd * * par...
.text:00405927 8bc8 MOV this,EAX
.text:00405929 83c414 ADD ESP,0x14
.text:0040592c 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040592f 8908 MOV dword ptr [EAX],this
.text:00405931 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00405934 80781c00 CMP byte ptr [EAX + 0x1c],0x0
.text:00405938 7406 JZ LAB_00405940
.text:0040593a 83781822 CMP dword ptr [EAX + 0x18],0x22
.text:0040593e 7408 JZ LAB_00405948
LAB_00405940: ;XREF[1,0]: 00405938
.text:00405940 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00405943 3b460c CMP EAX,dword ptr [ESI + 0xc]
.text:00405946 7304 JNC LAB_0040594c
LAB_00405948: ;XREF[1,0]: 0040593e
.text:00405948 32db XOR BL,BL
.text:0040594a eb03 JMP LAB_0040594f
LAB_0040594c: ;XREF[1,0]: 00405946
.text:0040594c 89460c MOV dword ptr [ESI + 0xc],EAX
LAB_0040594f: ;XREF[1,0]: 0040594a
.text:0040594f 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00405952 894718 MOV dword ptr [EDI + 0x18],EAX
.text:00405955 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00405958 89471c MOV dword ptr [EDI + 0x1c],EAX
.text:0040595b 8ac3 MOV AL,BL
.text:0040595d 5f POP EDI
.text:0040595e 5e POP ESI
.text:0040595f 5b POP EBX
.text:00405960 c9 LEAVE
.text:00405961 c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00405964(__uint64 * param_1)
;param_1 __uint64 * ECX
;local_5 undefined1 -5 ;XREF[5,0]: 004059d3,00405ab4,00405afa,00405b31,00405b7a
;local_c undefined4 -c ;XREF[3,0]: 00405a21,00405a33,00405a5c
;local_10 undefined4 -10 ;XREF[3,0]: 00405a3c,00405a82,00405a8f
;local_14 undefined4 -14 ;XREF[3,0]: 004059e4,004059f9,00405b80
;local_18 undefined4 -18 ;XREF[2,0]: 00405a39,00405a66
;XREF[1,0]: 00405713
.text:00405964 8bff MOV EDI,EDI
.text:00405966 55 PUSH EBP
.text:00405967 8bec MOV EBP,ESP
.text:00405969 83ec14 SUB ESP,0x14
.text:0040596c 53 PUSH EBX
.text:0040596d 56 PUSH ESI
.text:0040596e 8bf1 MOV ESI,param_1
.text:00405970 57 PUSH EDI
.text:00405971 ff7608 PUSH dword ptr [ESI + 0x8]
.text:00405974 8d8e48040000 LEA param_1,[ESI + 0x448]
.text:0040597a e8d70b0000 CALL FUN_00406556 ;bool FUN_00406556(void * this, __acr...
.text:0040597f 84c0 TEST AL,AL
.text:00405981 7427 JZ switchD_00405a14::caseD_8
.text:00405983 8b4e0c MOV param_1,dword ptr [ESI + 0xc]
.text:00405986 85c9 TEST param_1,param_1
.text:00405988 7528 JNZ LAB_004059b2
.text:0040598a 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:0040598d 33db XOR EBX,EBX
.text:0040598f c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00405993 c74018160... MOV dword ptr [EAX + 0x18],0x16
LAB_0040599a: ;XREF[1,0]: 00405bed
.text:0040599a ff7608 PUSH dword ptr [ESI + 0x8]
.text:0040599d 53 PUSH EBX
.text:0040599e 53 PUSH EBX
.text:0040599f 53 PUSH EBX
.text:004059a0 53 PUSH EBX
.text:004059a1 53 PUSH EBX
.text:004059a2 e8ff870000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:004059a7 83c418 ADD ESP,0x18
caseD_8: ;XREF[5,0]: 00405981,00405a12,00405a14,00405b66
; 00405bda
.text:004059aa 83c8ff OR EAX,0xffffffff
LAB_004059ad: ;XREF[1,0]: 00405ba1
.text:004059ad 5f POP EDI
.text:004059ae 5e POP ESI
.text:004059af 5b POP EBX
.text:004059b0 c9 LEAVE
.text:004059b1 c3 RET
LAB_004059b2: ;XREF[1,0]: 00405988
.text:004059b2 8b8650040000 MOV EAX,dword ptr [ESI + 0x450]
.text:004059b8 40 INC EAX
.text:004059b9 898650040000 MOV dword ptr [ESI + 0x450],EAX
.text:004059bf 83f802 CMP EAX,0x2
.text:004059c2 0f84d6010000 JZ LAB_00405b9e
.text:004059c8 33db XOR EBX,EBX
LAB_004059ca: ;XREF[1,0]: 00405b98
.text:004059ca 895e34 MOV dword ptr [ESI + 0x34],EBX
.text:004059cd 885e18 MOV byte ptr [ESI + 0x18],BL
.text:004059d0 8a11 MOV DL,byte ptr [param_1]
.text:004059d2 41 INC param_1
.text:004059d3 8855ff MOV byte ptr [EBP + local_5+0x4],DL
.text:004059d6 894e0c MOV dword ptr [ESI + 0xc],param_1
.text:004059d9 88562d MOV byte ptr [ESI + 0x2d],DL
.text:004059dc 84d2 TEST DL,DL
.text:004059de 0f84a7010000 JZ LAB_00405b8b
.text:004059e4 8855f0 MOV byte ptr [EBP + local_14+0x4],DL
.text:004059e7 8d4614 LEA EAX,[ESI + 0x14]
LAB_004059ea: ;XREF[1,0]: 00405b85
.text:004059ea 3918 CMP dword ptr [EAX],EBX
.text:004059ec 0f8c99010000 JL LAB_00405b8b
.text:004059f2 0fb64618 MOVZX EAX,byte ptr [ESI + 0x18]
.text:004059f6 8bce MOV param_1,ESI
.text:004059f8 50 PUSH EAX
.text:004059f9 ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:004059fc e8a5fdffff CALL FUN_004057a6 ;undefined FUN_004057a6(char param_1,...
.text:00405a01 884618 MOV byte ptr [ESI + 0x18],AL
.text:00405a04 3c08 CMP AL,0x8
.text:00405a06 0f83d3010000 JNC LAB_00405bdf
.text:00405a0c 0fb6c0 MOVZX EAX,AL
.text:00405a0f 83f807 CMP EAX,0x7
.text:00405a12 7796 JA switchD_00405a14::caseD_8
switchD: ; FWD[10,0]: 004059aa,00405a1b,00405a9c,00405ab4
; 00405afa,00405b2c,00405b31,00405b54
; 00405b5d,00405bf4
.text:00405a14 ff2485f45... JMP dword ptr [EAX*0x4 + switchD_00405a14...;= 00405a1b
caseD_0: ;XREF[2,0]: 00405a14,00405bf4
.text:00405a1b 8b7e08 MOV EDI,dword ptr [ESI + 0x8]
.text:00405a1e 885e38 MOV byte ptr [ESI + 0x38],BL
.text:00405a21 897df8 MOV dword ptr [EBP + local_c+0x4],EDI
.text:00405a24 385f14 CMP byte ptr [EDI + 0x14],BL
.text:00405a27 750d JNZ LAB_00405a36
.text:00405a29 8bcf MOV param_1,EDI
.text:00405a2b e8b00a0000 CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
.text:00405a30 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00405a33 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
LAB_00405a36: ;XREF[1,0]: 00405a27
.text:00405a36 8a462d MOV AL,byte ptr [ESI + 0x2d]
.text:00405a39 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00405a3c 8845f4 MOV byte ptr [EBP + local_10+0x4],AL
.text:00405a3f 0fbec0 MOVSX EAX,AL
.text:00405a42 6800800000 PUSH 0x8000
.text:00405a47 50 PUSH EAX
.text:00405a48 8b470c MOV EAX,dword ptr [EDI + 0xc]
.text:00405a4b ff30 PUSH dword ptr [EAX]
.text:00405a4d e8ca0c0000 CALL ___acrt_locale_get_ctype_array_value ;ushort ___acrt_locale_get_ctype_arra...
.text:00405a52 83c40c ADD ESP,0xc
.text:00405a55 8d7e14 LEA EDI,[ESI + 0x14]
.text:00405a58 85c0 TEST EAX,EAX
.text:00405a5a 7429 JZ LAB_00405a85
.text:00405a5c ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:00405a5f 8d8e48040000 LEA param_1,[ESI + 0x448]
.text:00405a65 57 PUSH EDI
.text:00405a66 ff75ec PUSH dword ptr [EBP + local_18+0x4]
.text:00405a69 e8a70b0000 CALL FUN_00406615 ;undefined FUN_00406615(void * this, ...
.text:00405a6e 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:00405a71 8a08 MOV param_1,byte ptr [EAX]
.text:00405a73 40 INC EAX
.text:00405a74 89460c MOV dword ptr [ESI + 0xc],EAX
.text:00405a77 884e2d MOV byte ptr [ESI + 0x2d],param_1
.text:00405a7a 84c9 TEST param_1,param_1
.text:00405a7c 0f8424010000 JZ LAB_00405ba6
.text:00405a82 884df4 MOV byte ptr [EBP + local_10+0x4],param_1
LAB_00405a85: ;XREF[1,0]: 00405a5a
.text:00405a85 ff7608 PUSH dword ptr [ESI + 0x8]
.text:00405a88 8d8e48040000 LEA param_1,[ESI + 0x448]
.text:00405a8e 57 PUSH EDI
.text:00405a8f ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:00405a92 e87e0b0000 CALL FUN_00406615 ;undefined FUN_00406615(void * this, ...
.text:00405a97 e9d0000000 JMP LAB_00405b6c
caseD_1: ;XREF[2,0]: 00405a14,00405bf8
.text:00405a9c 834e24ff OR dword ptr [ESI + 0x24],0xffffffff
.text:00405aa0 895e20 MOV dword ptr [ESI + 0x20],EBX
.text:00405aa3 885e2c MOV byte ptr [ESI + 0x2c],BL
.text:00405aa6 895e1c MOV dword ptr [ESI + 0x1c],EBX
.text:00405aa9 895e28 MOV dword ptr [ESI + 0x28],EBX
.text:00405aac 885e38 MOV byte ptr [ESI + 0x38],BL
.text:00405aaf e9b8000000 JMP LAB_00405b6c
caseD_2: ;XREF[2,0]: 00405a14,00405bfc
.text:00405ab4 0fbe45ff MOVSX EAX,byte ptr [EBP + local_5+0x4]
.text:00405ab8 83e820 SUB EAX,0x20
.text:00405abb 7437 JZ LAB_00405af4
.text:00405abd 83e803 SUB EAX,0x3
.text:00405ac0 742c JZ LAB_00405aee
.text:00405ac2 83e808 SUB EAX,0x8
.text:00405ac5 7421 JZ LAB_00405ae8
.text:00405ac7 48 DEC EAX
.text:00405ac8 83e801 SUB EAX,0x1
.text:00405acb 7412 JZ LAB_00405adf
.text:00405acd 83e803 SUB EAX,0x3
.text:00405ad0 0f8596000000 JNZ LAB_00405b6c
.text:00405ad6 834e1c08 OR dword ptr [ESI + 0x1c],0x8
.text:00405ada e98d000000 JMP LAB_00405b6c
LAB_00405adf: ;XREF[1,0]: 00405acb
.text:00405adf 834e1c04 OR dword ptr [ESI + 0x1c],0x4
.text:00405ae3 e984000000 JMP LAB_00405b6c
LAB_00405ae8: ;XREF[1,0]: 00405ac5
.text:00405ae8 834e1c01 OR dword ptr [ESI + 0x1c],0x1
.text:00405aec eb7e JMP LAB_00405b6c
LAB_00405aee: ;XREF[1,0]: 00405ac0
.text:00405aee 834e1c20 OR dword ptr [ESI + 0x1c],0x20
.text:00405af2 eb78 JMP LAB_00405b6c
LAB_00405af4: ;XREF[1,0]: 00405abb
.text:00405af4 834e1c02 OR dword ptr [ESI + 0x1c],0x2
.text:00405af8 eb72 JMP LAB_00405b6c
caseD_3: ;XREF[2,0]: 00405a14,00405c00
.text:00405afa 807dff2a CMP byte ptr [EBP + local_5+0x4],0x2a
.text:00405afe 740d JZ LAB_00405b0d
.text:00405b00 8d4620 LEA EAX,[ESI + 0x20]
LAB_00405b03: ;XREF[1,0]: 00405b3a
.text:00405b03 50 PUSH EAX
.text:00405b04 8bce MOV param_1,ESI
.text:00405b06 e8e1fdffff CALL FUN_004058ec ;undefined4 FUN_004058ec(void * this,...
.text:00405b0b eb57 JMP LAB_00405b64
LAB_00405b0d: ;XREF[1,0]: 00405afe
.text:00405b0d 8b4e10 MOV param_1,dword ptr [ESI + 0x10]
.text:00405b10 8d4104 LEA EAX,[param_1 + 0x4]
.text:00405b13 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00405b16 8b01 MOV EAX,dword ptr [param_1]
.text:00405b18 894620 MOV dword ptr [ESI + 0x20],EAX
.text:00405b1b 85c0 TEST EAX,EAX
.text:00405b1d 7909 JNS LAB_00405b28
.text:00405b1f 834e1c04 OR dword ptr [ESI + 0x1c],0x4
.text:00405b23 f7d8 NEG EAX
.text:00405b25 894620 MOV dword ptr [ESI + 0x20],EAX
LAB_00405b28: ;XREF[3,0]: 00405b1d,00405b4c,00405b52
.text:00405b28 b001 MOV AL,0x1
.text:00405b2a eb38 JMP LAB_00405b64
caseD_4: ;XREF[2,0]: 00405a14,00405c04
.text:00405b2c 895e24 MOV dword ptr [ESI + 0x24],EBX
.text:00405b2f eb3b JMP LAB_00405b6c
caseD_5: ;XREF[2,0]: 00405a14,00405c08
.text:00405b31 807dff2a CMP byte ptr [EBP + local_5+0x4],0x2a
.text:00405b35 7405 JZ LAB_00405b3c
.text:00405b37 8d4624 LEA EAX,[ESI + 0x24]
.text:00405b3a ebc7 JMP LAB_00405b03
LAB_00405b3c: ;XREF[1,0]: 00405b35
.text:00405b3c 8b4e10 MOV param_1,dword ptr [ESI + 0x10]
.text:00405b3f 8d4104 LEA EAX,[param_1 + 0x4]
.text:00405b42 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00405b45 8b01 MOV EAX,dword ptr [param_1]
.text:00405b47 894624 MOV dword ptr [ESI + 0x24],EAX
.text:00405b4a 85c0 TEST EAX,EAX
.text:00405b4c 79da JNS LAB_00405b28
.text:00405b4e 834e24ff OR dword ptr [ESI + 0x24],0xffffffff
.text:00405b52 ebd4 JMP LAB_00405b28
caseD_6: ;XREF[2,0]: 00405a14,00405c0c
.text:00405b54 8bce MOV param_1,ESI
.text:00405b56 e8b9000000 CALL FUN_00405c14 ;uint FUN_00405c14(__uint64 * param_1)
.text:00405b5b eb07 JMP LAB_00405b64
caseD_7: ;XREF[2,0]: 00405a14,00405c10
.text:00405b5d 8bce MOV param_1,ESI
.text:00405b5f e809020000 CALL FUN_00405d6d ;undefined FUN_00405d6d(__uint64 * pa...
LAB_00405b64: ;XREF[3,0]: 00405b0b,00405b2a,00405b5b
.text:00405b64 84c0 TEST AL,AL
.text:00405b66 0f843efeffff JZ switchD_00405a14::caseD_8
LAB_00405b6c: ;XREF[9,0]: 00405a97,00405aaf,00405ad0,00405ada
; 00405ae3,00405aec,00405af2,00405af8
; 00405b2f
.text:00405b6c 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:00405b6f 8a10 MOV DL,byte ptr [EAX]
.text:00405b71 8d4801 LEA param_1,[EAX + 0x1]
.text:00405b74 894e0c MOV dword ptr [ESI + 0xc],param_1
.text:00405b77 8d4614 LEA EAX,[ESI + 0x14]
.text:00405b7a 8855ff MOV byte ptr [EBP + local_5+0x4],DL
.text:00405b7d 88562d MOV byte ptr [ESI + 0x2d],DL
.text:00405b80 8855f0 MOV byte ptr [EBP + local_14+0x4],DL
.text:00405b83 84d2 TEST DL,DL
.text:00405b85 0f855ffeffff JNZ LAB_004059ea
LAB_00405b8b: ;XREF[2,0]: 004059de,004059ec
.text:00405b8b ff8650040000 INC dword ptr [ESI + 0x450]
.text:00405b91 83be50040... CMP dword ptr [ESI + 0x450],0x2
.text:00405b98 0f852cfeffff JNZ LAB_004059ca
LAB_00405b9e: ;XREF[1,0]: 004059c2
.text:00405b9e 8b4614 MOV EAX,dword ptr [ESI + 0x14]
.text:00405ba1 e907feffff JMP LAB_004059ad
LAB_00405ba6: ;XREF[1,0]: 00405a7c
.text:00405ba6 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00405ba9 6a16 PUSH 0x16
.text:00405bab 5f POP EDI
.text:00405bac c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00405bb0 897818 MOV dword ptr [EAX + 0x18],EDI
.text:00405bb3 ff7608 PUSH dword ptr [ESI + 0x8]
.text:00405bb6 53 PUSH EBX
.text:00405bb7 53 PUSH EBX
.text:00405bb8 53 PUSH EBX
.text:00405bb9 53 PUSH EBX
.text:00405bba 53 PUSH EBX
.text:00405bbb e8e6850000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00405bc0 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00405bc3 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00405bc7 897818 MOV dword ptr [EAX + 0x18],EDI
.text:00405bca ff7608 PUSH dword ptr [ESI + 0x8]
.text:00405bcd 53 PUSH EBX
.text:00405bce 53 PUSH EBX
.text:00405bcf 53 PUSH EBX
.text:00405bd0 53 PUSH EBX
.text:00405bd1 53 PUSH EBX
.text:00405bd2 e8cf850000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00405bd7 83c430 ADD ESP,0x30
.text:00405bda e9cbfdffff JMP switchD_00405a14::caseD_8
LAB_00405bdf: ;XREF[1,0]: 00405a06
.text:00405bdf 8b4e08 MOV param_1,dword ptr [ESI + 0x8]
.text:00405be2 c6411c01 MOV byte ptr [param_1 + 0x1c],0x1
.text:00405be6 c74118160... MOV dword ptr [param_1 + 0x18],0x16
.text:00405bed e9a8fdffff JMP LAB_0040599a
.text:00405bf2 8b align align(1)
.text:00405bf3 ff ?? FFh
switchdataD_00405bf4: ;XREF[1,0]: 00405a14
.text:00405bf4 1b5a4000 addr switchD_00405a14::caseD_0
.text:00405bf8 9c5a4000 addr switchD_00405a14::caseD_1
.text:00405bfc b45a4000 addr switchD_00405a14::caseD_2
.text:00405c00 fa5a4000 addr switchD_00405a14::caseD_3
.text:00405c04 2c5b4000 addr switchD_00405a14::caseD_4
.text:00405c08 315b4000 addr switchD_00405a14::caseD_5
.text:00405c0c 545b4000 addr switchD_00405a14::caseD_6
.text:00405c10 5d5b4000 addr switchD_00405a14::caseD_7
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00405c14(__uint64 * param_1)
;param_1 __uint64 * ECX
;XREF[1,0]: 00405b56
.text:00405c14 8a412d MOV AL,byte ptr [param_1 + 0x2d]
.text:00405c17 3c46 CMP AL,0x46
.text:00405c19 7517 JNZ LAB_00405c32
.text:00405c1b 8b01 MOV EAX,dword ptr [param_1]
.text:00405c1d 83e008 AND EAX,0x8
.text:00405c20 83c800 OR EAX,0x0
.text:00405c23 0f8541010000 JNZ LAB_00405d6a
.text:00405c29 c6411807 MOV byte ptr [param_1 + 0x18],0x7
.text:00405c2d e93b010000 JMP FUN_00405d6d ;undefined FUN_00405d6d(__uint64 * pa...
LAB_00405c32: ;XREF[1,0]: 00405c19
.text:00405c32 33d2 XOR EDX,EDX
.text:00405c34 3c4e CMP AL,0x4e
.text:00405c36 7534 JNZ LAB_00405c6c
.text:00405c38 8b01 MOV EAX,dword ptr [param_1]
.text:00405c3a 83e008 AND EAX,0x8
.text:00405c3d 0bc2 OR EAX,EDX
.text:00405c3f 0f8525010000 JNZ LAB_00405d6a
.text:00405c45 c6411808 MOV byte ptr [param_1 + 0x18],0x8
LAB_00405c49: ;XREF[1,0]: 00405c6f
.text:00405c49 8b4108 MOV EAX,dword ptr [param_1 + 0x8]
.text:00405c4c 83c018 ADD EAX,0x18
.text:00405c4f c6400401 MOV byte ptr [EAX + 0x4],0x1
.text:00405c53 c70016000000 MOV dword ptr [EAX],0x16
.text:00405c59 ff7108 PUSH dword ptr [param_1 + 0x8]
.text:00405c5c 52 PUSH EDX
.text:00405c5d 52 PUSH EDX
.text:00405c5e 52 PUSH EDX
.text:00405c5f 52 PUSH EDX
.text:00405c60 52 PUSH EDX
.text:00405c61 e840850000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00405c66 83c418 ADD ESP,0x18
.text:00405c69 32c0 XOR AL,AL
.text:00405c6b c3 RET
LAB_00405c6c: ;XREF[1,0]: 00405c36
.text:00405c6c 395128 CMP dword ptr [param_1 + 0x28],EDX
.text:00405c6f 75d8 JNZ LAB_00405c49
.text:00405c71 3c6a CMP AL,0x6a
.text:00405c73 0f8fb0000000 JG LAB_00405d29
.text:00405c79 0f84a1000000 JZ LAB_00405d20
.text:00405c7f 3c49 CMP AL,0x49
.text:00405c81 7443 JZ LAB_00405cc6
.text:00405c83 3c4c CMP AL,0x4c
.text:00405c85 7433 JZ LAB_00405cba
.text:00405c87 3c54 CMP AL,0x54
.text:00405c89 7423 JZ LAB_00405cae
.text:00405c8b 3c68 CMP AL,0x68
.text:00405c8d 0f85d7000000 JNZ LAB_00405d6a
.text:00405c93 8b410c MOV EAX,dword ptr [param_1 + 0xc]
.text:00405c96 803868 CMP byte ptr [EAX],0x68
.text:00405c99 750c JNZ LAB_00405ca7
.text:00405c9b 40 INC EAX
.text:00405c9c 89410c MOV dword ptr [param_1 + 0xc],EAX
.text:00405c9f 33c0 XOR EAX,EAX
.text:00405ca1 40 INC EAX
.text:00405ca2 e9c0000000 JMP LAB_00405d67
LAB_00405ca7: ;XREF[1,0]: 00405c99
.text:00405ca7 6a02 PUSH 0x2
.text:00405ca9 e9b8000000 JMP LAB_00405d66
LAB_00405cae: ;XREF[1,0]: 00405c89
.text:00405cae c741280d0... MOV dword ptr [param_1 + 0x28],0xd
.text:00405cb5 e9b0000000 JMP LAB_00405d6a
LAB_00405cba: ;XREF[1,0]: 00405c85
.text:00405cba c74128080... MOV dword ptr [param_1 + 0x28],0x8
.text:00405cc1 e9a4000000 JMP LAB_00405d6a
LAB_00405cc6: ;XREF[1,0]: 00405c81
.text:00405cc6 56 PUSH ESI
.text:00405cc7 8b710c MOV ESI,dword ptr [param_1 + 0xc]
.text:00405cca 8a06 MOV AL,byte ptr [ESI]
.text:00405ccc 3c33 CMP AL,0x33
.text:00405cce 7515 JNZ LAB_00405ce5
.text:00405cd0 807e0132 CMP byte ptr [ESI + 0x1],0x32
.text:00405cd4 750f JNZ LAB_00405ce5
.text:00405cd6 8d4602 LEA EAX,[ESI + 0x2]
.text:00405cd9 c741280a0... MOV dword ptr [param_1 + 0x28],0xa
.text:00405ce0 89410c MOV dword ptr [param_1 + 0xc],EAX
.text:00405ce3 eb38 JMP LAB_00405d1d
LAB_00405ce5: ;XREF[2,0]: 00405cce,00405cd4
.text:00405ce5 3c36 CMP AL,0x36
.text:00405ce7 7515 JNZ LAB_00405cfe
.text:00405ce9 807e0134 CMP byte ptr [ESI + 0x1],0x34
.text:00405ced 752e JNZ LAB_00405d1d
.text:00405cef 8d4602 LEA EAX,[ESI + 0x2]
.text:00405cf2 c741280b0... MOV dword ptr [param_1 + 0x28],0xb
.text:00405cf9 89410c MOV dword ptr [param_1 + 0xc],EAX
.text:00405cfc eb1f JMP LAB_00405d1d
LAB_00405cfe: ;XREF[1,0]: 00405ce7
.text:00405cfe 3c64 CMP AL,0x64
.text:00405d00 7414 JZ LAB_00405d16
.text:00405d02 3c69 CMP AL,0x69
.text:00405d04 7410 JZ LAB_00405d16
.text:00405d06 3c6f CMP AL,0x6f
.text:00405d08 740c JZ LAB_00405d16
.text:00405d0a 3c75 CMP AL,0x75
.text:00405d0c 7408 JZ LAB_00405d16
.text:00405d0e 3c78 CMP AL,0x78
.text:00405d10 7404 JZ LAB_00405d16
.text:00405d12 3c58 CMP AL,0x58
.text:00405d14 7507 JNZ LAB_00405d1d
LAB_00405d16: ;XREF[5,0]: 00405d00,00405d04,00405d08,00405d0c
; 00405d10
.text:00405d16 c74128090... MOV dword ptr [param_1 + 0x28],0x9
LAB_00405d1d: ;XREF[4,0]: 00405ce3,00405ced,00405cfc,00405d14
.text:00405d1d 5e POP ESI
.text:00405d1e eb4a JMP LAB_00405d6a
LAB_00405d20: ;XREF[1,0]: 00405c79
.text:00405d20 c74128050... MOV dword ptr [param_1 + 0x28],0x5
.text:00405d27 eb41 JMP LAB_00405d6a
LAB_00405d29: ;XREF[1,0]: 00405c73
.text:00405d29 3c6c CMP AL,0x6c
.text:00405d2b 7427 JZ LAB_00405d54
.text:00405d2d 3c74 CMP AL,0x74
.text:00405d2f 741a JZ LAB_00405d4b
.text:00405d31 3c77 CMP AL,0x77
.text:00405d33 740d JZ LAB_00405d42
.text:00405d35 3c7a CMP AL,0x7a
.text:00405d37 7531 JNZ LAB_00405d6a
.text:00405d39 c74128060... MOV dword ptr [param_1 + 0x28],0x6
.text:00405d40 eb28 JMP LAB_00405d6a
LAB_00405d42: ;XREF[1,0]: 00405d33
.text:00405d42 c741280c0... MOV dword ptr [param_1 + 0x28],0xc
.text:00405d49 eb1f JMP LAB_00405d6a
LAB_00405d4b: ;XREF[1,0]: 00405d2f
.text:00405d4b c74128070... MOV dword ptr [param_1 + 0x28],0x7
.text:00405d52 eb16 JMP LAB_00405d6a
LAB_00405d54: ;XREF[1,0]: 00405d2b
.text:00405d54 8b410c MOV EAX,dword ptr [param_1 + 0xc]
.text:00405d57 80386c CMP byte ptr [EAX],0x6c
.text:00405d5a 7508 JNZ LAB_00405d64
.text:00405d5c 40 INC EAX
.text:00405d5d 89410c MOV dword ptr [param_1 + 0xc],EAX
.text:00405d60 6a04 PUSH 0x4
.text:00405d62 eb02 JMP LAB_00405d66
LAB_00405d64: ;XREF[1,0]: 00405d5a
.text:00405d64 6a03 PUSH 0x3
LAB_00405d66: ;XREF[2,0]: 00405ca9,00405d62
.text:00405d66 58 POP EAX
LAB_00405d67: ;XREF[1,0]: 00405ca2
.text:00405d67 894128 MOV dword ptr [param_1 + 0x28],EAX
LAB_00405d6a: ;XREF[11,0]: 00405c23,00405c3f,00405c8d,00405cb5
; 00405cc1,00405d1e,00405d27,00405d37
; 00405d40,00405d49,00405d52
.text:00405d6a b001 MOV AL,0x1
.text:00405d6c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00405d6d(__uint64 * param_1)
;param_1 __uint64 * ECX
;local_8 undefined4 -8 ;XREF[2,0]: 00405d7c,004060a1
;local_e undefined1 -e ;XREF[2,0]: 00405e86,00405f07
;local_10 undefined2 -10 ;XREF[7,1]: 00405e7d,00405e9b,00405ea5,00405eb8,00405f7d
; 00405ffb,0040601d,00405ef1
;local_14 undefined4 -14 ;XREF[9,0]: 00405e8b,00405eab,00405ebe,00405f0e,00405f74
; 00405ffe,00406002,00406015,00406021
;local_18 undefined4 -18 ;XREF[9,0]: 00405f27,00405f53,00405f5a,00405fa5,00405fcb
; 00405fd2,00405fec,00406030,00406037
;local_1c undefined4 -1c ;XREF[8,0]: 00405f24,00405f56,00405fa2,00405fd5,00406005
; 00406033,0040606f,00406091
;local_20 undefined4 -20 ;XREF[5,0]: 00405f19,00405f2e,00405fa8,00405fcf,0040606c
;local_24 undefined4 -24 ;XREF[2,0]: 00405f80,00406076
;XREF[2,0]: 00405b5f,00405c2d
.text:00405d6d 8bff MOV EDI,EDI
.text:00405d6f 55 PUSH EBP
.text:00405d70 8bec MOV EBP,ESP
.text:00405d72 83ec20 SUB ESP,0x20
.text:00405d75 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00405d7a 33c5 XOR EAX,EBP
.text:00405d7c 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00405d7f 53 PUSH EBX
.text:00405d80 56 PUSH ESI
.text:00405d81 8bf1 MOV ESI,param_1
.text:00405d83 33db XOR EBX,EBX
.text:00405d85 6a02 PUSH 0x2
.text:00405d87 59 POP param_1
.text:00405d88 0fbe462d MOVSX EAX,byte ptr [ESI + 0x2d]
.text:00405d8c 83f864 CMP EAX,0x64
.text:00405d8f 7f6c JG LAB_00405dfd
.text:00405d91 0f848e000000 JZ LAB_00405e25
.text:00405d97 83f853 CMP EAX,0x53
.text:00405d9a 7f2d JG LAB_00405dc9
.text:00405d9c 0f84b0000000 JZ LAB_00405e52
.text:00405da2 83e841 SUB EAX,0x41
.text:00405da5 7416 JZ LAB_00405dbd
.text:00405da7 2bc1 SUB EAX,param_1
.text:00405da9 7434 JZ LAB_00405ddf
.text:00405dab 2bc1 SUB EAX,param_1
.text:00405dad 740e JZ LAB_00405dbd
.text:00405daf 83e801 SUB EAX,0x1
.text:00405db2 7409 JZ LAB_00405dbd
.text:00405db4 83e801 SUB EAX,0x1
.text:00405db7 0f85a9000000 JNZ LAB_00405e66
LAB_00405dbd: ;XREF[7,0]: 00405da5,00405dad,00405db2,00405dd5
; 00405e07,00405e0c,00405e11
.text:00405dbd 8bce MOV param_1,ESI
.text:00405dbf e8a2030000 CALL FUN_00406166 ;undefined4 FUN_00406166(uint * param_1)
.text:00405dc4 e999000000 JMP LAB_00405e62
LAB_00405dc9: ;XREF[1,0]: 00405d9a
.text:00405dc9 83e858 SUB EAX,0x58
.text:00405dcc 7424 JZ LAB_00405df2
.text:00405dce 2bc1 SUB EAX,param_1
.text:00405dd0 7417 JZ LAB_00405de9
.text:00405dd2 83e807 SUB EAX,0x7
.text:00405dd5 74e6 JZ LAB_00405dbd
.text:00405dd7 2bc1 SUB EAX,param_1
.text:00405dd9 0f8587000000 JNZ LAB_00405e66
LAB_00405ddf: ;XREF[1,0]: 00405da9
.text:00405ddf 53 PUSH EBX
.text:00405de0 8bce MOV param_1,ESI
.text:00405de2 e810050000 CALL FUN_004062f7 ;undefined4 FUN_004062f7(undefined6 *...
.text:00405de7 eb79 JMP LAB_00405e62
LAB_00405de9: ;XREF[1,0]: 00405dd0
.text:00405de9 8bce MOV param_1,ESI
.text:00405deb e813030000 CALL FUN_00406103 ;undefined4 FUN_00406103(__uint64 * p...
.text:00405df0 eb70 JMP LAB_00405e62
LAB_00405df2: ;XREF[1,0]: 00405dcc
.text:00405df2 6a01 PUSH 0x1
LAB_00405df4: ;XREF[1,0]: 00405e50
.text:00405df4 8bce MOV param_1,ESI
.text:00405df6 e8cdf2ffff CALL FUN_004050c8 ;uint FUN_004050c8(void * this, byte ...
.text:00405dfb eb65 JMP LAB_00405e62
LAB_00405dfd: ;XREF[1,0]: 00405d8f
.text:00405dfd 83f86f CMP EAX,0x6f
.text:00405e00 7f3a JG LAB_00405e3c
.text:00405e02 742f JZ LAB_00405e33
.text:00405e04 83e865 SUB EAX,0x65
.text:00405e07 74b4 JZ LAB_00405dbd
.text:00405e09 83e801 SUB EAX,0x1
.text:00405e0c 74af JZ LAB_00405dbd
.text:00405e0e 83e801 SUB EAX,0x1
.text:00405e11 74aa JZ LAB_00405dbd
.text:00405e13 2bc1 SUB EAX,param_1
.text:00405e15 740e JZ LAB_00405e25
.text:00405e17 83e805 SUB EAX,0x5
.text:00405e1a 754a JNZ LAB_00405e66
.text:00405e1c 8bce MOV param_1,ESI
.text:00405e1e e869050000 CALL FUN_0040638c ;uint FUN_0040638c(int param_1)
.text:00405e23 eb3d JMP LAB_00405e62
LAB_00405e25: ;XREF[2,0]: 00405d91,00405e15
.text:00405e25 834e1c10 OR dword ptr [ESI + 0x1c],0x10
LAB_00405e29: ;XREF[1,0]: 00405e48
.text:00405e29 53 PUSH EBX
.text:00405e2a 8bce MOV param_1,ESI
.text:00405e2c e80af1ffff CALL FUN_00404f3b ;uint FUN_00404f3b(void * this, byte ...
.text:00405e31 eb2f JMP LAB_00405e62
LAB_00405e33: ;XREF[1,0]: 00405e02
.text:00405e33 8bce MOV param_1,ESI
.text:00405e35 e8d7050000 CALL FUN_00406411 ;undefined FUN_00406411(void * param_1)
.text:00405e3a eb26 JMP LAB_00405e62
LAB_00405e3c: ;XREF[1,0]: 00405e00
.text:00405e3c 83e870 SUB EAX,0x70
.text:00405e3f 741a JZ LAB_00405e5b
.text:00405e41 83e803 SUB EAX,0x3
.text:00405e44 740c JZ LAB_00405e52
.text:00405e46 2bc1 SUB EAX,param_1
.text:00405e48 74df JZ LAB_00405e29
.text:00405e4a 83e803 SUB EAX,0x3
.text:00405e4d 7517 JNZ LAB_00405e66
.text:00405e4f 53 PUSH EBX
.text:00405e50 eba2 JMP LAB_00405df4
LAB_00405e52: ;XREF[2,0]: 00405d9c,00405e44
.text:00405e52 8bce MOV param_1,ESI
.text:00405e54 e8eb050000 CALL FUN_00406444 ;undefined4 FUN_00406444(__uint64 * p...
.text:00405e59 eb07 JMP LAB_00405e62
LAB_00405e5b: ;XREF[1,0]: 00405e3f
.text:00405e5b 8bce MOV param_1,ESI
.text:00405e5d e8cc050000 CALL FUN_0040642e ;undefined FUN_0040642e(void * param_1)
LAB_00405e62: ;XREF[8,0]: 00405dc4,00405de7,00405df0,00405dfb
; 00405e23,00405e31,00405e3a,00405e59
.text:00405e62 84c0 TEST AL,AL
.text:00405e64 7507 JNZ LAB_00405e6d
LAB_00405e66: ;XREF[4,0]: 00405db7,00405dd9,00405e1a,00405e4d
.text:00405e66 32c0 XOR AL,AL
.text:00405e68 e934020000 JMP LAB_004060a1
LAB_00405e6d: ;XREF[1,0]: 00405e64
.text:00405e6d 385e2c CMP byte ptr [ESI + 0x2c],BL
.text:00405e70 0f8529020000 JNZ LAB_0040609f
.text:00405e76 8b561c MOV EDX,dword ptr [ESI + 0x1c]
.text:00405e79 33c9 XOR param_1,param_1
.text:00405e7b 8bc2 MOV EAX,EDX
.text:00405e7d 66895df4 MOV word ptr [EBP + local_10+0x4],BX
.text:00405e81 57 PUSH EDI
.text:00405e82 c1e804 SHR EAX,0x4
.text:00405e85 41 INC param_1
.text:00405e86 885df6 MOV byte ptr [EBP + local_e+0x4],BL
.text:00405e89 8bfb MOV EDI,EBX
.text:00405e8b 897df0 MOV dword ptr [EBP + local_14+0x4],EDI
.text:00405e8e 84c1 TEST param_1,AL
.text:00405e90 742f JZ LAB_00405ec1
.text:00405e92 8bc2 MOV EAX,EDX
.text:00405e94 c1e806 SHR EAX,0x6
.text:00405e97 84c1 TEST param_1,AL
.text:00405e99 7406 JZ LAB_00405ea1
.text:00405e9b c645f42d MOV byte ptr [EBP + local_10+0x4],0x2d
.text:00405e9f eb08 JMP LAB_00405ea9
LAB_00405ea1: ;XREF[1,0]: 00405e99
.text:00405ea1 84d1 TEST param_1,DL
.text:00405ea3 740b JZ LAB_00405eb0
.text:00405ea5 c645f42b MOV byte ptr [EBP + local_10+0x4],0x2b
LAB_00405ea9: ;XREF[1,0]: 00405e9f
.text:00405ea9 8bf9 MOV EDI,param_1
.text:00405eab 897df0 MOV dword ptr [EBP + local_14+0x4],EDI
.text:00405eae eb11 JMP LAB_00405ec1
LAB_00405eb0: ;XREF[1,0]: 00405ea3
.text:00405eb0 8bc2 MOV EAX,EDX
.text:00405eb2 d1e8 SHR EAX,0x1
.text:00405eb4 84c1 TEST param_1,AL
.text:00405eb6 7409 JZ LAB_00405ec1
.text:00405eb8 c645f420 MOV byte ptr [EBP + local_10+0x4],0x20
.text:00405ebc 8bf9 MOV EDI,param_1
.text:00405ebe 894df0 MOV dword ptr [EBP + local_14+0x4],param_1
LAB_00405ec1: ;XREF[3,0]: 00405e90,00405eae,00405eb6
.text:00405ec1 8a4e2d MOV param_1,byte ptr [ESI + 0x2d]
.text:00405ec4 80f978 CMP param_1,0x78
.text:00405ec7 7405 JZ LAB_00405ece
.text:00405ec9 80f958 CMP param_1,0x58
.text:00405ecc 750b JNZ LAB_00405ed9
LAB_00405ece: ;XREF[1,0]: 00405ec7
.text:00405ece 8bc2 MOV EAX,EDX
.text:00405ed0 c1e805 SHR EAX,0x5
.text:00405ed3 b401 MOV AH,0x1
.text:00405ed5 a801 TEST AL,0x1
.text:00405ed7 7502 JNZ LAB_00405edb
LAB_00405ed9: ;XREF[1,0]: 00405ecc
.text:00405ed9 8ae3 MOV AH,BL
LAB_00405edb: ;XREF[1,0]: 00405ed7
.text:00405edb 80f961 CMP param_1,0x61
.text:00405ede 7407 JZ LAB_00405ee7
.text:00405ee0 8ac3 MOV AL,BL
.text:00405ee2 80f941 CMP param_1,0x41
.text:00405ee5 7502 JNZ LAB_00405ee9
LAB_00405ee7: ;XREF[1,0]: 00405ede
.text:00405ee7 b001 MOV AL,0x1
LAB_00405ee9: ;XREF[1,0]: 00405ee5
.text:00405ee9 84e4 TEST AH,AH
.text:00405eeb 7504 JNZ LAB_00405ef1
.text:00405eed 84c0 TEST AL,AL
.text:00405eef 7420 JZ LAB_00405f11
LAB_00405ef1: ;XREF[1,0]: 00405eeb
.text:00405ef1 c6443df430 MOV byte ptr [EBP + ...,0x30
.text:00405ef6 80f958 CMP param_1,0x58
.text:00405ef9 7409 JZ LAB_00405f04
.text:00405efb 80f941 CMP param_1,0x41
.text:00405efe 7404 JZ LAB_00405f04
.text:00405f00 b078 MOV AL,0x78
.text:00405f02 eb03 JMP LAB_00405f07
LAB_00405f04: ;XREF[2,0]: 00405ef9,00405efe
.text:00405f04 6a58 PUSH 0x58
.text:00405f06 58 POP EAX
LAB_00405f07: ;XREF[1,0]: 00405f02
.text:00405f07 88443df5 MOV byte ptr [EBP + ...,AL
.text:00405f0b 83c702 ADD EDI,0x2
.text:00405f0e 897df0 MOV dword ptr [EBP + local_14+0x4],EDI
LAB_00405f11: ;XREF[1,0]: 00405eef
.text:00405f11 8b4620 MOV EAX,dword ptr [ESI + 0x20]
.text:00405f14 2bc7 SUB EAX,EDI
.text:00405f16 2b4634 SUB EAX,dword ptr [ESI + 0x34]
.text:00405f19 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:00405f1c f6c20c TEST DL,0xc
.text:00405f1f 754c JNZ LAB_00405f6d
.text:00405f21 8b4e08 MOV param_1,dword ptr [ESI + 0x8]
.text:00405f24 894de8 MOV dword ptr [EBP + local_1c+0x4],param_1
.text:00405f27 895dec MOV dword ptr [EBP + local_18+0x4],EBX
.text:00405f2a 85c0 TEST EAX,EAX
.text:00405f2c 7e3f JLE LAB_00405f6d
.text:00405f2e 8b7de4 MOV EDI,dword ptr [EBP + local_20+0x4]
.text:00405f31 8d8648040000 LEA EAX,[ESI + 0x448]
LAB_00405f37: ;XREF[1,0]: 00405f65
.text:00405f37 51 PUSH param_1
.text:00405f38 6a20 PUSH 0x20
.text:00405f3a 8bc8 MOV param_1,EAX
.text:00405f3c e8f6060000 CALL FUN_00406637 ;bool FUN_00406637(void * this, byte ...
.text:00405f41 84c0 TEST AL,AL
.text:00405f43 7424 JZ LAB_00405f69
.text:00405f45 8b4e14 MOV param_1,dword ptr [ESI + 0x14]
.text:00405f48 8d4101 LEA EAX,[param_1 + 0x1]
.text:00405f4b 894614 MOV dword ptr [ESI + 0x14],EAX
.text:00405f4e 83f9fe CMP param_1,-0x2
.text:00405f51 741a JZ LAB_00405f6d
.text:00405f53 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
.text:00405f56 8b4de8 MOV param_1,dword ptr [EBP + local_1c+0x4]
.text:00405f59 40 INC EAX
.text:00405f5a 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00405f5d 3bc7 CMP EAX,EDI
.text:00405f5f 8d8648040000 LEA EAX,[ESI + 0x448]
.text:00405f65 7cd0 JL LAB_00405f37
.text:00405f67 eb04 JMP LAB_00405f6d
LAB_00405f69: ;XREF[1,0]: 00405f43
.text:00405f69 834e14ff OR dword ptr [ESI + 0x14],0xffffffff
LAB_00405f6d: ;XREF[4,0]: 00405f1f,00405f2c,00405f51,00405f67
.text:00405f6d ff7608 PUSH dword ptr [ESI + 0x8]
.text:00405f70 8d7e14 LEA EDI,[ESI + 0x14]
.text:00405f73 57 PUSH EDI
.text:00405f74 ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:00405f77 8d8648040000 LEA EAX,[ESI + 0x448]
.text:00405f7d 8d4df4 LEA param_1=>local_10,[EBP + -0xc]
.text:00405f80 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:00405f83 51 PUSH param_1
.text:00405f84 8bc8 MOV param_1,EAX
.text:00405f86 e8e6060000 CALL FUN_00406671 ;undefined FUN_00406671(void * this, ...
.text:00405f8b 8b4e1c MOV param_1,dword ptr [ESI + 0x1c]
.text:00405f8e 8bc1 MOV EAX,param_1
.text:00405f90 c1e803 SHR EAX,0x3
.text:00405f93 a801 TEST AL,0x1
.text:00405f95 7448 JZ LAB_00405fdf
.text:00405f97 c1e902 SHR param_1,0x2
.text:00405f9a f6c101 TEST param_1,0x1
.text:00405f9d 7540 JNZ LAB_00405fdf
.text:00405f9f 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00405fa2 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:00405fa5 895dec MOV dword ptr [EBP + local_18+0x4],EBX
.text:00405fa8 395de4 CMP dword ptr [EBP + local_20+0x4],EBX
.text:00405fab 7e32 JLE LAB_00405fdf
LAB_00405fad: ;XREF[1,0]: 00405fd8
.text:00405fad 50 PUSH EAX
.text:00405fae 6a30 PUSH 0x30
.text:00405fb0 8d8e48040000 LEA param_1,[ESI + 0x448]
.text:00405fb6 e87c060000 CALL FUN_00406637 ;bool FUN_00406637(void * this, byte ...
.text:00405fbb 84c0 TEST AL,AL
.text:00405fbd 741d JZ LAB_00405fdc
.text:00405fbf 8b0f MOV param_1,dword ptr [EDI]
.text:00405fc1 8d4101 LEA EAX,[param_1 + 0x1]
.text:00405fc4 8907 MOV dword ptr [EDI],EAX
.text:00405fc6 83f9fe CMP param_1,-0x2
.text:00405fc9 7414 JZ LAB_00405fdf
.text:00405fcb 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
.text:00405fce 40 INC EAX
.text:00405fcf 3b45e4 CMP EAX,dword ptr [EBP + local_20+0x4]
.text:00405fd2 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00405fd5 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
.text:00405fd8 7cd3 JL LAB_00405fad
.text:00405fda eb03 JMP LAB_00405fdf
LAB_00405fdc: ;XREF[1,0]: 00405fbd
.text:00405fdc 830fff OR dword ptr [EDI],0xffffffff
LAB_00405fdf: ;XREF[5,0]: 00405f95,00405f9d,00405fab,00405fc9
; 00405fda
.text:00405fdf 385e38 CMP byte ptr [ESI + 0x38],BL
.text:00405fe2 7462 JZ LAB_00406046
.text:00405fe4 395e34 CMP dword ptr [ESI + 0x34],EBX
.text:00405fe7 7e5d JLE LAB_00406046
.text:00405fe9 8b4e30 MOV param_1,dword ptr [ESI + 0x30]
.text:00405fec 895dec MOV dword ptr [EBP + local_18+0x4],EBX
LAB_00405fef: ;XREF[1,0]: 0040603d
.text:00405fef ff7608 PUSH dword ptr [ESI + 0x8]
.text:00405ff2 0fb701 MOVZX EAX,word ptr [param_1]
.text:00405ff5 83c102 ADD param_1,0x2
.text:00405ff8 50 PUSH EAX
.text:00405ff9 6a06 PUSH 0x6
.text:00405ffb 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00405ffe 895df0 MOV dword ptr [EBP + local_14+0x4],EBX
.text:00406001 50 PUSH EAX
.text:00406002 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:00406005 894de8 MOV dword ptr [EBP + local_1c+0x4],param_1
.text:00406008 50 PUSH EAX
.text:00406009 e8f89c0000 CALL FUN_0040fd06 ;__acrt_ptd * FUN_0040fd06(int * para...
.text:0040600e 83c414 ADD ESP,0x14
.text:00406011 85c0 TEST EAX,EAX
.text:00406013 752c JNZ LAB_00406041
.text:00406015 395df0 CMP dword ptr [EBP + local_14+0x4],EBX
.text:00406018 7427 JZ LAB_00406041
.text:0040601a ff7608 PUSH dword ptr [ESI + 0x8]
.text:0040601d 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00406020 57 PUSH EDI
.text:00406021 ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:00406024 8d8e48040000 LEA param_1,[ESI + 0x448]
.text:0040602a 50 PUSH EAX
.text:0040602b e841060000 CALL FUN_00406671 ;undefined FUN_00406671(void * this, ...
.text:00406030 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
.text:00406033 8b4de8 MOV param_1,dword ptr [EBP + local_1c+0x4]
.text:00406036 40 INC EAX
.text:00406037 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0040603a 3b4634 CMP EAX,dword ptr [ESI + 0x34]
.text:0040603d 75b0 JNZ LAB_00405fef
.text:0040603f eb1a JMP LAB_0040605b
LAB_00406041: ;XREF[2,0]: 00406013,00406018
.text:00406041 830fff OR dword ptr [EDI],0xffffffff
.text:00406044 eb15 JMP LAB_0040605b
LAB_00406046: ;XREF[2,0]: 00405fe2,00405fe7
.text:00406046 ff7608 PUSH dword ptr [ESI + 0x8]
.text:00406049 8d8e48040000 LEA param_1,[ESI + 0x448]
.text:0040604f 57 PUSH EDI
.text:00406050 ff7634 PUSH dword ptr [ESI + 0x34]
.text:00406053 ff7630 PUSH dword ptr [ESI + 0x30]
.text:00406056 e816060000 CALL FUN_00406671 ;undefined FUN_00406671(void * this, ...
LAB_0040605b: ;XREF[2,0]: 0040603f,00406044
.text:0040605b 391f CMP dword ptr [EDI],EBX
.text:0040605d 7c3f JL LAB_0040609e
.text:0040605f 8b461c MOV EAX,dword ptr [ESI + 0x1c]
.text:00406062 c1e802 SHR EAX,0x2
.text:00406065 a801 TEST AL,0x1
.text:00406067 7435 JZ LAB_0040609e
.text:00406069 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:0040606c 8b75e4 MOV ESI,dword ptr [EBP + local_20+0x4]
.text:0040606f 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:00406072 85f6 TEST ESI,ESI
.text:00406074 7e28 JLE LAB_0040609e
LAB_00406076: ;XREF[1,0]: 00406097
.text:00406076 8b4de0 MOV param_1,dword ptr [EBP + local_24+0x4]
.text:00406079 50 PUSH EAX
.text:0040607a 6a20 PUSH 0x20
.text:0040607c e8b6050000 CALL FUN_00406637 ;bool FUN_00406637(void * this, byte ...
.text:00406081 84c0 TEST AL,AL
.text:00406083 7416 JZ LAB_0040609b
.text:00406085 8b0f MOV param_1,dword ptr [EDI]
.text:00406087 8d4101 LEA EAX,[param_1 + 0x1]
.text:0040608a 8907 MOV dword ptr [EDI],EAX
.text:0040608c 83f9fe CMP param_1,-0x2
.text:0040608f 740d JZ LAB_0040609e
.text:00406091 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
.text:00406094 43 INC EBX
.text:00406095 3bde CMP EBX,ESI
.text:00406097 7cdd JL LAB_00406076
.text:00406099 eb03 JMP LAB_0040609e
LAB_0040609b: ;XREF[1,0]: 00406083
.text:0040609b 830fff OR dword ptr [EDI],0xffffffff
LAB_0040609e: ;XREF[5,0]: 0040605d,00406067,00406074,0040608f
; 00406099
.text:0040609e 5f POP EDI
LAB_0040609f: ;XREF[1,0]: 00405e70
.text:0040609f b001 MOV AL,0x1
LAB_004060a1: ;XREF[1,0]: 00405e68
.text:004060a1 8b4dfc MOV param_1,dword ptr [EBP + local_8+0x4]
.text:004060a4 5e POP ESI
.text:004060a5 33cd XOR param_1,EBP
.text:004060a7 5b POP EBX
.text:004060a8 e878c0ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:004060ad c9 LEAVE
.text:004060ae c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* unsigned int __cdecl __crt_stdio_output::to_integer_size(enum __crt_stdio_output::length_mod...*
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;uint to_integer_size(length_modifier param_1)
;param_1 length_modi... 4 ;XREF[1,0]: 004060b4
;XREF[4,0]: 00404dbe,00404f4b,004050d8,004063cd
.text:004060af 8bff MOV EDI,EDI
.text:004060b1 55 PUSH EBP
.text:004060b2 8bec MOV EBP,ESP
.text:004060b4 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004060b7 83f80b CMP EAX,0xb
.text:004060ba 7720 JA switchD_004060c3::caseD_8
.text:004060bc 0fb680f76... MOVZX EAX,byte ptr [EAX + switchD_004060c3:...
switchD: ; FWD[6,0]: 004060ca,004060cf,004060d4,004060d8
; 004060dc,004060e3
.text:004060c3 ff2485e36... JMP dword ptr [EAX*0x4 + switchD_004060c3...;= 004060d4
caseD_1: ;XREF[2,0]: 004060c3,004060e7
.text:004060ca 33c0 XOR EAX,EAX
.text:004060cc 40 INC EAX
.text:004060cd 5d POP EBP
.text:004060ce c3 RET
caseD_2: ;XREF[2,0]: 004060c3,004060eb
.text:004060cf 6a02 PUSH 0x2
LAB_004060d1: ;XREF[2,0]: 004060d6,004060da
.text:004060d1 58 POP EAX
.text:004060d2 5d POP EBP
.text:004060d3 c3 RET
caseD_3: ;XREF[2,0]: 004060c3,004060e3
caseD_6:
caseD_7:
caseD_9:
caseD_a:
caseD_0:
.text:004060d4 6a04 PUSH 0x4
.text:004060d6 ebf9 JMP LAB_004060d1
caseD_5: ;XREF[2,0]: 004060c3,004060ef
caseD_b:
caseD_4:
.text:004060d8 6a08 PUSH 0x8
.text:004060da ebf5 JMP LAB_004060d1
caseD_8: ;XREF[3,0]: 004060ba,004060c3,004060f3
.text:004060dc 33c0 XOR EAX,EAX
.text:004060de 5d POP EBP
.text:004060df c3 RET
.text:004060e0 8d align align(1)
.text:004060e1 49 ?? 49h I
.text:004060e2 00 ?? 00h
switchdataD_004060e3: ;XREF[1,0]: 004060c3
.text:004060e3 d4604000 addr switchD_004060c3::caseD_0
.text:004060e7 ca604000 addr switchD_004060c3::caseD_1
.text:004060eb cf604000 addr switchD_004060c3::caseD_2
.text:004060ef d8604000 addr switchD_004060c3::caseD_4
.text:004060f3 dc604000 addr switchD_004060c3::caseD_8
switchdataD_004060f7: ;XREF[1,0]: 004060bc
.text:004060f7 00 db 0h
.text:004060f8 01 db 1h
.text:004060f9 02 db 2h
.text:004060fa 00 db 0h
.text:004060fb 03 db 3h
.text:004060fc 03 db 3h
.text:004060fd 00 db 0h
.text:004060fe 00 db 0h
.text:004060ff 04 db 4h
.text:00406100 00 db 0h
.text:00406101 00 db 0h
.text:00406102 03 db 3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00406103(__uint64 * param_1)
;param_1 __uint64 * ECX
;XREF[1,0]: 00405deb
.text:00406103 8bff MOV EDI,EDI
.text:00406105 53 PUSH EBX
.text:00406106 56 PUSH ESI
.text:00406107 8bf1 MOV ESI,param_1
.text:00406109 57 PUSH EDI
.text:0040610a 8b5610 MOV EDX,dword ptr [ESI + 0x10]
.text:0040610d 8d4204 LEA EAX,[EDX + 0x4]
.text:00406110 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00406113 8b3a MOV EDI,dword ptr [EDX]
.text:00406115 85ff TEST EDI,EDI
.text:00406117 7433 JZ LAB_0040614c
.text:00406119 8b5f04 MOV EBX,dword ptr [EDI + 0x4]
.text:0040611c 85db TEST EBX,EBX
.text:0040611e 742c JZ LAB_0040614c
.text:00406120 ff7628 PUSH dword ptr [ESI + 0x28]
.text:00406123 0fb6462d MOVZX EAX,byte ptr [ESI + 0x2d]
.text:00406127 50 PUSH EAX
.text:00406128 ff7604 PUSH dword ptr [ESI + 0x4]
.text:0040612b ff36 PUSH dword ptr [ESI]
.text:0040612d e803eaffff CALL __crt_stdio_output::is_wide_character...;bool is_wide_character_specifier .text:00406132 83c410 ADD ESP,0x10
.text:00406135 895e30 MOV dword ptr [ESI + 0x30],EBX
.text:00406138 0fb70f MOVZX param_1,word ptr [EDI]
.text:0040613b 84c0 TEST AL,AL
.text:0040613d 8bc1 MOV EAX,param_1
.text:0040613f 6a34 PUSH 0x34
.text:00406141 59 POP param_1
.text:00406142 7415 JZ LAB_00406159
.text:00406144 c6463801 MOV byte ptr [ESI + 0x38],0x1
.text:00406148 d1e8 SHR EAX,0x1
.text:0040614a eb11 JMP LAB_0040615d
LAB_0040614c: ;XREF[2,0]: 00406117,0040611e
.text:0040614c 6a06 PUSH 0x6
.text:0040614e 58 POP EAX
.text:0040614f 6a34 PUSH 0x34
.text:00406151 c74630c0b... MOV dword ptr [ESI +...,.rdata:s_(null)_0...;= "(null)"
.text:00406158 59 POP param_1
LAB_00406159: ;XREF[1,0]: 00406142
.text:00406159 c6463800 MOV byte ptr [ESI + 0x38],0x0
LAB_0040615d: ;XREF[1,0]: 0040614a
.text:0040615d 5f POP EDI
.text:0040615e 89040e MOV dword ptr [ESI + param_1*0x1],EAX
.text:00406161 b001 MOV AL,0x1
.text:00406163 5e POP ESI
.text:00406164 5b POP EBX
.text:00406165 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00406166(uint * param_1)
;param_1 uint * ECX
;local_8 undefined4 -8 ;XREF[2,0]: 00406209,00406241
;local_c undefined4 -c ;XREF[2,0]: 00406213,00406244
;local_10 undefined4 -10 ;XREF[2,0]: 0040621d,00406247
;local_14 undefined4 -14 ;XREF[2,0]: 004061e8,00406204
;local_18 undefined4 -18 ;XREF[3,0]: 004061e4,004061fd,00406236
;XREF[1,0]: 00405dbf
.text:00406166 8bff MOV EDI,EDI
.text:00406168 55 PUSH EBP
.text:00406169 8bec MOV EBP,ESP
.text:0040616b 83ec14 SUB ESP,0x14
.text:0040616e 33d2 XOR EDX,EDX
.text:00406170 42 INC EDX
.text:00406171 56 PUSH ESI
.text:00406172 8bf1 MOV ESI,param_1
.text:00406174 57 PUSH EDI
.text:00406175 834e1c10 OR dword ptr [ESI + 0x1c],0x10
.text:00406179 8b4624 MOV EAX,dword ptr [ESI + 0x24]
.text:0040617c 85c0 TEST EAX,EAX
.text:0040617e 7917 JNS LAB_00406197
.text:00406180 8a462d MOV AL,byte ptr [ESI + 0x2d]
.text:00406183 3c61 CMP AL,0x61
.text:00406185 7408 JZ LAB_0040618f
.text:00406187 3c41 CMP AL,0x41
.text:00406189 7404 JZ LAB_0040618f
.text:0040618b 6a06 PUSH 0x6
.text:0040618d eb02 JMP LAB_00406191
LAB_0040618f: ;XREF[2,0]: 00406185,00406189
.text:0040618f 6a0d PUSH 0xd
LAB_00406191: ;XREF[1,0]: 0040618d
.text:00406191 58 POP EAX
.text:00406192 894624 MOV dword ptr [ESI + 0x24],EAX
.text:00406195 eb14 JMP LAB_004061ab
LAB_00406197: ;XREF[1,0]: 0040617e
.text:00406197 7512 JNZ LAB_004061ab
.text:00406199 8a4e2d MOV param_1,byte ptr [ESI + 0x2d]
.text:0040619c 80f967 CMP param_1,0x67
.text:0040619f 7405 JZ LAB_004061a6
.text:004061a1 80f947 CMP param_1,0x47
.text:004061a4 7505 JNZ LAB_004061ab
LAB_004061a6: ;XREF[1,0]: 0040619f
.text:004061a6 895624 MOV dword ptr [ESI + 0x24],EDX
.text:004061a9 8bc2 MOV EAX,EDX
LAB_004061ab: ;XREF[3,0]: 00406195,00406197,004061a4
.text:004061ab 53 PUSH EBX
.text:004061ac ff7608 PUSH dword ptr [ESI + 0x8]
.text:004061af 055d010000 ADD EAX,0x15d
.text:004061b4 8d7e3c LEA EDI,[ESI + 0x3c]
.text:004061b7 50 PUSH EAX
.text:004061b8 8bcf MOV param_1,EDI
.text:004061ba e8c1e8ffff CALL FUN_00404a80 ;undefined4 FUN_00404a80(void * this,...
.text:004061bf 84c0 TEST AL,AL
.text:004061c1 7512 JNZ LAB_004061d5
.text:004061c3 8bcf MOV param_1,EDI
.text:004061c5 e89ee8ffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:004061ca 8d98a3feffff LEA EBX,[EAX + 0xfffffea3]
.text:004061d0 895e24 MOV dword ptr [ESI + 0x24],EBX
.text:004061d3 eb03 JMP LAB_004061d8
LAB_004061d5: ;XREF[1,0]: 004061c1
.text:004061d5 8b5e24 MOV EBX,dword ptr [ESI + 0x24]
LAB_004061d8: ;XREF[1,0]: 004061d3
.text:004061d8 8b8704040000 MOV EAX,dword ptr [EDI + 0x404]
.text:004061de 85c0 TEST EAX,EAX
.text:004061e0 7502 JNZ LAB_004061e4
.text:004061e2 8bc7 MOV EAX,EDI
LAB_004061e4: ;XREF[1,0]: 004061e0
.text:004061e4 8365ec00 AND dword ptr [EBP + local_18+0x4],0x0
.text:004061e8 8365f000 AND dword ptr [EBP + local_14+0x4],0x0
.text:004061ec 894630 MOV dword ptr [ESI + 0x30],EAX
.text:004061ef 8b4e10 MOV param_1,dword ptr [ESI + 0x10]
.text:004061f2 8d4108 LEA EAX,[param_1 + 0x8]
.text:004061f5 894610 MOV dword ptr [ESI + 0x10],EAX
.text:004061f8 8b01 MOV EAX,dword ptr [param_1]
.text:004061fa 8b4904 MOV param_1,dword ptr [param_1 + 0x4]
.text:004061fd 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00406200 0fbe462d MOVSX EAX,byte ptr [ESI + 0x2d]
.text:00406204 894df0 MOV dword ptr [EBP + local_14+0x4],param_1
.text:00406207 8bcf MOV param_1,EDI
.text:00406209 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040620c e857e8ffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:00406211 8bcf MOV param_1,EDI
.text:00406213 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00406216 e875ebffff CALL __crt_stdio_output::formatting_buffer...;char * scratch_data(formatting...
.text:0040621b 8bcf MOV param_1,EDI
.text:0040621d 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00406220 e843e8ffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:00406225 8bc8 MOV param_1,EAX
.text:00406227 8b8704040000 MOV EAX,dword ptr [EDI + 0x404]
.text:0040622d 85c0 TEST EAX,EAX
.text:0040622f 7402 JZ LAB_00406233
.text:00406231 8bf8 MOV EDI,EAX
LAB_00406233: ;XREF[1,0]: 0040622f
.text:00406233 ff7608 PUSH dword ptr [ESI + 0x8]
.text:00406236 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:00406239 6a01 PUSH 0x1
.text:0040623b ff7604 PUSH dword ptr [ESI + 0x4]
.text:0040623e ff36 PUSH dword ptr [ESI]
.text:00406240 53 PUSH EBX
.text:00406241 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:00406244 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:00406247 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:0040624a 51 PUSH param_1
.text:0040624b 57 PUSH EDI
.text:0040624c 50 PUSH EAX
.text:0040624d e833990000 CALL FUN_0040fb85 ;int FUN_0040fb85(double * param_1, c...
.text:00406252 8b461c MOV EAX,dword ptr [ESI + 0x1c]
.text:00406255 83c42c ADD ESP,0x2c
.text:00406258 c1e805 SHR EAX,0x5
.text:0040625b 5b POP EBX
.text:0040625c a801 TEST AL,0x1
.text:0040625e 7424 JZ LAB_00406284
.text:00406260 837e2400 CMP dword ptr [ESI + 0x24],0x0
.text:00406264 751e JNZ LAB_00406284
.text:00406266 8b7e08 MOV EDI,dword ptr [ESI + 0x8]
.text:00406269 807f1400 CMP byte ptr [EDI + 0x14],0x0
.text:0040626d 7507 JNZ LAB_00406276
.text:0040626f 8bcf MOV param_1,EDI
.text:00406271 e86a020000 CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
LAB_00406276: ;XREF[1,0]: 0040626d
.text:00406276 8d470c LEA EAX,[EDI + 0xc]
.text:00406279 50 PUSH EAX
.text:0040627a ff7630 PUSH dword ptr [ESI + 0x30]
.text:0040627d e85ff5ffff CALL __crt_stdio_output::force_decimal_point ;void force_decimal_point(char * para...
.text:00406282 59 POP param_1
.text:00406283 59 POP param_1
LAB_00406284: ;XREF[2,0]: 0040625e,00406264
.text:00406284 8a462d MOV AL,byte ptr [ESI + 0x2d]
.text:00406287 3c67 CMP AL,0x67
.text:00406289 7404 JZ LAB_0040628f
.text:0040628b 3c47 CMP AL,0x47
.text:0040628d 7528 JNZ LAB_004062b7
LAB_0040628f: ;XREF[1,0]: 00406289
.text:0040628f 8b461c MOV EAX,dword ptr [ESI + 0x1c]
.text:00406292 c1e805 SHR EAX,0x5
.text:00406295 a801 TEST AL,0x1
.text:00406297 751e JNZ LAB_004062b7
.text:00406299 8b7e08 MOV EDI,dword ptr [ESI + 0x8]
.text:0040629c 807f1400 CMP byte ptr [EDI + 0x14],0x0
.text:004062a0 7507 JNZ LAB_004062a9
.text:004062a2 8bcf MOV param_1,EDI
.text:004062a4 e837020000 CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
LAB_004062a9: ;XREF[1,0]: 004062a0
.text:004062a9 8d470c LEA EAX,[EDI + 0xc]
.text:004062ac 50 PUSH EAX
.text:004062ad ff7630 PUSH dword ptr [ESI + 0x30]
.text:004062b0 e891f4ffff CALL FUN_00405746 ;undefined FUN_00405746(char * param_...
.text:004062b5 59 POP param_1
.text:004062b6 59 POP param_1
LAB_004062b7: ;XREF[2,0]: 0040628d,00406297
.text:004062b7 8b5630 MOV EDX,dword ptr [ESI + 0x30]
.text:004062ba 8a02 MOV AL,byte ptr [EDX]
.text:004062bc 3c2d CMP AL,0x2d
.text:004062be 750a JNZ LAB_004062ca
.text:004062c0 834e1c40 OR dword ptr [ESI + 0x1c],0x40
.text:004062c4 42 INC EDX
.text:004062c5 895630 MOV dword ptr [ESI + 0x30],EDX
.text:004062c8 8a02 MOV AL,byte ptr [EDX]
LAB_004062ca: ;XREF[1,0]: 004062be
.text:004062ca 3c69 CMP AL,0x69
.text:004062cc 740c JZ LAB_004062da
.text:004062ce 3c49 CMP AL,0x49
.text:004062d0 7408 JZ LAB_004062da
.text:004062d2 3c6e CMP AL,0x6e
.text:004062d4 7404 JZ LAB_004062da
.text:004062d6 3c4e CMP AL,0x4e
.text:004062d8 7508 JNZ LAB_004062e2
LAB_004062da: ;XREF[3,0]: 004062cc,004062d0,004062d4
.text:004062da 83661cf7 AND dword ptr [ESI + 0x1c],0xfffffff7
.text:004062de c6462d73 MOV byte ptr [ESI + 0x2d],0x73
LAB_004062e2: ;XREF[1,0]: 004062d8
.text:004062e2 8d7a01 LEA EDI,[EDX + 0x1]
LAB_004062e5: ;XREF[1,0]: 004062ea
.text:004062e5 8a0a MOV param_1,byte ptr [EDX]
.text:004062e7 42 INC EDX
.text:004062e8 84c9 TEST param_1,param_1
.text:004062ea 75f9 JNZ LAB_004062e5
.text:004062ec 2bd7 SUB EDX,EDI
.text:004062ee b001 MOV AL,0x1
.text:004062f0 5f POP EDI
.text:004062f1 895634 MOV dword ptr [ESI + 0x34],EDX
.text:004062f4 5e POP ESI
.text:004062f5 c9 LEAVE
.text:004062f6 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_004062f7(undefined6 * param_1)
;param_1 undefined6 * ECX
;XREF[1,0]: 00405de2
.text:004062f7 8bff MOV EDI,EDI
.text:004062f9 56 PUSH ESI
.text:004062fa 8bf1 MOV ESI,param_1
.text:004062fc 57 PUSH EDI
.text:004062fd ff7628 PUSH dword ptr [ESI + 0x28]
.text:00406300 0fb6462d MOVZX EAX,byte ptr [ESI + 0x2d]
.text:00406304 8d7e3c LEA EDI,[ESI + 0x3c]
.text:00406307 50 PUSH EAX
.text:00406308 ff7604 PUSH dword ptr [ESI + 0x4]
.text:0040630b ff36 PUSH dword ptr [ESI]
.text:0040630d e823e8ffff CALL __crt_stdio_output::is_wide_character...;bool is_wide_character_specifier .text:00406312 83c410 ADD ESP,0x10
.text:00406315 84c0 TEST AL,AL
.text:00406317 743d JZ LAB_00406356
.text:00406319 8b4e10 MOV param_1,dword ptr [ESI + 0x10]
.text:0040631c 53 PUSH EBX
.text:0040631d 8d4104 LEA EAX,[param_1 + 0x4]
.text:00406320 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00406323 0fb719 MOVZX EBX,word ptr [param_1]
.text:00406326 8bcf MOV param_1,EDI
.text:00406328 e83be7ffff CALL __crt_stdio_output::formatting_buffer...;uint count(formatting_buffer *...
.text:0040632d 8b8f04040000 MOV param_1,dword ptr [EDI + 0x404]
.text:00406333 85c9 TEST param_1,param_1
.text:00406335 7502 JNZ LAB_00406339
.text:00406337 8bcf MOV param_1,EDI
LAB_00406339: ;XREF[1,0]: 00406335
.text:00406339 ff7608 PUSH dword ptr [ESI + 0x8]
.text:0040633c 53 PUSH EBX
.text:0040633d 50 PUSH EAX
.text:0040633e 51 PUSH param_1
.text:0040633f 8d4634 LEA EAX,[ESI + 0x34]
.text:00406342 50 PUSH EAX
.text:00406343 e8be990000 CALL FUN_0040fd06 ;__acrt_ptd * FUN_0040fd06(int * para...
.text:00406348 83c414 ADD ESP,0x14
.text:0040634b 5b POP EBX
.text:0040634c 85c0 TEST EAX,EAX
.text:0040634e 7426 JZ LAB_00406376
.text:00406350 c6462c01 MOV byte ptr [ESI + 0x2c],0x1
.text:00406354 eb20 JMP LAB_00406376
LAB_00406356: ;XREF[1,0]: 00406317
.text:00406356 8b9704040000 MOV EDX,dword ptr [EDI + 0x404]
.text:0040635c 85d2 TEST EDX,EDX
.text:0040635e 7502 JNZ LAB_00406362
.text:00406360 8bd7 MOV EDX,EDI
LAB_00406362: ;XREF[1,0]: 0040635e
.text:00406362 8b4e10 MOV param_1,dword ptr [ESI + 0x10]
.text:00406365 8d4104 LEA EAX,[param_1 + 0x4]
.text:00406368 894610 MOV dword ptr [ESI + 0x10],EAX
.text:0040636b 8a01 MOV AL,byte ptr [param_1]
.text:0040636d 8802 MOV byte ptr [EDX],AL
.text:0040636f c74634010... MOV dword ptr [ESI + 0x34],0x1
LAB_00406376: ;XREF[2,0]: 0040634e,00406354
.text:00406376 8b8704040000 MOV EAX,dword ptr [EDI + 0x404]
.text:0040637c 85c0 TEST EAX,EAX
.text:0040637e 7402 JZ LAB_00406382
.text:00406380 8bf8 MOV EDI,EAX
LAB_00406382: ;XREF[1,0]: 0040637e
.text:00406382 897e30 MOV dword ptr [ESI + 0x30],EDI
.text:00406385 b001 MOV AL,0x1
.text:00406387 5f POP EDI
.text:00406388 5e POP ESI
.text:00406389 c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040638c(int param_1)
;param_1 int ECX
;XREF[1,0]: 00405e1e
.text:0040638c 8bff MOV EDI,EDI
.text:0040638e 56 PUSH ESI
.text:0040638f 8bf1 MOV ESI,param_1
.text:00406391 57 PUSH EDI
.text:00406392 8b5610 MOV EDX,dword ptr [ESI + 0x10]
.text:00406395 8d4204 LEA EAX,[EDX + 0x4]
.text:00406398 894610 MOV dword ptr [ESI + 0x10],EAX
.text:0040639b 8b3a MOV EDI,dword ptr [EDX]
.text:0040639d e8609c0000 CALL FUN_00410002 ;bool FUN_00410002(void)
.text:004063a2 85c0 TEST EAX,EAX
.text:004063a4 7524 JNZ LAB_004063ca
LAB_004063a6: ;XREF[1,0]: 004063e6
.text:004063a6 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:004063a9 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:004063ad c74018160... MOV dword ptr [EAX + 0x18],0x16
.text:004063b4 33c0 XOR EAX,EAX
.text:004063b6 ff7608 PUSH dword ptr [ESI + 0x8]
.text:004063b9 50 PUSH EAX
.text:004063ba 50 PUSH EAX
.text:004063bb 50 PUSH EAX
.text:004063bc 50 PUSH EAX
.text:004063bd 50 PUSH EAX
.text:004063be e8e37d0000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:004063c3 83c418 ADD ESP,0x18
.text:004063c6 32c0 XOR AL,AL
.text:004063c8 eb44 JMP LAB_0040640e
LAB_004063ca: ;XREF[1,0]: 004063a4
.text:004063ca ff7628 PUSH dword ptr [ESI + 0x28]
.text:004063cd e8ddfcffff CALL __crt_stdio_output::to_integer_size ;uint to_integer_size(length_modifier...
.text:004063d2 59 POP param_1
.text:004063d3 83e801 SUB EAX,0x1
.text:004063d6 742b JZ LAB_00406403
.text:004063d8 83e801 SUB EAX,0x1
.text:004063db 741d JZ LAB_004063fa
.text:004063dd 48 DEC EAX
.text:004063de 83e801 SUB EAX,0x1
.text:004063e1 7410 JZ LAB_004063f3
.text:004063e3 83e804 SUB EAX,0x4
.text:004063e6 75be JNZ LAB_004063a6
.text:004063e8 8b4614 MOV EAX,dword ptr [ESI + 0x14]
.text:004063eb 99 CDQ
.text:004063ec 8907 MOV dword ptr [EDI],EAX
.text:004063ee 895704 MOV dword ptr [EDI + 0x4],EDX
.text:004063f1 eb15 JMP LAB_00406408
LAB_004063f3: ;XREF[1,0]: 004063e1
.text:004063f3 8b4614 MOV EAX,dword ptr [ESI + 0x14]
.text:004063f6 8907 MOV dword ptr [EDI],EAX
.text:004063f8 eb0e JMP LAB_00406408
LAB_004063fa: ;XREF[1,0]: 004063db
.text:004063fa 668b4614 MOV AX,word ptr [ESI + 0x14]
.text:004063fe 668907 MOV word ptr [EDI],AX
.text:00406401 eb05 JMP LAB_00406408
LAB_00406403: ;XREF[1,0]: 004063d6
.text:00406403 8a4614 MOV AL,byte ptr [ESI + 0x14]
.text:00406406 8807 MOV byte ptr [EDI],AL
LAB_00406408: ;XREF[3,0]: 004063f1,004063f8,00406401
.text:00406408 c6462c01 MOV byte ptr [ESI + 0x2c],0x1
.text:0040640c b001 MOV AL,0x1
LAB_0040640e: ;XREF[1,0]: 004063c8
.text:0040640e 5f POP EDI
.text:0040640f 5e POP ESI
.text:00406410 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00406411(void * param_1)
;param_1 void * ECX
;XREF[1,0]: 00405e35
.text:00406411 8b511c MOV EDX,dword ptr [param_1 + 0x1c]
.text:00406414 8bc2 MOV EAX,EDX
.text:00406416 c1e805 SHR EAX,0x5
.text:00406419 a801 TEST AL,0x1
.text:0040641b 7409 JZ LAB_00406426
.text:0040641d 81ca80000000 OR EDX,0x80
.text:00406423 89511c MOV dword ptr [param_1 + 0x1c],EDX
LAB_00406426: ;XREF[1,0]: 0040641b
.text:00406426 6a00 PUSH 0x0
.text:00406428 e881e9ffff CALL FUN_00404dae ;uint FUN_00404dae(void * param_1)
.text:0040642d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040642e(void * param_1)
;param_1 void * ECX
;XREF[1,0]: 00405e5d
.text:0040642e 6a01 PUSH 0x1
.text:00406430 c74124080... MOV dword ptr [param_1 + 0x24],0x8
.text:00406437 c741280a0... MOV dword ptr [param_1 + 0x28],0xa
.text:0040643e e885ecffff CALL FUN_004050c8 ;uint FUN_004050c8(void * this, byte ...
.text:00406443 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00406444(__uint64 * param_1)
;param_1 __uint64 * ECX
;XREF[1,0]: 00405e54
.text:00406444 8bff MOV EDI,EDI
.text:00406446 53 PUSH EBX
.text:00406447 56 PUSH ESI
.text:00406448 8bf1 MOV ESI,param_1
.text:0040644a 57 PUSH EDI
.text:0040644b 8b5610 MOV EDX,dword ptr [ESI + 0x10]
.text:0040644e 8d4204 LEA EAX,[EDX + 0x4]
.text:00406451 894610 MOV dword ptr [ESI + 0x10],EAX
.text:00406454 8b5e24 MOV EBX,dword ptr [ESI + 0x24]
.text:00406457 8b3a MOV EDI,dword ptr [EDX]
.text:00406459 897e30 MOV dword ptr [ESI + 0x30],EDI
.text:0040645c 83fbff CMP EBX,-0x1
.text:0040645f 7505 JNZ LAB_00406466
.text:00406461 bbffffff7f MOV EBX,0x7fffffff
LAB_00406466: ;XREF[1,0]: 0040645f
.text:00406466 ff7628 PUSH dword ptr [ESI + 0x28]
.text:00406469 0fb6462d MOVZX EAX,byte ptr [ESI + 0x2d]
.text:0040646d 50 PUSH EAX
.text:0040646e ff7604 PUSH dword ptr [ESI + 0x4]
.text:00406471 ff36 PUSH dword ptr [ESI]
.text:00406473 e8bde6ffff CALL __crt_stdio_output::is_wide_character...;bool is_wide_character_specifier.text:00406478 83c410 ADD ESP,0x10
.text:0040647b 84c0 TEST AL,AL
.text:0040647d 7419 JZ LAB_00406498
.text:0040647f 85ff TEST EDI,EDI
.text:00406481 7508 JNZ LAB_0040648b
.text:00406483 bfb0bd4100 MOV EDI,.rdata:u_(null)_0041bdb0 ;= u"(null)"
.text:00406488 897e30 MOV dword ptr [ESI +...,EDI=>.rdata:u_(nu...;= u"(null)"
LAB_0040648b: ;XREF[1,0]: 00406481
.text:0040648b 53 PUSH EBX
.text:0040648c 57 PUSH EDI=>.rdata:u_(null)_0041bdb0 ;= u"(null)"
.text:0040648d c6463801 MOV byte ptr [ESI + 0x38],0x1
.text:00406491 e8ab8a0000 CALL FUN_0040ef41 ;uint FUN_0040ef41(short * param_1, u...
.text:00406496 eb13 JMP LAB_004064ab
LAB_00406498: ;XREF[1,0]: 0040647d
.text:00406498 85ff TEST EDI,EDI
.text:0040649a 7508 JNZ LAB_004064a4
.text:0040649c bfc0bd4100 MOV EDI,.rdata:s_(null)_0041bdc0 ;= "(null)"
.text:004064a1 897e30 MOV dword ptr [ESI +...,EDI=>.rdata:s_(nu...;= "(null)"
LAB_004064a4: ;XREF[1,0]: 0040649a
.text:004064a4 53 PUSH EBX
.text:004064a5 57 PUSH EDI=>.rdata:s_(null)_0041bdc0 ;= "(null)"
.text:004064a6 e874890000 CALL FUN_0040ee1f ;uint FUN_0040ee1f(undefined[32] * pa...
LAB_004064ab: ;XREF[1,0]: 00406496
.text:004064ab 59 POP param_1
.text:004064ac 59 POP param_1
.text:004064ad 5f POP EDI
.text:004064ae 894634 MOV dword ptr [ESI + 0x34],EAX
.text:004064b1 b001 MOV AL,0x1
.text:004064b3 5e POP ESI
.text:004064b4 5b POP EBX
.text:004064b5 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_strtox::c_string_character_source::unget(char) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;void unget(c_string_character_source * this, char param_1)
;this c_string_ch... ECX
;param_1 char 4 ;XREF[1,0]: 004064c0
;XREF[4,0]: 00404c6d,00404d09,0040dcdc,0040ddc5
.text:004064b6 8bff MOV EDI,EDI
.text:004064b8 55 PUSH EBP
.text:004064b9 8bec MOV EBP,ESP
.text:004064bb 8b01 MOV EAX,dword ptr [this]
.text:004064bd 48 DEC EAX
.text:004064be 8901 MOV dword ptr [this],EAX
.text:004064c0 8a4d08 MOV this,byte ptr [EBP + param_1+0x4]
.text:004064c3 84c9 TEST this,this
.text:004064c5 7414 JZ LAB_004064db
.text:004064c7 3808 CMP byte ptr [EAX],this
.text:004064c9 7410 JZ LAB_004064db
.text:004064cb e8347e0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004064d0 c70016000000 MOV dword ptr [EAX],0x16
.text:004064d6 e8487d0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_004064db: ;XREF[2,0]: 004064c5,004064c9
.text:004064db 5d POP EBP
.text:004064dc c20400 RET 0x4
.text:004064df cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004064e0(__acrt_ptd * * param_1)
;param_1 __acrt_ptd * * ECX
;local_8 undefined4 -8 ;XREF[2,0]: 004064f6,00406510
;XREF[13,0]: 00405a2b,00406271,004062a4,00407dc8
; 00408128,0040dc13,0040f3d7,0040f710
; 0040f908,0040fd57,0040feb4,00413b3e
; 00413f34
.text:004064e0 8bff MOV EDI,EDI
.text:004064e2 55 PUSH EBP
.text:004064e3 8bec MOV EBP,ESP
.text:004064e5 51 PUSH param_1
.text:004064e6 53 PUSH EBX
.text:004064e7 56 PUSH ESI
.text:004064e8 57 PUSH EDI
.text:004064e9 8bd9 MOV EBX,param_1
.text:004064eb e8a0f3ffff CALL FUN_00405890 ;__acrt_ptd * FUN_00405890(__acrt_ptd...
.text:004064f0 ff7304 PUSH dword ptr [EBX + 0x4]
.text:004064f3 8d730c LEA ESI,[EBX + 0xc]
.text:004064f6 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004064f9 56 PUSH ESI
.text:004064fa 8b504c MOV EDX,dword ptr [EAX + 0x4c]
.text:004064fd 8d7b10 LEA EDI,[EBX + 0x10]
.text:00406500 8916 MOV dword ptr [ESI],EDX
.text:00406502 8b5048 MOV EDX,dword ptr [EAX + 0x48]
.text:00406505 50 PUSH EAX
.text:00406506 8917 MOV dword ptr [EDI],EDX
.text:00406508 e8118c0000 CALL FUN_0040f11e ;undefined FUN_0040f11e(int param_1, ...
.text:0040650d ff7304 PUSH dword ptr [EBX + 0x4]
.text:00406510 8b75fc MOV ESI,dword ptr [EBP + local_8+0x4]
.text:00406513 57 PUSH EDI
.text:00406514 56 PUSH ESI
.text:00406515 e8628c0000 CALL FUN_0040f17c ;undefined FUN_0040f17c(int param_1, ...
.text:0040651a 8b8650030000 MOV EAX,dword ptr [ESI + 0x350]
.text:00406520 83c418 ADD ESP,0x18
.text:00406523 a802 TEST AL,0x2
.text:00406525 750d JNZ LAB_00406534
.text:00406527 83c802 OR EAX,0x2
.text:0040652a 898650030000 MOV dword ptr [ESI + 0x350],EAX
.text:00406530 c6431402 MOV byte ptr [EBX + 0x14],0x2
LAB_00406534: ;XREF[1,0]: 00406525
.text:00406534 5f POP EDI
.text:00406535 5e POP ESI
.text:00406536 5b POP EBX
.text:00406537 8be5 MOV ESP,EBP
.text:00406539 5d POP EBP
.text:0040653a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040653b(int * param_1)
;param_1 int * ECX
;XREF[2,0]: 00404b8e,0040dba6
.text:0040653b 833900 CMP dword ptr [param_1],0x0
.text:0040653e 7513 JNZ LAB_00406553
.text:00406540 e8bf7d0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00406545 c70016000000 MOV dword ptr [EAX],0x16
.text:0040654b e8d37c0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00406550 32c0 XOR AL,AL
.text:00406552 c3 RET
LAB_00406553: ;XREF[1,0]: 0040653e
.text:00406553 b001 MOV AL,0x1
.text:00406555 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_00406556(void * this, __acrt_ptd * * param_1)
;this void * ECX
;param_1 __acrt_ptd * * 4 ;XREF[1,0]: 00406561
;XREF[1,0]: 0040597a
.text:00406556 8bff MOV EDI,EDI
.text:00406558 55 PUSH EBP
.text:00406559 8bec MOV EBP,ESP
.text:0040655b 8b01 MOV EAX,dword ptr [this]
.text:0040655d 85c0 TEST EAX,EAX
.text:0040655f 7522 JNZ LAB_00406583
.text:00406561 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00406564 50 PUSH EAX
.text:00406565 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00406569 c74018160... MOV dword ptr [EAX + 0x18],0x16
.text:00406570 33c0 XOR EAX,EAX
.text:00406572 50 PUSH EAX
.text:00406573 50 PUSH EAX
.text:00406574 50 PUSH EAX
.text:00406575 50 PUSH EAX
.text:00406576 50 PUSH EAX
.text:00406577 e82a7c0000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:0040657c 83c418 ADD ESP,0x18
.text:0040657f 32c0 XOR AL,AL
.text:00406581 eb07 JMP LAB_0040658a
LAB_00406583: ;XREF[1,0]: 0040655f
.text:00406583 50 PUSH EAX
.text:00406584 e805000000 CALL __acrt_stdio_char_traits::valid... ;bool validate_stream_is_ansi_if_requ...
.text:00406589 59 POP this
LAB_0040658a: ;XREF[1,0]: 00406581
.text:0040658a 5d POP EBP
.text:0040658b c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* public: static bool __cdecl __acrt_stdio_char_traits::validate_stream_is_ansi_if_requi...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;bool validate_stream_is_ansi_if_required(_iobuf * param_1)
;param_1 _iobuf * 4 ;XREF[1,0]: 00406593
;XREF[3,0]: 00406584,00406846,0040c73a
.text:0040658e 8bff MOV EDI,EDI
.text:00406590 55 PUSH EBP
.text:00406591 8bec MOV EBP,ESP
.text:00406593 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00406596 56 PUSH ESI
.text:00406597 8b410c MOV EAX,dword ptr [ECX + 0xc]
.text:0040659a 90 NOP
.text:0040659b c1e80c SHR EAX,0xc
.text:0040659e a801 TEST AL,0x1
.text:004065a0 756e JNZ LAB_00406610
.text:004065a2 57 PUSH EDI
.text:004065a3 51 PUSH ECX
.text:004065a4 e8329a0000 CALL __fileno ;int __fileno(FILE * _File)
.text:004065a9 59 POP ECX
.text:004065aa b9f8304200 MOV ECX,.data:DAT_004230f8
.text:004065af 83f8ff CMP EAX,-0x1
.text:004065b2 741b JZ LAB_004065cf
.text:004065b4 83f8fe CMP EAX,-0x2
.text:004065b7 7416 JZ LAB_004065cf
.text:004065b9 8bf0 MOV ESI,EAX
.text:004065bb 8bd0 MOV EDX,EAX
.text:004065bd 83e63f AND ESI,0x3f
.text:004065c0 c1fa06 SAR EDX,0x6
.text:004065c3 6bfe38 IMUL EDI,ESI,0x38
.text:004065c6 033c95c84... ADD EDI,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:004065cd eb0c JMP LAB_004065db
LAB_004065cf: ;XREF[2,0]: 004065b2,004065b7
.text:004065cf 8bd0 MOV EDX,EAX
.text:004065d1 8bf0 MOV ESI,EAX
.text:004065d3 c1fa06 SAR EDX,0x6
.text:004065d6 8bf9 MOV EDI,ECX
.text:004065d8 83e63f AND ESI,0x3f
LAB_004065db: ;XREF[1,0]: 004065cd
.text:004065db 807f2900 CMP byte ptr [EDI + ...,0x0
.text:004065df 5f POP EDI
.text:004065e0 751a JNZ LAB_004065fc
.text:004065e2 83f8ff CMP EAX,-0x1
.text:004065e5 740f JZ LAB_004065f6
.text:004065e7 83f8fe CMP EAX,-0x2
.text:004065ea 740a JZ LAB_004065f6
.text:004065ec 6bce38 IMUL ECX,ESI,0x38
.text:004065ef 030c95c84... ADD ECX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
LAB_004065f6: ;XREF[2,0]: 004065e5,004065ea
.text:004065f6 f6412d01 TEST byte ptr [ECX + ...,0x1
.text:004065fa 7414 JZ LAB_00406610
LAB_004065fc: ;XREF[1,0]: 004065e0
.text:004065fc e8037d0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00406601 c70016000000 MOV dword ptr [EAX],0x16
.text:00406607 e8177c0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040660c 32c0 XOR AL,AL
.text:0040660e eb02 JMP LAB_00406612
LAB_00406610: ;XREF[2,0]: 004065a0,004065fa
.text:00406610 b001 MOV AL,0x1
LAB_00406612: ;XREF[1,0]: 0040660e
.text:00406612 5e POP ESI
.text:00406613 5d POP EBP
.text:00406614 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00406615(void * this, byte param_1, int * param_2, __acrt_ptd * * param_3)
;this void * ECX
;param_1 byte 4 ;XREF[1,0]: 0040661d
;param_2 int * 8 ;XREF[1,0]: 00406627
;param_3 __acrt_ptd * * c ;XREF[1,0]: 0040661a
;XREF[2,0]: 00405a69,00405a92
.text:00406615 8bff MOV EDI,EDI
.text:00406617 55 PUSH EBP
.text:00406618 8bec MOV EBP,ESP
.text:0040661a ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040661d ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00406620 e812000000 CALL FUN_00406637 ;bool FUN_00406637(void * this, byte ...
.text:00406625 84c0 TEST AL,AL
.text:00406627 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040662a 7404 JZ LAB_00406630
.text:0040662c ff00 INC dword ptr [EAX]
.text:0040662e eb03 JMP LAB_00406633
LAB_00406630: ;XREF[1,0]: 0040662a
.text:00406630 8308ff OR dword ptr [EAX],0xffffffff
LAB_00406633: ;XREF[1,0]: 0040662e
.text:00406633 5d POP EBP
.text:00406634 c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_00406637(void * this, byte param_1, __acrt_ptd * * param_2)
;this void * ECX
;param_1 byte 4 ;XREF[1,0]: 00406658
;param_2 __acrt_ptd * * 8 ;XREF[1,0]: 00406655
;XREF[6,0]: 00405f3c,00405fb6,0040607c,00406620
; 004066d1,004066eb
.text:00406637 8bff MOV EDI,EDI
.text:00406639 55 PUSH EBP
.text:0040663a 8bec MOV EBP,ESP
.text:0040663c 8b01 MOV EAX,dword ptr [this]
.text:0040663e 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00406641 90 NOP
.text:00406642 c1e80c SHR EAX,0xc
.text:00406645 a801 TEST AL,0x1
.text:00406647 740c JZ LAB_00406655
.text:00406649 8b01 MOV EAX,dword ptr [this]
.text:0040664b 83780400 CMP dword ptr [EAX + 0x4],0x0
.text:0040664f 7504 JNZ LAB_00406655
.text:00406651 b001 MOV AL,0x1
.text:00406653 eb18 JMP LAB_0040666d
LAB_00406655: ;XREF[2,0]: 00406647,0040664f
.text:00406655 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00406658 0fbe4508 MOVSX EAX,byte ptr [EBP + param_1+0x4]
.text:0040665c ff31 PUSH dword ptr [this]
.text:0040665e 50 PUSH EAX
.text:0040665f e8b3990000 CALL FUN_00410017 ;uint FUN_00410017(byte param_1, FILE...
.text:00406664 83c40c ADD ESP,0xc
.text:00406667 83f8ff CMP EAX,-0x1
.text:0040666a 0f95c0 SETNZ AL
LAB_0040666d: ;XREF[1,0]: 00406653
.text:0040666d 5d POP EBP
.text:0040666e c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00406671(void * this, byte * param_1, int param_2, int * param_3, __acrt_ptd * * param_4)
;this void * ECX
;param_1 byte * 4 ;XREF[1,0]: 004066a6
;param_2 int 8 ;XREF[2,0]: 0040668e,004066bc
;param_3 int * c ;XREF[2,0]: 0040668b,004066c9
;param_4 __acrt_ptd * * 10 ;XREF[1,0]: 004066aa
;local_8 undefined4 -8 ;XREF[3,0]: 004066ad,004066e5,00406701
;local_c undefined4 -c ;XREF[2,0]: 004066c1,004066fc
;local_10 undefined4 -10 ;XREF[2,0]: 004066b3,0040670a
;local_14 undefined4 -14 ;XREF[2,0]: 004066b9,00406710
;XREF[3,0]: 00405f86,0040602b,00406056
.text:00406671 8bff MOV EDI,EDI
.text:00406673 55 PUSH EBP
.text:00406674 8bec MOV EBP,ESP
.text:00406676 8b01 MOV EAX,dword ptr [this]
.text:00406678 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:0040667b 90 NOP
.text:0040667c c1e80c SHR EAX,0xc
.text:0040667f a801 TEST AL,0x1
.text:00406681 7414 JZ LAB_00406697
.text:00406683 8b01 MOV EAX,dword ptr [this]
.text:00406685 83780400 CMP dword ptr [EAX + 0x4],0x0
.text:00406689 750c JNZ LAB_00406697
.text:0040668b 8b4d10 MOV this,dword ptr [EBP + param_3+0x4]
.text:0040668e 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00406691 0101 ADD dword ptr [this],EAX
.text:00406693 5d POP EBP
.text:00406694 c21000 RET 0x10
LAB_00406697: ;XREF[2,0]: 00406681,00406689
.text:00406697 5d POP EBP
.text:00406698 e900000000 JMP LAB_0040669d
LAB_0040669d: ;XREF[1,0]: 00406698
.text:0040669d 8bff MOV EDI,EDI
.text:0040669f 55 PUSH EBP
.text:004066a0 8bec MOV EBP,ESP
.text:004066a2 83ec10 SUB ESP,0x10
.text:004066a5 53 PUSH EBX
.text:004066a6 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:004066a9 56 PUSH ESI
.text:004066aa 8b7514 MOV ESI,dword ptr [EBP + param_4+0x4]
.text:004066ad 894dfc MOV dword ptr [EBP + local_8+0x4],this
.text:004066b0 8b4618 MOV EAX,dword ptr [ESI + 0x18]
.text:004066b3 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:004066b6 8b461c MOV EAX,dword ptr [ESI + 0x1c]
.text:004066b9 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:004066bc 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004066bf 03c3 ADD EAX,EBX
.text:004066c1 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:004066c4 3bd8 CMP EBX,EAX
.text:004066c6 7442 JZ LAB_0040670a
.text:004066c8 57 PUSH EDI
.text:004066c9 8b7d10 MOV EDI,dword ptr [EBP + param_3+0x4]
LAB_004066cc: ;XREF[1,0]: 00406704
.text:004066cc 0fb603 MOVZX EAX,byte ptr [EBX]
.text:004066cf 56 PUSH ESI
.text:004066d0 50 PUSH EAX
.text:004066d1 e861ffffff CALL FUN_00406637 ;bool FUN_00406637(void * this, byte ...
.text:004066d6 84c0 TEST AL,AL
.text:004066d8 751a JNZ LAB_004066f4
.text:004066da 38461c CMP byte ptr [ESI + 0x1c],AL
.text:004066dd 7427 JZ LAB_00406706
.text:004066df 837e182a CMP dword ptr [ESI + 0x18],0x2a
.text:004066e3 7521 JNZ LAB_00406706
.text:004066e5 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
.text:004066e8 56 PUSH ESI
.text:004066e9 6a3f PUSH 0x3f
.text:004066eb e847ffffff CALL FUN_00406637 ;bool FUN_00406637(void * this, byte ...
.text:004066f0 84c0 TEST AL,AL
.text:004066f2 7404 JZ LAB_004066f8
LAB_004066f4: ;XREF[1,0]: 004066d8
.text:004066f4 ff07 INC dword ptr [EDI]
.text:004066f6 eb03 JMP LAB_004066fb
LAB_004066f8: ;XREF[1,0]: 004066f2
.text:004066f8 830fff OR dword ptr [EDI],0xffffffff
LAB_004066fb: ;XREF[1,0]: 004066f6
.text:004066fb 43 INC EBX
.text:004066fc 3b5df8 CMP EBX,dword ptr [EBP + local_c+0x4]
.text:004066ff 7408 JZ LAB_00406709
.text:00406701 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
.text:00406704 ebc6 JMP LAB_004066cc
LAB_00406706: ;XREF[2,0]: 004066dd,004066e3
.text:00406706 830fff OR dword ptr [EDI],0xffffffff
LAB_00406709: ;XREF[1,0]: 004066ff
.text:00406709 5f POP EDI
LAB_0040670a: ;XREF[1,0]: 004066c6
.text:0040670a 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:0040670d 894618 MOV dword ptr [ESI + 0x18],EAX
.text:00406710 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00406713 89461c MOV dword ptr [ESI + 0x1c],EAX
.text:00406716 5e POP ESI
.text:00406717 5b POP EBX
.text:00406718 c9 LEAVE
.text:00406719 c21000 RET 0x10
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_locale_get_ctype_array_value *
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;ushort ___acrt_locale_get_ctype_array_value(int param_1, int param_2, ushort param_3)
;param_1 int 4 ;XREF[1,0]: 0040672e
;param_2 int 8 ;XREF[1,0]: 00406721
;param_3 ushort c ;XREF[1,0]: 00406735
;XREF[2,0]: 00405a4d,0040c9e5
.text:0040671c 8bff MOV EDI,EDI
.text:0040671e 55 PUSH EBP
.text:0040671f 8bec MOV EBP,ESP
.text:00406721 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00406724 8d4101 LEA EAX,[ECX + 0x1]
.text:00406727 3d00010000 CMP EAX,0x100
.text:0040672c 770c JA LAB_0040673a
.text:0040672e 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00406731 0fb70448 MOVZX EAX,word ptr [EAX + ECX*0x2]
.text:00406735 234510 AND EAX,dword ptr [EBP + param_3+0x4]
.text:00406738 5d POP EBP
.text:00406739 c3 RET
LAB_0040673a: ;XREF[1,0]: 0040672c
.text:0040673a 33c0 XOR EAX,EAX
.text:0040673c 5d POP EBP
.text:0040673d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040673e(undefined4 param_1, undefined4 param_2, FILE * param_3, int param_4, undefined4 * param_5, undefined4 param_6)
;param_1 undefined4 4 ;XREF[1,0]: 00406761
;param_2 undefined4 8 ;XREF[1,0]: 0040675b
;param_3 FILE * c ;XREF[1,0]: 00406755
;param_4 int 10 ;XREF[1,0]: 00406758
;param_5 undefined4 * 14 ;XREF[1,0]: 00406747
;param_6 undefined4 18 ;XREF[1,0]: 00406752
;local_5 undefined1 -5 ;XREF[1,0]: 004067a4
;local_c undefined4 -c ;XREF[2,0]: 00406767,0040679b
;local_10 undefined4 -10 ;XREF[2,0]: 00406764,004067b6
;local_14 undefined4 -14 ;XREF[2,0]: 0040675e,004067bc
;local_18 undefined4 -18 ;XREF[2,0]: 0040679e,004067c2
;local_1c undefined4 -1c ;XREF[2,0]: 004067aa,004067ca
;local_20 undefined4 -20 ;XREF[1,0]: 0040676d
;local_24 undefined4 -24 ;XREF[2,0]: 0040676a,004067b0
;local_28 undefined4 -28 ;XREF[1,0]: 004067bf
;local_2c undefined4 -2c ;XREF[1,0]: 004067b9
;local_30 undefined4 -30 ;XREF[1,0]: 004067b3
;local_34 undefined4 -34 ;XREF[1,0]: 004067ad
;local_38 undefined4 -38 ;XREF[2,0]: 004067a1,004067c6
;local_44 undefined1 -44 ;XREF[1,0]: 00406777
;local_48 undefined4 -48 ;XREF[1,0]: 0040677e
;local_60 undefined1 -60 ;XREF[4,0]: 0040674a,00406774,004067a7,004067d5
;XREF[1,0]: 00401043
.text:0040673e 8bff MOV EDI,EDI
.text:00406740 55 PUSH EBP
.text:00406741 8bec MOV EBP,ESP
.text:00406743 83ec5c SUB ESP,0x5c
.text:00406746 56 PUSH ESI
.text:00406747 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040674a 8d4da4 LEA ECX=>local_60,[EBP + -0x5c]
.text:0040674d e87eeeffff CALL FUN_004055d0 ;void * FUN_004055d0(void * this, und...
.text:00406752 8b451c MOV EAX,dword ptr [EBP + param_6+0x4]
.text:00406755 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00406758 8b7514 MOV ESI,dword ptr [EBP + param_4+0x4]
.text:0040675b 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040675e 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00406761 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00406764 8975f4 MOV dword ptr [EBP + local_10+0x4],ESI
.text:00406767 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
.text:0040676a 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:0040676d 894de4 MOV dword ptr [EBP + local_20+0x4],ECX
.text:00406770 85d2 TEST EDX,EDX
.text:00406772 7523 JNZ LAB_00406797
LAB_00406774: ;XREF[1,0]: 00406799
.text:00406774 8d45a4 LEA EAX=>local_60,[EBP + -0x5c]
.text:00406777 c645c001 MOV byte ptr [EBP + local_44+0x4],0x1
.text:0040677b 50 PUSH EAX
.text:0040677c 33c0 XOR EAX,EAX
.text:0040677e c745bc160... MOV dword ptr [EBP + local_48+0x4],0x16
.text:00406785 50 PUSH EAX
.text:00406786 50 PUSH EAX
.text:00406787 50 PUSH EAX
.text:00406788 50 PUSH EAX
.text:00406789 50 PUSH EAX
.text:0040678a e8177a0000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:0040678f 83c418 ADD ESP,0x18
.text:00406792 83ceff OR ESI,0xffffffff
.text:00406795 eb3e JMP LAB_004067d5
LAB_00406797: ;XREF[1,0]: 00406772
.text:00406797 85f6 TEST ESI,ESI
.text:00406799 74d9 JZ LAB_00406774
.text:0040679b 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0040679e 8955ec MOV dword ptr [EBP + local_18+0x4],EDX
.text:004067a1 8945cc MOV dword ptr [EBP + local_38+0x4],EAX
.text:004067a4 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:004067a7 8d45a4 LEA EAX=>local_60,[EBP + -0x5c]
.text:004067aa 8955e8 MOV dword ptr [EBP + local_1c+0x4],EDX
.text:004067ad 8945d0 MOV dword ptr [EBP + local_34+0x4],EAX
.text:004067b0 8d45e0 LEA EAX=>local_24,[EBP + -0x20]
.text:004067b3 8945d4 MOV dword ptr [EBP + local_30+0x4],EAX
.text:004067b6 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:004067b9 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:004067bc 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:004067bf 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:004067c2 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:004067c5 50 PUSH EAX
.text:004067c6 8d45cc LEA EAX=>local_38,[EBP + -0x34]
.text:004067c9 50 PUSH EAX
.text:004067ca 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:004067cd 50 PUSH EAX
.text:004067ce e83ae2ffff CALL operator()<> ;undefined4 operator()<>(FILE * * par...
.text:004067d3 8bf0 MOV ESI,EAX
LAB_004067d5: ;XREF[1,0]: 00406795
.text:004067d5 8d4da4 LEA ECX=>local_60,[EBP + -0x5c]
.text:004067d8 e853eeffff CALL FUN_00405630 ;undefined FUN_00405630(__acrt_ptd * ...
.text:004067dd 8bc6 MOV EAX,ESI
.text:004067df 5e POP ESI
.text:004067e0 c9 LEAVE
.text:004067e1 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;char * FUN_004067e2(char * param_1, int param_2, FILE * param_3)
;param_1 char * 4 ;XREF[4,0]: 004067ee,00406850,0040686f,00406876
;param_2 int 8 ;XREF[4,0]: 004067f4,00406822,0040682e,00406859
;param_3 FILE * c ;XREF[4,0]: 00406828,00406837,00406843,0040685e
;local_8 undefined4 -8 ;XREF[2,0]: 00406840,0040687c
;local_14 undefined4 -14 ;XREF[1,0]: 0040688a
;local_20 undefined4 -20 ;XREF[2,0]: 00406834,00406879
;local_24 undefined4 -24 ;XREF[2,0]: 00406853,0040689d
;local_28 undefined4 -28 ;XREF[1,0]: 00406856
;local_2c undefined4 -2c ;XREF[1,0]: 00406867
;XREF[1,0]: 004068ba
.text:004067e2 6a18 PUSH 0x18
.text:004067e4 68881d4200 PUSH .rdata:DAT_00421d88 ;= FEh
.text:004067e9 e812b7ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:004067ee 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:004067f2 750f JNZ LAB_00406803
.text:004067f4 837d0c00 CMP dword ptr [EBP + param_2+0x4],0x0
.text:004067f8 7409 JZ LAB_00406803
.text:004067fa 33db XOR EBX,EBX
.text:004067fc 8bc3 MOV EAX,EBX
.text:004067fe 33f6 XOR ESI,ESI
.text:00406800 46 INC ESI
.text:00406801 eb07 JMP LAB_0040680a
LAB_00406803: ;XREF[2,0]: 004067f2,004067f8
.text:00406803 33f6 XOR ESI,ESI
.text:00406805 46 INC ESI
.text:00406806 8bc6 MOV EAX,ESI
.text:00406808 33db XOR EBX,EBX
LAB_0040680a: ;XREF[1,0]: 00406801
.text:0040680a 85c0 TEST EAX,EAX
.text:0040680c 7514 JNZ LAB_00406822
LAB_0040680e: ;XREF[2,0]: 00406826,0040682c
.text:0040680e e8f17a0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00406813 c70016000000 MOV dword ptr [EAX],0x16
.text:00406819 e8057a0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_0040681e: ;XREF[1,0]: 00406832
.text:0040681e 33c0 XOR EAX,EAX
.text:00406820 eb68 JMP LAB_0040688a
LAB_00406822: ;XREF[1,0]: 0040680c
.text:00406822 837d0c00 CMP dword ptr [EBP + param_2+0x4],0x0
.text:00406826 7ce6 JL LAB_0040680e
.text:00406828 837d1000 CMP dword ptr [EBP + param_3+0x4],0x0
.text:0040682c 74e0 JZ LAB_0040680e
.text:0040682e 837d0c00 CMP dword ptr [EBP + param_2+0x4],0x0
.text:00406832 74ea JZ LAB_0040681e
.text:00406834 895de4 MOV dword ptr [EBP + local_20+0x4],EBX
.text:00406837 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040683a e8a6e1ffff CALL __lock_file ;void __lock_file(FILE * _File)
.text:0040683f 59 POP ECX
.text:00406840 895dfc MOV dword ptr [EBP + local_8+0x4],EBX
.text:00406843 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00406846 e843fdffff CALL __acrt_stdio_char_traits::valid... ;bool validate_stream_is_ansi_if_requ...
.text:0040684b 59 POP ECX
.text:0040684c 84c0 TEST AL,AL
.text:0040684e 742c JZ LAB_0040687c
.text:00406850 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00406853 897de0 MOV dword ptr [EBP + local_24+0x4],EDI
LAB_00406856: ;XREF[1,0]: 004068a5
.text:00406856 8975dc MOV dword ptr [EBP + local_28+0x4],ESI
.text:00406859 3b750c CMP ESI,dword ptr [EBP + param_2+0x4]
.text:0040685c 7416 JZ LAB_00406874
.text:0040685e ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00406861 e8a6620000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:00406866 59 POP ECX
.text:00406867 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:0040686a 83f8ff CMP EAX,-0x1
.text:0040686d 752b JNZ LAB_0040689a
.text:0040686f 3b7d08 CMP EDI,dword ptr [EBP + param_1+0x4]
.text:00406872 7408 JZ LAB_0040687c
LAB_00406874: ;XREF[2,0]: 0040685c,004068a2
.text:00406874 881f MOV byte ptr [EDI],BL
.text:00406876 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:00406879 895de4 MOV dword ptr [EBP + local_20+0x4],EBX
LAB_0040687c: ;XREF[2,0]: 0040684e,00406872
.text:0040687c c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00406883 e822000000 CALL FUN_004068aa ;undefined FUN_004068aa(void)
.text:00406888 8bc3 MOV EAX,EBX
LAB_0040688a: ;XREF[1,0]: 00406820
.text:0040688a 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:0040688d 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00406894 59 POP ECX
.text:00406895 5f POP EDI
.text:00406896 5e POP ESI
.text:00406897 5b POP EBX
.text:00406898 c9 LEAVE
.text:00406899 c3 RET
LAB_0040689a: ;XREF[1,0]: 0040686d
.text:0040689a 8807 MOV byte ptr [EDI],AL
.text:0040689c 47 INC EDI
.text:0040689d 897de0 MOV dword ptr [EBP + local_24+0x4],EDI
.text:004068a0 3c0a CMP AL,0xa
.text:004068a2 74d0 JZ LAB_00406874
.text:004068a4 46 INC ESI
.text:004068a5 ebaf JMP LAB_00406856
.text:004068a7 8b align align(1)
.text:004068a8 5d ?? 5Dh ]
.text:004068a9 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004068aa(void)
;XREF[1,0]: 00406883
.text:004068aa ff7510 PUSH dword ptr [EBP + 0x10]
.text:004068ad e847e1ffff CALL __unlock_file ;void __unlock_file(FILE * _File)
.text:004068b2 59 POP ECX
.text:004068b3 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004068b4(char * param_1, int param_2, FILE * param_3)
;param_1 char * 4
;param_2 int 8
;param_3 FILE * c
;XREF[1,0]: 0040115d
.text:004068b4 8bff MOV EDI,EDI
.text:004068b6 55 PUSH EBP
.text:004068b7 8bec MOV EBP,ESP
.text:004068b9 5d POP EBP
.text:004068ba e923ffffff JMP FUN_004067e2 ;char * FUN_004067e2(char * param_1, ...
;************************************************************************************************
;* Library Function - Single Match *
;* public: int __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 004068cf
;param_2 004068de
;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 004068da,004068eb
;local_14 undefined4 -14 ;XREF[1,0]: 004068f9
;local_20 undefined4 -20 ;XREF[2,0]: 004068cb,004068e8
;XREF[1,0]: 0040c9a1
.text:004068bf 6a0c PUSH 0xc
.text:004068c1 68a81d4200 PUSH .rdata:DAT_00421da8 ;= FEh
.text:004068c6 e835b6ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:004068cb 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
.text:004068cf 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004068d2 ff30 PUSH dword ptr [EAX]
.text:004068d4 e80ce1ffff CALL __lock_file ;void __lock_file(FILE * _File)
.text:004068d9 59 POP this
.text:004068da 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:004068de 8b4d0c MOV this,dword ptr [EBP + param_2+0x4]
.text:004068e1 e8b3250000 CALL ;int operator()( .text:004068e6 8bf0 MOV ESI,EAX
.text:004068e8 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:004068eb c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:004068f2 e817000000 CALL FUN_0040690e ;undefined FUN_0040690e(void)
.text:004068f7 8bc6 MOV EAX,ESI
.text:004068f9 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:004068fc 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:00406903 59 POP this
.text:00406904 5f POP EDI
.text:00406905 5e POP ESI
.text:00406906 5b POP EBX
.text:00406907 c9 LEAVE
.text:00406908 c20c00 RET 0xc
.text:0040690b 8b align align(1)
.text:0040690c 75 ?? 75h u
.text:0040690d e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040690e(void)
;XREF[1,0]: 004068f2
.text:0040690e 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:00406911 ff30 PUSH dword ptr [EAX]
.text:00406913 e8e1e0ffff CALL __unlock_file ;void __unlock_file(FILE * _File)
.text:00406918 59 POP ECX
.text:00406919 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl __crt_strtox::assemble_floating_point_snan(bool,double &) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;void assemble_floating_point_snan(bool param_1, double * param_2)
;param_1 bool 4 ;XREF[1,0]: 0040691f
;param_2 double * 8 ;XREF[1,0]: 00406923
;XREF[1,0]: 00407caa
.text:0040691a 8bff MOV EDI,EDI
.text:0040691c 55 PUSH EBP
.text:0040691d 8bec MOV EBP,ESP
.text:0040691f 0fb64508 MOVZX EAX,byte ptr [EBP + param_1+0x4]
.text:00406923 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00406926 99 CDQ
.text:00406927 33d2 XOR EDX,EDX
.text:00406929 c1e01f SHL EAX,0x1f
.text:0040692c 83ca01 OR EDX,0x1
.text:0040692f 0d0000f07f OR EAX,0x7ff00000
.text:00406934 8911 MOV dword ptr [ECX],EDX
.text:00406936 894104 MOV dword ptr [ECX + 0x4],EAX
.text:00406939 5d POP EBP
.text:0040693a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* enum SLD_STATUS __cdecl __crt_strtox::assemble_floating_point_value_t(bool,int,unsign...*
;* *
;* Libraries: Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 *
;************************************************************************************************
;SLD_STATUS assemble_floating_point_value_t(bool param_1, int param_2, __uint64 param_3, float * param_4)
;param_1 bool 4 ;XREF[1,0]: 00406943
;param_2 int 8 ;XREF[1,0]: 00406940
;param_3 __uint64 c ;XREF[1,0]: 00406958
;param_4 float * 14 ;XREF[1,0]: 00406962
;XREF[1,0]: 00409434
.text:0040693b 8bff MOV EDI,EDI
.text:0040693d 55 PUSH EBP
.text:0040693e 8bec MOV EBP,ESP
.text:00406940 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00406943 0fb64508 MOVZX EAX,byte ptr [EBP + param_1+0x4]
.text:00406947 c1e01f SHL EAX,0x1f
.text:0040694a 8d497f LEA ECX,[ECX + 0x7f]
.text:0040694d c1e117 SHL ECX,0x17
.text:00406950 81e10000807f AND ECX,0x7f800000
.text:00406956 0bc8 OR ECX,EAX
.text:00406958 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0040695b 25ffff7f00 AND EAX,0x7fffff
.text:00406960 0bc8 OR ECX,EAX
.text:00406962 8b4518 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:00406965 8908 MOV dword ptr [EAX],ECX
.text:00406967 33c0 XOR EAX,EAX
.text:00406969 5d POP EBP
.text:0040696a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* enum SLD_STATUS __cdecl __crt_strtox::assemble_floating_point_value_t(bool,int,unsig...*
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;SLD_STATUS assemble_floating_point_value_t(bool param_1, int param_2, __uint64 param_3, double * param_4)
;param_1 bool 4 ;XREF[1,0]: 00406970
;param_2 int 8 ;XREF[1,0]: 0040697a
;param_3 __uint64 c ;XREF[1,1]: 00406976,00406993
;param_4 double * 14 ;XREF[1,0]: 004069a0
;XREF[1,0]: 00409421
.text:0040696b 8bff MOV EDI,EDI
.text:0040696d 55 PUSH EBP
.text:0040696e 8bec MOV EBP,ESP
.text:00406970 0fb64508 MOVZX EAX,byte ptr [EBP + param_1+0x4]
.text:00406974 33c9 XOR ECX,ECX
.text:00406976 0b4d10 OR ECX,dword ptr [EBP + param_3+0x4]
.text:00406979 56 PUSH ESI
.text:0040697a 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040697d 99 CDQ
.text:0040697e 81c6ff030000 ADD ESI,0x3ff
.text:00406984 0fa4c20b SHLD EDX,EAX,0xb
.text:00406988 81e6ff070000 AND ESI,0x7ff
.text:0040698e c1e00b SHL EAX,0xb
.text:00406991 0bf0 OR ESI,EAX
.text:00406993 8b4514 MOV EAX,dword ptr [EBP + param_3+0x8]
.text:00406996 c1e614 SHL ESI,0x14
.text:00406999 25ffff0f00 AND EAX,0xfffff
.text:0040699e 0bf0 OR ESI,EAX
.text:004069a0 8b4518 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:004069a3 897004 MOV dword ptr [EAX + 0x4],ESI
.text:004069a6 8908 MOV dword ptr [EAX],ECX
.text:004069a8 33c0 XOR EAX,EAX
.text:004069aa 5e POP ESI
.text:004069ab 5d POP EBP
.text:004069ac c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl common_vsscanf(unsigned __int64,char const * const,unsigned int,char const...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int common_vsscanf(__uint64 param_1, char * param_2, uint param_3, char * param_4, __crt_locale_pointers * param_5, char * param_6)
;param_1 __uint64 4 ;XREF[1,1]: 00406a2c,00406a29
;param_2 char * c ;XREF[1,0]: 004069c3
;param_3 uint 10 ;XREF[1,0]: 004069e6
;param_4 char * 14 ;XREF[2,0]: 004069df,00406a20
;param_5 __crt_local... 18 ;XREF[1,0]: 004069f1
;param_6 char * 1c ;XREF[1,0]: 00406a01
;local_8 undefined4 -8 ;XREF[2,0]: 004069bf,00406a54
;local_80 undefined1 -80 ;XREF[2,0]: 00406a13,00406a35
;local_84 undefined4 -84 ;XREF[1,0]: 00406a1c
;local_88 undefined4 -88 ;XREF[1,0]: 00406a0d
;local_8c undefined4 -8c ;XREF[2,0]: 00406a07,00406a23
;local_90 undefined1 -90 ;XREF[1,0]: 00406a3d
;local_98 undefined1 -98 ;XREF[1,0]: 00406a16
;local_9c undefined4 -9c ;XREF[2,0]: 004069f4,00406a47
;XREF[1,0]: 0040c9c3
.text:004069ad 8bff MOV EDI,EDI
.text:004069af 55 PUSH EBP
.text:004069b0 8bec MOV EBP,ESP
.text:004069b2 81ec98000000 SUB ESP,0x98
.text:004069b8 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:004069bd 33c5 XOR EAX,EBP
.text:004069bf 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004069c2 57 PUSH EDI
.text:004069c3 8b7d10 MOV EDI,dword ptr [EBP + param_2+0x4]
.text:004069c6 85ff TEST EDI,EDI
.text:004069c8 7515 JNZ LAB_004069df
LAB_004069ca: ;XREF[1,0]: 004069e3
.text:004069ca e835790000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004069cf c70016000000 MOV dword ptr [EAX],0x16
.text:004069d5 e849780000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:004069da 83c8ff OR EAX,0xffffffff
.text:004069dd eb75 JMP LAB_00406a54
LAB_004069df: ;XREF[1,0]: 004069c8
.text:004069df 837d1800 CMP dword ptr [EBP + param_4+0x4],0x0
.text:004069e3 74e5 JZ LAB_004069ca
.text:004069e5 56 PUSH ESI
.text:004069e6 ff7514 PUSH dword ptr [EBP + param_3+0x4]
.text:004069e9 57 PUSH EDI
.text:004069ea e830840000 CALL FUN_0040ee1f ;uint FUN_0040ee1f(undefined[32] * pa...
.text:004069ef 59 POP ECX
.text:004069f0 59 POP ECX
.text:004069f1 ff751c PUSH dword ptr [EBP + param_5+0x4]
.text:004069f4 8d8d68ffffff LEA ECX=>local_9c,[EBP + 0xffffff68]
.text:004069fa 8bf0 MOV ESI,EAX
.text:004069fc e8ec230000 CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:00406a01 ff7520 PUSH dword ptr [EBP + param_6+0x4]
.text:00406a04 8d0437 LEA EAX,[EDI + ESI*0x1]
.text:00406a07 89bd78ffffff MOV dword ptr [EBP + local_8c+0x4],EDI
.text:00406a0d 89857cffffff MOV dword ptr [EBP + local_88+0x4],EAX
.text:00406a13 8d4d84 LEA ECX=>local_80,[EBP + -0x7c]
.text:00406a16 8d856cffffff LEA EAX=>local_98,[EBP + 0xffffff6c]
.text:00406a1c 897d80 MOV dword ptr [EBP + local_84+0x4],EDI
.text:00406a1f 50 PUSH EAX
.text:00406a20 ff7518 PUSH dword ptr [EBP + param_4+0x4]
.text:00406a23 8d8578ffffff LEA EAX=>local_8c,[EBP + 0xffffff78]
.text:00406a29 ff750c PUSH dword ptr [EBP + param_1+0x8]
.text:00406a2c ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00406a2f 50 PUSH EAX
.text:00406a30 e874230000 CALL __crt_stdio_input::input_processor;undefined input_processor .text:00406a35 8d4d84 LEA ECX=>local_80,[EBP + -0x7c]
.text:00406a38 e8fa500000 CALL __crt_stdio_input::input_processor;int process(input_processor .text:00406a3d 80bd74fff... CMP byte ptr [EBP + local_90+0x4],0x0
.text:00406a44 5e POP ESI
.text:00406a45 740d JZ LAB_00406a54
.text:00406a47 8b8d68ffffff MOV ECX,dword ptr [EBP + local_9c+0x4]
.text:00406a4d 83a150030... AND dword ptr [ECX + 0x350],0xfffffffd
LAB_00406a54: ;XREF[2,0]: 004069dd,00406a45
.text:00406a54 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00406a57 33cd XOR ECX,EBP
.text:00406a59 5f POP EDI
.text:00406a5a e8c6b6ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00406a5f c9 LEAVE
.text:00406a60 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* enum SLD_STATUS __cdecl __crt_strtox::convert_decimal_string_to_floating_type(struct ...*
;* enum SLD_STATUS __cdecl __crt_strtox::convert_hexadecimal_string_to_floating_type(str...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined FID_conflict:convert_hexadecimal_string_to_floating_type(uint * param_1, undefined4 param_2)
;param_1 uint * 4 ;XREF[1,0]: 00406a72
;param_2 undefined4 8 ;XREF[1,0]: 00406a68
;local_8 undefined1 -8 ;XREF[1,0]: 00406a75
;local_c undefined4 -c ;XREF[2,0]: 00406a6b,00406a6e
;XREF[1,0]: 00407ac5
.text:00406a61 8bff MOV EDI,EDI
.text:00406a63 55 PUSH EBP
.text:00406a64 8bec MOV EBP,ESP
.text:00406a66 51 PUSH ECX
.text:00406a67 51 PUSH ECX
.text:00406a68 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00406a6b 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00406a6e 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00406a71 50 PUSH EAX
.text:00406a72 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00406a75 c645fc00 MOV byte ptr [EBP + local_8+0x4],0x0
.text:00406a79 e8872b0000 CALL FUN_00409605 ;undefined FUN_00409605(uint * param_...
.text:00406a7e 59 POP ECX
.text:00406a7f 59 POP ECX
.text:00406a80 c9 LEAVE
.text:00406a81 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* enum SLD_STATUS __cdecl __crt_strtox::convert_decimal_string_to_floating_type(struct...*
;* enum SLD_STATUS __cdecl __crt_strtox::convert_hexadecimal_string_to_floating_type(st...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined FID_conflict:convert_hexadecimal_string_to_floating_type(void * this, uint * param_1, undefined4 param_2)
;this void * ECX
;param_1 uint * 4 ;XREF[1,0]: 00406a93
;param_2 undefined4 8 ;XREF[1,0]: 00406a89
;local_8 undefined1 -8 ;XREF[1,0]: 00406a96
;local_c undefined4 -c ;XREF[2,0]: 00406a8c,00406a8f
;XREF[1,0]: 00407c30
.text:00406a82 8bff MOV EDI,EDI
.text:00406a84 55 PUSH EBP
.text:00406a85 8bec MOV EBP,ESP
.text:00406a87 51 PUSH this
.text:00406a88 51 PUSH this
.text:00406a89 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00406a8c 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00406a8f 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00406a92 50 PUSH EAX
.text:00406a93 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00406a96 c645fc01 MOV byte ptr [EBP + local_8+0x4],0x1
.text:00406a9a e8662b0000 CALL FUN_00409605 ;undefined FUN_00409605(uint * param_...
.text:00406a9f 59 POP this
.text:00406aa0 59 POP this
.text:00406aa1 c9 LEAVE
.text:00406aa2 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* enum SLD_STATUS __cdecl __crt_strtox::convert_decimal_string_to_floating_type(struct ...*
;* enum SLD_STATUS __cdecl __crt_strtox::convert_hexadecimal_string_to_floating_type(str...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined FID_conflict:convert_hexadecimal_string_to_floating_type(int * param_1, undefined4 param_2)
;param_1 int * 4 ;XREF[1,0]: 00406ab4
;param_2 undefined4 8 ;XREF[1,0]: 00406aaa
;local_8 undefined1 -8 ;XREF[1,0]: 00406ab7
;local_c undefined4 -c ;XREF[2,0]: 00406aad,00406ab0
;XREF[1,0]: 00407ad7
.text:00406aa3 8bff MOV EDI,EDI
.text:00406aa5 55 PUSH EBP
.text:00406aa6 8bec MOV EBP,ESP
.text:00406aa8 51 PUSH ECX
.text:00406aa9 51 PUSH ECX
.text:00406aaa 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00406aad 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00406ab0 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00406ab3 50 PUSH EAX
.text:00406ab4 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00406ab7 c645fc00 MOV byte ptr [EBP + local_8+0x4],0x0
.text:00406abb e8eb480000 CALL FUN_0040b3ab ;undefined FUN_0040b3ab(int * param_1...
.text:00406ac0 59 POP ECX
.text:00406ac1 59 POP ECX
.text:00406ac2 c9 LEAVE
.text:00406ac3 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* enum SLD_STATUS __cdecl __crt_strtox::convert_decimal_string_to_floating_type(struct...*
;* enum SLD_STATUS __cdecl __crt_strtox::convert_hexadecimal_string_to_floating_type(st...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined FID_conflict:convert_hexadecimal_string_to_floating_type(void * this, int * param_1, undefined4 param_2)
;this void * ECX
;param_1 int * 4 ;XREF[1,0]: 00406ad5
;param_2 undefined4 8 ;XREF[1,0]: 00406acb
;local_8 undefined1 -8 ;XREF[1,0]: 00406ad8
;local_c undefined4 -c ;XREF[2,0]: 00406ace,00406ad1
;XREF[1,0]: 00407c3f
.text:00406ac4 8bff MOV EDI,EDI
.text:00406ac6 55 PUSH EBP
.text:00406ac7 8bec MOV EBP,ESP
.text:00406ac9 51 PUSH this
.text:00406aca 51 PUSH this
.text:00406acb 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00406ace 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00406ad1 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00406ad4 50 PUSH EAX
.text:00406ad5 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00406ad8 c645fc01 MOV byte ptr [EBP + local_8+0x4],0x1
.text:00406adc e8ca480000 CALL FUN_0040b3ab ;undefined FUN_0040b3ab(int * param_1...
.text:00406ae1 59 POP this
.text:00406ae2 59 POP this
.text:00406ae3 c9 LEAVE
.text:00406ae4 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00406ae5(byte param_1, int param_2, uint param_3)
;param_1 byte 4 ;XREF[3,0]: 00406aea,00406af0,00406af6
;param_2 int 8 ;XREF[2,0]: 00406b07,00406b18
;param_3 uint c ;XREF[2,0]: 00406afc,00406b0d
;XREF[3,0]: 00407fb4,00408314,0040dde9
.text:00406ae5 8bff MOV EDI,EDI
.text:00406ae7 55 PUSH EBP
.text:00406ae8 8bec MOV EBP,ESP
.text:00406aea f6450804 TEST byte ptr [EBP + param_1+0x4],0x4
.text:00406aee 7532 JNZ LAB_00406b22
.text:00406af0 f6450801 TEST byte ptr [EBP + param_1+0x4],0x1
.text:00406af4 7428 JZ LAB_00406b1e
.text:00406af6 f6450802 TEST byte ptr [EBP + param_1+0x4],0x2
.text:00406afa 7411 JZ LAB_00406b0d
.text:00406afc 817d10000... CMP dword ptr [EBP + param_3+0x4],0x80000000
.text:00406b03 771d JA LAB_00406b22
.text:00406b05 7217 JC LAB_00406b1e
.text:00406b07 837d0c00 CMP dword ptr [EBP + param_2+0x4],0x0
.text:00406b0b eb0f JMP LAB_00406b1c
LAB_00406b0d: ;XREF[1,0]: 00406afa
.text:00406b0d 817d10fff... CMP dword ptr [EBP + param_3+0x4],0x7fffffff
.text:00406b14 770c JA LAB_00406b22
.text:00406b16 7206 JC LAB_00406b1e
.text:00406b18 837d0cff CMP dword ptr [EBP + param_2+0x4],-0x1
LAB_00406b1c: ;XREF[1,0]: 00406b0b
.text:00406b1c 7704 JA LAB_00406b22
LAB_00406b1e: ;XREF[3,0]: 00406af4,00406b05,00406b16
.text:00406b1e 32c0 XOR AL,AL
.text:00406b20 5d POP EBP
.text:00406b21 c3 RET
LAB_00406b22: ;XREF[4,0]: 00406aee,00406b03,00406b14,00406b1c
.text:00406b22 b001 MOV AL,0x1
.text:00406b24 5d POP EBP
.text:00406b25 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_00406b26(void * param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4, undefined * param_5)
;param_1 void * 4 ;XREF[2,0]: 00406b2e,00406b3f
;param_2 undefined4 8 ;XREF[1,0]: 00406b37
;param_3 undefined4 c ;XREF[1,0]: 00406b34
;param_4 undefined4 10 ;XREF[1,0]: 00406b31
;param_5 undefined * 14 ;XREF[1,0]: 00406b2b
;XREF[6,0]: 00408426,0040848f,004084f8,00408561
; 0040bd60,0040bdc5
.text:00406b26 8bff MOV EDI,EDI
.text:00406b28 55 PUSH EBP
.text:00406b29 8bec MOV EBP,ESP
.text:00406b2b ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00406b2e 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00406b31 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00406b34 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00406b37 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00406b3a e8f0210000 CALL FUN_00408d2f ;void * FUN_00408d2f(void * this, und...
.text:00406b3f 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00406b42 5d POP EBP
.text:00406b43 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00406b44(_locale_t param_1)
;param_1 _locale_t 4 ;XREF[1,0]: 00406b59
;local_8 undefined4 -8 ;XREF[2,0]: 00406b56,00406bc1
;local_314 undefined1 -314 ;XREF[2,0]: 00406b8e,00406ba0
;XREF[1,0]: 0040842f
.text:00406b44 8bff MOV EDI,EDI
.text:00406b46 55 PUSH EBP
.text:00406b47 8bec MOV EBP,ESP
.text:00406b49 81ec10030000 SUB ESP,0x310
.text:00406b4f a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00406b54 33c5 XOR EAX,EBP
.text:00406b56 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00406b59 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00406b5c 56 PUSH ESI
.text:00406b5d 8b752c MOV ESI,dword ptr [EBP + Stack[0x28]+0x4]
.text:00406b60 85f6 TEST ESI,ESI
.text:00406b62 7404 JZ LAB_00406b68
.text:00406b64 85c0 TEST EAX,EAX
.text:00406b66 7526 JNZ LAB_00406b8e
LAB_00406b68: ;XREF[1,0]: 00406b62
.text:00406b68 e897770000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00406b6d c70016000000 MOV dword ptr [EAX],0x16
.text:00406b73 e8ab760000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00406b78 8b4d24 MOV ECX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00406b7b 85c9 TEST ECX,ECX
.text:00406b7d 740a JZ LAB_00406b89
.text:00406b7f 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00406b82 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00406b85 7502 JNZ LAB_00406b89
.text:00406b87 8801 MOV byte ptr [ECX],AL
LAB_00406b89: ;XREF[2,0]: 00406b7d,00406b85
.text:00406b89 33c0 XOR EAX,EAX
.text:00406b8b 40 INC EAX
.text:00406b8c eb33 JMP LAB_00406bc1
LAB_00406b8e: ;XREF[1,0]: 00406b66
.text:00406b8e 8d8df0fcffff LEA ECX=>local_314,[EBP + 0xfffffcf0]
.text:00406b94 51 PUSH ECX
.text:00406b95 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00406b98 51 PUSH ECX
.text:00406b99 50 PUSH EAX
.text:00406b9a e8cd010000 CALL FUN_00406d6c ;uint FUN_00406d6c(_locale_t param_1,...
.text:00406b9f 56 PUSH ESI
.text:00406ba0 8d8df0fcffff LEA ECX=>local_314,[EBP + 0xfffffcf0]
.text:00406ba6 51 PUSH ECX
.text:00406ba7 50 PUSH EAX
.text:00406ba8 e8f90e0000 CALL __crt_strtox::parse_floating_point_wr...;SLD_STATUS parse_floating_point_writ...
.text:00406bad 8b5524 MOV EDX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00406bb0 83c418 ADD ESP,0x18
.text:00406bb3 85d2 TEST EDX,EDX
.text:00406bb5 740a JZ LAB_00406bc1
.text:00406bb7 8b4d1c MOV ECX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00406bba 0b4d20 OR ECX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00406bbd 7502 JNZ LAB_00406bc1
.text:00406bbf 880a MOV byte ptr [EDX],CL
LAB_00406bc1: ;XREF[3,0]: 00406b8c,00406bb5,00406bbd
.text:00406bc1 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00406bc4 33cd XOR ECX,EBP
.text:00406bc6 5e POP ESI
.text:00406bc7 e859b5ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00406bcc c9 LEAVE
.text:00406bcd c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00406bce(_locale_t param_1)
;param_1 _locale_t 4 ;XREF[1,0]: 00406be3
;local_8 undefined4 -8 ;XREF[2,0]: 00406be0,00406c4b
;local_314 undefined1 -314 ;XREF[2,0]: 00406c18,00406c2a
;XREF[1,0]: 00408501
.text:00406bce 8bff MOV EDI,EDI
.text:00406bd0 55 PUSH EBP
.text:00406bd1 8bec MOV EBP,ESP
.text:00406bd3 81ec10030000 SUB ESP,0x310
.text:00406bd9 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00406bde 33c5 XOR EAX,EBP
.text:00406be0 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00406be3 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00406be6 56 PUSH ESI
.text:00406be7 8b752c MOV ESI,dword ptr [EBP + Stack[0x28]+0x4]
.text:00406bea 85f6 TEST ESI,ESI
.text:00406bec 7404 JZ LAB_00406bf2
.text:00406bee 85c0 TEST EAX,EAX
.text:00406bf0 7526 JNZ LAB_00406c18
LAB_00406bf2: ;XREF[1,0]: 00406bec
.text:00406bf2 e80d770000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00406bf7 c70016000000 MOV dword ptr [EAX],0x16
.text:00406bfd e821760000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00406c02 8b4d24 MOV ECX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00406c05 85c9 TEST ECX,ECX
.text:00406c07 740a JZ LAB_00406c13
.text:00406c09 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00406c0c 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00406c0f 7502 JNZ LAB_00406c13
.text:00406c11 8801 MOV byte ptr [ECX],AL
LAB_00406c13: ;XREF[2,0]: 00406c07,00406c0f
.text:00406c13 33c0 XOR EAX,EAX
.text:00406c15 40 INC EAX
.text:00406c16 eb33 JMP LAB_00406c4b
LAB_00406c18: ;XREF[1,0]: 00406bf0
.text:00406c18 8d8df0fcffff LEA ECX=>local_314,[EBP + 0xfffffcf0]
.text:00406c1e 51 PUSH ECX
.text:00406c1f 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00406c22 51 PUSH ECX
.text:00406c23 50 PUSH EAX
.text:00406c24 e843010000 CALL FUN_00406d6c ;uint FUN_00406d6c(_locale_t param_1,...
.text:00406c29 56 PUSH ESI
.text:00406c2a 8d8df0fcffff LEA ECX=>local_314,[EBP + 0xfffffcf0]
.text:00406c30 51 PUSH ECX
.text:00406c31 50 PUSH EAX
.text:00406c32 e8db0f0000 CALL __crt_strtox::parse_floating_point_wr...;SLD_STATUS parse_floating_point_writ...
.text:00406c37 8b5524 MOV EDX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00406c3a 83c418 ADD ESP,0x18
.text:00406c3d 85d2 TEST EDX,EDX
.text:00406c3f 740a JZ LAB_00406c4b
.text:00406c41 8b4d1c MOV ECX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00406c44 0b4d20 OR ECX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00406c47 7502 JNZ LAB_00406c4b
.text:00406c49 880a MOV byte ptr [EDX],CL
LAB_00406c4b: ;XREF[3,0]: 00406c16,00406c3f,00406c47
.text:00406c4b 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00406c4e 33cd XOR ECX,EBP
.text:00406c50 5e POP ESI
.text:00406c51 e8cfb4ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00406c56 c9 LEAVE
.text:00406c57 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00406c58(_locale_t param_1)
;param_1 _locale_t 4 ;XREF[1,0]: 00406c6d
;local_8 undefined4 -8 ;XREF[2,0]: 00406c6a,00406cd5
;local_314 undefined1 -314 ;XREF[2,0]: 00406ca2,00406cb4
;XREF[1,0]: 00408498
.text:00406c58 8bff MOV EDI,EDI
.text:00406c5a 55 PUSH EBP
.text:00406c5b 8bec MOV EBP,ESP
.text:00406c5d 81ec10030000 SUB ESP,0x310
.text:00406c63 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00406c68 33c5 XOR EAX,EBP
.text:00406c6a 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00406c6d 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00406c70 56 PUSH ESI
.text:00406c71 8b752c MOV ESI,dword ptr [EBP + Stack[0x28]+0x4]
.text:00406c74 85f6 TEST ESI,ESI
.text:00406c76 7404 JZ LAB_00406c7c
.text:00406c78 85c0 TEST EAX,EAX
.text:00406c7a 7526 JNZ LAB_00406ca2
LAB_00406c7c: ;XREF[1,0]: 00406c76
.text:00406c7c e883760000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00406c81 c70016000000 MOV dword ptr [EAX],0x16
.text:00406c87 e897750000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00406c8c 8b4d24 MOV ECX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00406c8f 85c9 TEST ECX,ECX
.text:00406c91 740a JZ LAB_00406c9d
.text:00406c93 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00406c96 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00406c99 7502 JNZ LAB_00406c9d
.text:00406c9b 8801 MOV byte ptr [ECX],AL
LAB_00406c9d: ;XREF[2,0]: 00406c91,00406c99
.text:00406c9d 33c0 XOR EAX,EAX
.text:00406c9f 40 INC EAX
.text:00406ca0 eb33 JMP LAB_00406cd5
LAB_00406ca2: ;XREF[1,0]: 00406c7a
.text:00406ca2 8d8df0fcffff LEA ECX=>local_314,[EBP + 0xfffffcf0]
.text:00406ca8 51 PUSH ECX
.text:00406ca9 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00406cac 51 PUSH ECX
.text:00406cad 50 PUSH EAX
.text:00406cae e81b050000 CALL FUN_004071ce ;uint FUN_004071ce(_locale_t param_1,...
.text:00406cb3 56 PUSH ESI
.text:00406cb4 8d8df0fcffff LEA ECX=>local_314,[EBP + 0xfffffcf0]
.text:00406cba 51 PUSH ECX
.text:00406cbb 50 PUSH EAX
.text:00406cbc e8e50d0000 CALL __crt_strtox::parse_floating_point_wr...;SLD_STATUS parse_floating_point_writ...
.text:00406cc1 8b5524 MOV EDX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00406cc4 83c418 ADD ESP,0x18
.text:00406cc7 85d2 TEST EDX,EDX
.text:00406cc9 740a JZ LAB_00406cd5
.text:00406ccb 8b4d1c MOV ECX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00406cce 0b4d20 OR ECX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00406cd1 7502 JNZ LAB_00406cd5
.text:00406cd3 880a MOV byte ptr [EDX],CL
LAB_00406cd5: ;XREF[3,0]: 00406ca0,00406cc9,00406cd1
.text:00406cd5 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00406cd8 33cd XOR ECX,EBP
.text:00406cda 5e POP ESI
.text:00406cdb e845b4ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00406ce0 c9 LEAVE
.text:00406ce1 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00406ce2(_locale_t param_1)
;param_1 _locale_t 4 ;XREF[1,0]: 00406cf7
;local_8 undefined4 -8 ;XREF[2,0]: 00406cf4,00406d5f
;local_314 undefined1 -314 ;XREF[2,0]: 00406d2c,00406d3e
;XREF[1,0]: 0040856a
.text:00406ce2 8bff MOV EDI,EDI
.text:00406ce4 55 PUSH EBP
.text:00406ce5 8bec MOV EBP,ESP
.text:00406ce7 81ec10030000 SUB ESP,0x310
.text:00406ced a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00406cf2 33c5 XOR EAX,EBP
.text:00406cf4 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00406cf7 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00406cfa 56 PUSH ESI
.text:00406cfb 8b752c MOV ESI,dword ptr [EBP + Stack[0x28]+0x4]
.text:00406cfe 85f6 TEST ESI,ESI
.text:00406d00 7404 JZ LAB_00406d06
.text:00406d02 85c0 TEST EAX,EAX
.text:00406d04 7526 JNZ LAB_00406d2c
LAB_00406d06: ;XREF[1,0]: 00406d00
.text:00406d06 e8f9750000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00406d0b c70016000000 MOV dword ptr [EAX],0x16
.text:00406d11 e80d750000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00406d16 8b4d24 MOV ECX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00406d19 85c9 TEST ECX,ECX
.text:00406d1b 740a JZ LAB_00406d27
.text:00406d1d 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00406d20 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00406d23 7502 JNZ LAB_00406d27
.text:00406d25 8801 MOV byte ptr [ECX],AL
LAB_00406d27: ;XREF[2,0]: 00406d1b,00406d23
.text:00406d27 33c0 XOR EAX,EAX
.text:00406d29 40 INC EAX
.text:00406d2a eb33 JMP LAB_00406d5f
LAB_00406d2c: ;XREF[1,0]: 00406d04
.text:00406d2c 8d8df0fcffff LEA ECX=>local_314,[EBP + 0xfffffcf0]
.text:00406d32 51 PUSH ECX
.text:00406d33 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00406d36 51 PUSH ECX
.text:00406d37 50 PUSH EAX
.text:00406d38 e891040000 CALL FUN_004071ce ;uint FUN_004071ce(_locale_t param_1,...
.text:00406d3d 56 PUSH ESI
.text:00406d3e 8d8df0fcffff LEA ECX=>local_314,[EBP + 0xfffffcf0]
.text:00406d44 51 PUSH ECX
.text:00406d45 50 PUSH EAX
.text:00406d46 e8c70e0000 CALL __crt_strtox::parse_floating_point_wr...;SLD_STATUS parse_floating_point_writ...
.text:00406d4b 8b5524 MOV EDX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00406d4e 83c418 ADD ESP,0x18
.text:00406d51 85d2 TEST EDX,EDX
.text:00406d53 740a JZ LAB_00406d5f
.text:00406d55 8b4d1c MOV ECX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00406d58 0b4d20 OR ECX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00406d5b 7502 JNZ LAB_00406d5f
.text:00406d5d 880a MOV byte ptr [EDX],CL
LAB_00406d5f: ;XREF[3,0]: 00406d2a,00406d53,00406d5b
.text:00406d5f 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00406d62 33cd XOR ECX,EBP
.text:00406d64 5e POP ESI
.text:00406d65 e8bbb3ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00406d6a c9 LEAVE
.text:00406d6b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00406d6c(_locale_t param_1, int * param_2, int * param_3)
;param_1 _locale_t 4 ;XREF[2,0]: 00406d9c,00406f03
;param_2 int * 8 ;XREF[1,0]: 00406d76
;param_3 int * c ;XREF[7,0]: 00406dd0,00406e63,00406e8c,00406ef6,00406f22
; 00406f90,00407130
;local_5 undefined1 -5 ;XREF[7,0]: 00406e18,00406e4c,00406e94,00406fc9,0040700d
; 00407012,00407162
;local_6 undefined1 -6 ;XREF[10,0]: 00406e69,00406e77,00406ee1,00406f3a,00406f99
; 00406fb7,00407049,00407051,0040709c,00407106
;local_7 undefined1 -7 ;XREF[2,0]: 0040702f,004070fe
;local_b undefined4 -b ;XREF[22,0]: 00406d9f,00406db8,00406dcd,00406def,00406e45
; 00406e5d,00406e84,00406efb,00406f2a,00406f48
; 00406fad,00406fdb,00406ff8,0040702c,00407046
; 0040705e,004070b3,004070f9,00407123,00407126
; 004071a7,004071bf
;local_10 undefined4 -10 ;XREF[9,0]: 00406e28,00406e5a,00406e6f,00406e8f,00406f00
; 00406f2d,00406f56,00406fb2,00407133
;local_14 undefined4 -14 ;XREF[7,0]: 00406e30,00406e3b,00406e66,00406eec,00406f37
; 00406f50,00407171
;local_18 undefined4 -18 ;XREF[2,0]: 00406ea1,00406f53
;local_1c undefined4 -1c ;XREF[5,0]: 00406d8f,00406e60,00406feb,004071a4,004071bc
;local_20 undefined4 -20 ;XREF[6,0]: 00406d94,00406da5,00406e57,00406ff0,004071aa
; 004071c2
;local_24 undefined4 -24 ;XREF[1,0]: 00406dab
;local_28 undefined4 -28 ;XREF[1,0]: 00406da2
;local_2c undefined4 -2c ;XREF[3,0]: 00406da8,00406fbd,0040710c
;XREF[2,0]: 00406b9a,00406c24
.text:00406d6c 8bff MOV EDI,EDI
.text:00406d6e 55 PUSH EBP
.text:00406d6f 8bec MOV EBP,ESP
.text:00406d71 83ec28 SUB ESP,0x28
.text:00406d74 53 PUSH EBX
.text:00406d75 56 PUSH ESI
.text:00406d76 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00406d79 8bce MOV ECX,ESI
.text:00406d7b 57 PUSH EDI
.text:00406d7c e87e590000 CALL FUN_0040c6ff ;undefined4 FUN_0040c6ff(int * param_1)
.text:00406d81 84c0 TEST AL,AL
.text:00406d83 0f844a020000 JZ LAB_00406fd3
.text:00406d89 8b4e14 MOV ECX,dword ptr [ESI + 0x14]
.text:00406d8c 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:00406d8f 894de8 MOV dword ptr [EBP + local_1c+0x4],ECX
.text:00406d92 8bce MOV ECX,ESI
.text:00406d94 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:00406d97 e87f4b0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00406d9c 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00406d9f 8d4df9 LEA ECX=>local_b,[EBP + -0x7]
.text:00406da2 894ddc MOV dword ptr [EBP + local_28+0x4],ECX
.text:00406da5 8d4de4 LEA ECX=>local_20,[EBP + -0x1c]
.text:00406da8 8975d8 MOV dword ptr [EBP + local_2c+0x4],ESI
.text:00406dab 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:00406dae eb07 JMP LAB_00406db7
LAB_00406db0: ;XREF[1,0]: 00406dcb
.text:00406db0 8bce MOV ECX,ESI
.text:00406db2 e8644b0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
LAB_00406db7: ;XREF[1,0]: 00406dae
.text:00406db7 57 PUSH EDI
.text:00406db8 8845f9 MOV byte ptr [EBP + local_b+0x4],AL
.text:00406dbb 0fb6c0 MOVZX EAX,AL
.text:00406dbe 6a08 PUSH 0x8
.text:00406dc0 50 PUSH EAX
.text:00406dc1 e8075c0000 CALL FUN_0040c9cd ;uint FUN_0040c9cd(int param_1, uint ...
.text:00406dc6 83c40c ADD ESP,0xc
.text:00406dc9 85c0 TEST EAX,EAX
.text:00406dcb 75e3 JNZ LAB_00406db0
.text:00406dcd 8a4df9 MOV CL,byte ptr [EBP + local_b+0x4]
.text:00406dd0 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00406dd3 80f92d CMP CL,0x2d
.text:00406dd6 0f94c0 SETZ AL
.text:00406dd9 888208030000 MOV byte ptr [EDX + 0x308],AL
.text:00406ddf 7405 JZ LAB_00406de6
.text:00406de1 80f92b CMP CL,0x2b
.text:00406de4 750c JNZ LAB_00406df2
LAB_00406de6: ;XREF[1,0]: 00406ddf
.text:00406de6 8bce MOV ECX,ESI
.text:00406de8 e82e4b0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00406ded 8ac8 MOV CL,AL
.text:00406def 884df9 MOV byte ptr [EBP + local_b+0x4],CL
LAB_00406df2: ;XREF[1,0]: 00406de4
.text:00406df2 80f949 CMP CL,0x49
.text:00406df5 0f84c1030000 JZ LAB_004071bc
.text:00406dfb 80f969 CMP CL,0x69
.text:00406dfe 0f84b8030000 JZ LAB_004071bc
.text:00406e04 80f94e CMP CL,0x4e
.text:00406e07 0f8497030000 JZ LAB_004071a4
.text:00406e0d 80f96e CMP CL,0x6e
.text:00406e10 0f848e030000 JZ LAB_004071a4
.text:00406e16 33db XOR EBX,EBX
.text:00406e18 885dff MOV byte ptr [EBP + local_5+0x4],BL
.text:00406e1b 80f930 CMP CL,0x30
.text:00406e1e 7543 JNZ LAB_00406e63
.text:00406e20 8b4614 MOV EAX,dword ptr [ESI + 0x14]
.text:00406e23 8bce MOV ECX,ESI
.text:00406e25 8b7e10 MOV EDI,dword ptr [ESI + 0x10]
.text:00406e28 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00406e2b e8eb4a0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00406e30 8845f0 MOV byte ptr [EBP + local_14+0x4],AL
.text:00406e33 3c78 CMP AL,0x78
.text:00406e35 7413 JZ LAB_00406e4a
.text:00406e37 3c58 CMP AL,0x58
.text:00406e39 740f JZ LAB_00406e4a
.text:00406e3b ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:00406e3e 8bce MOV ECX,ESI
.text:00406e40 e8d3570000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00406e45 8a4df9 MOV CL,byte ptr [EBP + local_b+0x4]
.text:00406e48 eb19 JMP LAB_00406e63
LAB_00406e4a: ;XREF[2,0]: 00406e35,00406e39
.text:00406e4a 8bce MOV ECX,ESI
.text:00406e4c c645ff01 MOV byte ptr [EBP + local_5+0x4],0x1
.text:00406e50 e8c64a0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00406e55 8ac8 MOV CL,AL
.text:00406e57 897de4 MOV dword ptr [EBP + local_20+0x4],EDI
.text:00406e5a 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00406e5d 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00406e60 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
LAB_00406e63: ;XREF[2,0]: 00406e1e,00406e48
.text:00406e63 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00406e66 895df0 MOV dword ptr [EBP + local_14+0x4],EBX
.text:00406e69 885dfe MOV byte ptr [EBP + local_6+0x4],BL
.text:00406e6c 8d4208 LEA EAX,[EDX + 0x8]
.text:00406e6f 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00406e72 80f930 CMP CL,0x30
.text:00406e75 7518 JNZ LAB_00406e8f
.text:00406e77 c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
LAB_00406e7b: ;XREF[1,0]: 00406e8a
.text:00406e7b 8bce MOV ECX,ESI
.text:00406e7d e8994a0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00406e82 8ac8 MOV CL,AL
.text:00406e84 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00406e87 80f930 CMP CL,0x30
.text:00406e8a 74ef JZ LAB_00406e7b
.text:00406e8c 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
LAB_00406e8f: ;XREF[1,0]: 00406e75
.text:00406e8f 8b7df4 MOV EDI,dword ptr [EBP + local_10+0x4]
.text:00406e92 33db XOR EBX,EBX
.text:00406e94 385dff CMP byte ptr [EBP + local_5+0x4],BL
.text:00406e97 0f94c3 SETZ BL
.text:00406e9a 4b DEC EBX
.text:00406e9b 83e306 AND EBX,0x6
.text:00406e9e 83c309 ADD EBX,0x9
.text:00406ea1 895dec MOV dword ptr [EBP + local_18+0x4],EBX
LAB_00406ea4: ;XREF[1,0]: 00406efe
.text:00406ea4 8ac1 MOV AL,CL
.text:00406ea6 2c30 SUB AL,0x30
.text:00406ea8 3c09 CMP AL,0x9
.text:00406eaa 7708 JA LAB_00406eb4
.text:00406eac 0fbec1 MOVSX EAX,CL
.text:00406eaf 83e830 SUB EAX,0x30
.text:00406eb2 eb23 JMP LAB_00406ed7
LAB_00406eb4: ;XREF[1,0]: 00406eaa
.text:00406eb4 8ac1 MOV AL,CL
.text:00406eb6 2c61 SUB AL,0x61
.text:00406eb8 3c19 CMP AL,0x19
.text:00406eba 7708 JA LAB_00406ec4
.text:00406ebc 0fbec1 MOVSX EAX,CL
.text:00406ebf 83e857 SUB EAX,0x57
.text:00406ec2 eb13 JMP LAB_00406ed7
LAB_00406ec4: ;XREF[1,0]: 00406eba
.text:00406ec4 8ac1 MOV AL,CL
.text:00406ec6 2c41 SUB AL,0x41
.text:00406ec8 3c19 CMP AL,0x19
.text:00406eca 7708 JA LAB_00406ed4
.text:00406ecc 0fbec1 MOVSX EAX,CL
.text:00406ecf 83e837 SUB EAX,0x37
.text:00406ed2 eb03 JMP LAB_00406ed7
LAB_00406ed4: ;XREF[1,0]: 00406eca
.text:00406ed4 83c8ff OR EAX,0xffffffff
LAB_00406ed7: ;XREF[3,0]: 00406eb2,00406ec2,00406ed2
.text:00406ed7 3bc3 CMP EAX,EBX
.text:00406ed9 7725 JA LAB_00406f00
.text:00406edb 8d8a08030000 LEA ECX,[EDX + 0x308]
.text:00406ee1 c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
.text:00406ee5 3bf9 CMP EDI,ECX
.text:00406ee7 7403 JZ LAB_00406eec
.text:00406ee9 8807 MOV byte ptr [EDI],AL
.text:00406eeb 47 INC EDI
LAB_00406eec: ;XREF[1,0]: 00406ee7
.text:00406eec ff45f0 INC dword ptr [EBP + local_14+0x4]
.text:00406eef 8bce MOV ECX,ESI
.text:00406ef1 e8254a0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00406ef6 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00406ef9 8ac8 MOV CL,AL
.text:00406efb 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00406efe eba4 JMP LAB_00406ea4
LAB_00406f00: ;XREF[1,0]: 00406ed9
.text:00406f00 897df4 MOV dword ptr [EBP + local_10+0x4],EDI
.text:00406f03 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00406f06 6a00 PUSH 0x0
.text:00406f08 5b POP EBX
.text:00406f09 8b07 MOV EAX,dword ptr [EDI]
.text:00406f0b 8b8088000000 MOV EAX,dword ptr [EAX + 0x88]
.text:00406f11 8b00 MOV EAX,dword ptr [EAX]
.text:00406f13 3a08 CMP CL,byte ptr [EAX]
.text:00406f15 0f859c000000 JNZ LAB_00406fb7
.text:00406f1b 8bce MOV ECX,ESI
.text:00406f1d e8f9490000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00406f22 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00406f25 8ac8 MOV CL,AL
.text:00406f27 83c208 ADD EDX,0x8
.text:00406f2a 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00406f2d 3955f4 CMP dword ptr [EBP + local_10+0x4],EDX
.text:00406f30 7521 JNZ LAB_00406f53
.text:00406f32 80f930 CMP CL,0x30
.text:00406f35 751c JNZ LAB_00406f53
.text:00406f37 8b5df0 MOV EBX,dword ptr [EBP + local_14+0x4]
.text:00406f3a c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
LAB_00406f3e: ;XREF[1,0]: 00406f4e
.text:00406f3e 8bce MOV ECX,ESI
.text:00406f40 4b DEC EBX
.text:00406f41 e8d5490000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00406f46 8ac8 MOV CL,AL
.text:00406f48 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00406f4b 80f930 CMP CL,0x30
.text:00406f4e 74ee JZ LAB_00406f3e
.text:00406f50 895df0 MOV dword ptr [EBP + local_14+0x4],EBX
LAB_00406f53: ;XREF[2,0]: 00406f30,00406f35
.text:00406f53 8b7dec MOV EDI,dword ptr [EBP + local_18+0x4]
.text:00406f56 8b5df4 MOV EBX,dword ptr [EBP + local_10+0x4]
LAB_00406f59: ;XREF[1,0]: 00406fb0
.text:00406f59 8ac1 MOV AL,CL
.text:00406f5b 2c30 SUB AL,0x30
.text:00406f5d 3c09 CMP AL,0x9
.text:00406f5f 7708 JA LAB_00406f69
.text:00406f61 0fbec1 MOVSX EAX,CL
.text:00406f64 83e830 SUB EAX,0x30
.text:00406f67 eb23 JMP LAB_00406f8c
LAB_00406f69: ;XREF[1,0]: 00406f5f
.text:00406f69 8ac1 MOV AL,CL
.text:00406f6b 2c61 SUB AL,0x61
.text:00406f6d 3c19 CMP AL,0x19
.text:00406f6f 7708 JA LAB_00406f79
.text:00406f71 0fbec1 MOVSX EAX,CL
.text:00406f74 83e857 SUB EAX,0x57
.text:00406f77 eb13 JMP LAB_00406f8c
LAB_00406f79: ;XREF[1,0]: 00406f6f
.text:00406f79 8ac1 MOV AL,CL
.text:00406f7b 2c41 SUB AL,0x41
.text:00406f7d 3c19 CMP AL,0x19
.text:00406f7f 7708 JA LAB_00406f89
.text:00406f81 0fbec1 MOVSX EAX,CL
.text:00406f84 83e837 SUB EAX,0x37
.text:00406f87 eb03 JMP LAB_00406f8c
LAB_00406f89: ;XREF[1,0]: 00406f7f
.text:00406f89 83c8ff OR EAX,0xffffffff
LAB_00406f8c: ;XREF[3,0]: 00406f67,00406f77,00406f87
.text:00406f8c 3bc7 CMP EAX,EDI
.text:00406f8e 7722 JA LAB_00406fb2
.text:00406f90 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00406f93 81c108030000 ADD ECX,0x308
.text:00406f99 c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
.text:00406f9d 3bd9 CMP EBX,ECX
.text:00406f9f 7403 JZ LAB_00406fa4
.text:00406fa1 8803 MOV byte ptr [EBX],AL
.text:00406fa3 43 INC EBX
LAB_00406fa4: ;XREF[1,0]: 00406f9f
.text:00406fa4 8bce MOV ECX,ESI
.text:00406fa6 e870490000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00406fab 8ac8 MOV CL,AL
.text:00406fad 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00406fb0 eba7 JMP LAB_00406f59
LAB_00406fb2: ;XREF[1,0]: 00406f8e
.text:00406fb2 895df4 MOV dword ptr [EBP + local_10+0x4],EBX
.text:00406fb5 33db XOR EBX,EBX
LAB_00406fb7: ;XREF[1,0]: 00406f15
.text:00406fb7 807dfe00 CMP byte ptr [EBP + local_6+0x4],0x0
.text:00406fbb 751e JNZ LAB_00406fdb
.text:00406fbd 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:00406fc0 e8aa1e0000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:00406fc5 84c0 TEST AL,AL
.text:00406fc7 740a JZ LAB_00406fd3
.text:00406fc9 807dff00 CMP byte ptr [EBP + local_5+0x4],0x0
.text:00406fcd 0f8578010000 JNZ LAB_0040714b
LAB_00406fd3: ;XREF[3,0]: 00406d83,00406fc7,00407116
.text:00406fd3 6a07 PUSH 0x7
LAB_00406fd5: ;XREF[3,0]: 0040714d,00407198,0040719f
.text:00406fd5 58 POP EAX
LAB_00406fd6: ;XREF[2,0]: 00407191,004071b7
.text:00406fd6 5f POP EDI
.text:00406fd7 5e POP ESI
.text:00406fd8 5b POP EBX
.text:00406fd9 c9 LEAVE
.text:00406fda c3 RET
LAB_00406fdb: ;XREF[1,0]: 00406fbb
.text:00406fdb ff75f9 PUSH dword ptr [EBP + local_b+0x4]
.text:00406fde 8bce MOV ECX,ESI
.text:00406fe0 e833560000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00406fe5 8b4e14 MOV ECX,dword ptr [ESI + 0x14]
.text:00406fe8 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:00406feb 894de8 MOV dword ptr [EBP + local_1c+0x4],ECX
.text:00406fee 8bce MOV ECX,ESI
.text:00406ff0 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:00406ff3 e823490000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00406ff8 8845f9 MOV byte ptr [EBP + local_b+0x4],AL
.text:00406ffb 8acb MOV CL,BL
.text:00406ffd 3c45 CMP AL,0x45
.text:00406fff 7411 JZ LAB_00407012
.text:00407001 3c50 CMP AL,0x50
.text:00407003 7408 JZ LAB_0040700d
.text:00407005 3c65 CMP AL,0x65
.text:00407007 7409 JZ LAB_00407012
.text:00407009 3c70 CMP AL,0x70
.text:0040700b 750b JNZ LAB_00407018
LAB_0040700d: ;XREF[1,0]: 00407003
.text:0040700d 8a4dff MOV CL,byte ptr [EBP + local_5+0x4]
.text:00407010 eb06 JMP LAB_00407018
LAB_00407012: ;XREF[2,0]: 00406fff,00407007
.text:00407012 8a4dff MOV CL,byte ptr [EBP + local_5+0x4]
.text:00407015 80f101 XOR CL,0x1
LAB_00407018: ;XREF[2,0]: 0040700b,00407010
.text:00407018 84c9 TEST CL,CL
.text:0040701a 0f8406010000 JZ LAB_00407126
.text:00407020 8bce MOV ECX,ESI
.text:00407022 e8f4480000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407027 8ac8 MOV CL,AL
.text:00407029 80f92d CMP CL,0x2d
.text:0040702c 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:0040702f 0f9445fd SETZ byte ptr [EBP + local_7+0x4]
.text:00407033 80f92b CMP CL,0x2b
.text:00407036 7405 JZ LAB_0040703d
.text:00407038 80f92d CMP CL,0x2d
.text:0040703b 750c JNZ LAB_00407049
LAB_0040703d: ;XREF[1,0]: 00407036
.text:0040703d 8bce MOV ECX,ESI
.text:0040703f e8d7480000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407044 8ac8 MOV CL,AL
.text:00407046 884df9 MOV byte ptr [EBP + local_b+0x4],CL
LAB_00407049: ;XREF[1,0]: 0040703b
.text:00407049 885dfe MOV byte ptr [EBP + local_6+0x4],BL
.text:0040704c 80f930 CMP CL,0x30
.text:0040704f 7515 JNZ LAB_00407066
.text:00407051 c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
LAB_00407055: ;XREF[1,0]: 00407064
.text:00407055 8bce MOV ECX,ESI
.text:00407057 e8bf480000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:0040705c 8ac8 MOV CL,AL
.text:0040705e 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00407061 80f930 CMP CL,0x30
.text:00407064 74ef JZ LAB_00407055
LAB_00407066: ;XREF[2,0]: 0040704f,004070b6
.text:00407066 8ac1 MOV AL,CL
.text:00407068 2c30 SUB AL,0x30
.text:0040706a 3c09 CMP AL,0x9
.text:0040706c 7708 JA LAB_00407076
.text:0040706e 0fbec1 MOVSX EAX,CL
.text:00407071 83e830 SUB EAX,0x30
.text:00407074 eb1e JMP LAB_00407094
LAB_00407076: ;XREF[1,0]: 0040706c
.text:00407076 8ac1 MOV AL,CL
.text:00407078 2c61 SUB AL,0x61
.text:0040707a 3c19 CMP AL,0x19
.text:0040707c 7708 JA LAB_00407086
.text:0040707e 0fbec1 MOVSX EAX,CL
.text:00407081 83e857 SUB EAX,0x57
.text:00407084 eb0e JMP LAB_00407094
LAB_00407086: ;XREF[1,0]: 0040707c
.text:00407086 8ac1 MOV AL,CL
.text:00407088 2c41 SUB AL,0x41
.text:0040708a 3c19 CMP AL,0x19
.text:0040708c 772f JA LAB_004070bd
.text:0040708e 0fbec1 MOVSX EAX,CL
.text:00407091 83e837 SUB EAX,0x37
LAB_00407094: ;XREF[2,0]: 00407074,00407084
.text:00407094 83f80a CMP EAX,0xa
.text:00407097 7324 JNC LAB_004070bd
.text:00407099 6bdb0a IMUL EBX,EBX,0xa
.text:0040709c c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
.text:004070a0 03d8 ADD EBX,EAX
.text:004070a2 81fb50140000 CMP EBX,0x1450
.text:004070a8 7f0e JG LAB_004070b8
.text:004070aa 8bce MOV ECX,ESI
.text:004070ac e86a480000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004070b1 8ac8 MOV CL,AL
.text:004070b3 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:004070b6 ebae JMP LAB_00407066
LAB_004070b8: ;XREF[1,0]: 004070a8
.text:004070b8 bb51140000 MOV EBX,0x1451
LAB_004070bd: ;XREF[3,0]: 0040708c,00407097,004070fc
.text:004070bd 8ac1 MOV AL,CL
.text:004070bf 2c30 SUB AL,0x30
.text:004070c1 3c09 CMP AL,0x9
.text:004070c3 7708 JA LAB_004070cd
.text:004070c5 0fbec1 MOVSX EAX,CL
.text:004070c8 83e830 SUB EAX,0x30
.text:004070cb eb1e JMP LAB_004070eb
LAB_004070cd: ;XREF[1,0]: 004070c3
.text:004070cd 8ac1 MOV AL,CL
.text:004070cf 2c61 SUB AL,0x61
.text:004070d1 3c19 CMP AL,0x19
.text:004070d3 7708 JA LAB_004070dd
.text:004070d5 0fbec1 MOVSX EAX,CL
.text:004070d8 83e857 SUB EAX,0x57
.text:004070db eb0e JMP LAB_004070eb
LAB_004070dd: ;XREF[1,0]: 004070d3
.text:004070dd 8ac1 MOV AL,CL
.text:004070df 2c41 SUB AL,0x41
.text:004070e1 3c19 CMP AL,0x19
.text:004070e3 7719 JA LAB_004070fe
.text:004070e5 0fbec1 MOVSX EAX,CL
.text:004070e8 83e837 SUB EAX,0x37
LAB_004070eb: ;XREF[2,0]: 004070cb,004070db
.text:004070eb 83f80a CMP EAX,0xa
.text:004070ee 730e JNC LAB_004070fe
.text:004070f0 8bce MOV ECX,ESI
.text:004070f2 e824480000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004070f7 8ac8 MOV CL,AL
.text:004070f9 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:004070fc ebbf JMP LAB_004070bd
LAB_004070fe: ;XREF[2,0]: 004070e3,004070ee
.text:004070fe 807dfd00 CMP byte ptr [EBP + local_7+0x4],0x0
.text:00407102 7402 JZ LAB_00407106
.text:00407104 f7db NEG EBX
LAB_00407106: ;XREF[1,0]: 00407102
.text:00407106 807dfe00 CMP byte ptr [EBP + local_6+0x4],0x0
.text:0040710a 751a JNZ LAB_00407126
.text:0040710c 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:0040710f e85b1d0000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:00407114 84c0 TEST AL,AL
.text:00407116 0f84b7feffff JZ LAB_00406fd3
.text:0040711c 8bce MOV ECX,ESI
.text:0040711e e8f8470000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407123 8845f9 MOV byte ptr [EBP + local_b+0x4],AL
LAB_00407126: ;XREF[2,0]: 0040701a,0040710a
.text:00407126 ff75f9 PUSH dword ptr [EBP + local_b+0x4]
.text:00407129 8bce MOV ECX,ESI
.text:0040712b e8e8540000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407130 8b7d10 MOV EDI,dword ptr [EBP + param_3+0x4]
.text:00407133 8b55f4 MOV EDX,dword ptr [EBP + local_10+0x4]
.text:00407136 8d7708 LEA ESI,[EDI + 0x8]
.text:00407139 eb0c JMP LAB_00407147
LAB_0040713b: ;XREF[1,0]: 00407149
.text:0040713b 8d42ff LEA EAX,[EDX + -0x1]
.text:0040713e 8bca MOV ECX,EDX
.text:00407140 803800 CMP byte ptr [EAX],0x0
.text:00407143 8bd0 MOV EDX,EAX
.text:00407145 750b JNZ LAB_00407152
LAB_00407147: ;XREF[1,0]: 00407139
.text:00407147 3bd6 CMP EDX,ESI
.text:00407149 75f0 JNZ LAB_0040713b
LAB_0040714b: ;XREF[1,0]: 00406fcd
.text:0040714b 6a02 PUSH 0x2
.text:0040714d e983feffff JMP LAB_00406fd5
LAB_00407152: ;XREF[1,0]: 00407145
.text:00407152 81fb50140000 CMP EBX,0x1450
.text:00407158 7f43 JG LAB_0040719d
.text:0040715a 81fbb0ebffff CMP EBX,0xffffebb0
.text:00407160 7c34 JL LAB_00407196
.text:00407162 8a55ff MOV DL,byte ptr [EBP + local_5+0x4]
.text:00407165 33c0 XOR EAX,EAX
.text:00407167 84d2 TEST DL,DL
.text:00407169 0f94c0 SETZ AL
.text:0040716c 48 DEC EAX
.text:0040716d 83e003 AND EAX,0x3
.text:00407170 40 INC EAX
.text:00407171 0faf45f0 IMUL EAX,dword ptr [EBP + local_14+0x4]
.text:00407175 03d8 ADD EBX,EAX
.text:00407177 81fb50140000 CMP EBX,0x1450
.text:0040717d 7f1e JG LAB_0040719d
.text:0040717f 81fbb0ebffff CMP EBX,0xffffebb0
.text:00407185 7c0f JL LAB_00407196
.text:00407187 2bce SUB ECX,ESI
.text:00407189 891f MOV dword ptr [EDI],EBX
.text:0040718b 894f04 MOV dword ptr [EDI + 0x4],ECX
.text:0040718e 0fb6c2 MOVZX EAX,DL
.text:00407191 e940feffff JMP LAB_00406fd6
LAB_00407196: ;XREF[2,0]: 00407160,00407185
.text:00407196 6a08 PUSH 0x8
.text:00407198 e938feffff JMP LAB_00406fd5
LAB_0040719d: ;XREF[2,0]: 00407158,0040717d
.text:0040719d 6a09 PUSH 0x9
.text:0040719f e931feffff JMP LAB_00406fd5
LAB_004071a4: ;XREF[2,0]: 00406e07,00406e10
.text:004071a4 ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:004071a7 8d45f9 LEA EAX=>local_b,[EBP + -0x7]
.text:004071aa ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:004071ad 56 PUSH ESI
.text:004071ae 50 PUSH EAX
.text:004071af e8fa050000 CALL FUN_004077ae ;int FUN_004077ae(char * param_1, inp...
LAB_004071b4: ;XREF[1,0]: 004071cc
.text:004071b4 83c410 ADD ESP,0x10
.text:004071b7 e91afeffff JMP LAB_00406fd6
LAB_004071bc: ;XREF[2,0]: 00406df5,00406dfe
.text:004071bc ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:004071bf 8d45f9 LEA EAX=>local_b,[EBP + -0x7]
.text:004071c2 ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:004071c5 56 PUSH ESI
.text:004071c6 50 PUSH EAX
.text:004071c7 e864040000 CALL FUN_00407630 ;char FUN_00407630(char * param_1, in...
.text:004071cc ebe6 JMP LAB_004071b4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004071ce(_locale_t param_1, int * param_2, int * param_3)
;param_1 _locale_t 4 ;XREF[2,0]: 004071fe,00407365
;param_2 int * 8 ;XREF[1,0]: 004071d8
;param_3 int * c ;XREF[7,0]: 00407232,004072c5,004072ee,00407358,00407384
; 004073f2,00407592
;local_5 undefined1 -5 ;XREF[7,0]: 0040727a,004072ae,004072f6,0040742b,0040746f
; 00407474,004075c4
;local_6 undefined1 -6 ;XREF[10,0]: 004072cb,004072d9,00407343,0040739c,004073fb
; 00407419,004074ab,004074b3,004074fe,00407568
;local_7 undefined1 -7 ;XREF[2,0]: 00407491,00407560
;local_b undefined4 -b ;XREF[22,0]: 00407201,0040721a,0040722f,00407251,004072a7
; 004072bf,004072e6,0040735d,0040738c,004073aa
; 0040740f,0040743d,0040745a,0040748e,004074a8
; 004074c0,00407515,0040755b,00407585,00407588
; 00407609,00407621
;local_10 undefined4 -10 ;XREF[9,0]: 0040728a,004072bc,004072d1,004072f1,00407362
; 0040738f,004073b8,00407414,00407595
;local_14 undefined4 -14 ;XREF[7,0]: 00407292,0040729d,004072c8,0040734e,00407399
; 004073b2,004075d3
;local_18 undefined4 -18 ;XREF[2,0]: 00407303,004073b5
;local_1c undefined4 -1c ;XREF[5,0]: 004071f1,004072c2,0040744d,00407606,0040761e
;local_20 undefined4 -20 ;XREF[6,0]: 004071f6,00407207,004072b9,00407452,0040760c
; 00407624
;local_24 undefined4 -24 ;XREF[1,0]: 0040720d
;local_28 undefined4 -28 ;XREF[1,0]: 00407204
;local_2c undefined4 -2c ;XREF[3,0]: 0040720a,0040741f,0040756e
;XREF[2,0]: 00406cae,00406d38
.text:004071ce 8bff MOV EDI,EDI
.text:004071d0 55 PUSH EBP
.text:004071d1 8bec MOV EBP,ESP
.text:004071d3 83ec28 SUB ESP,0x28
.text:004071d6 53 PUSH EBX
.text:004071d7 56 PUSH ESI
.text:004071d8 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:004071db 8bce MOV ECX,ESI
.text:004071dd 57 PUSH EDI
.text:004071de e81c550000 CALL FUN_0040c6ff ;undefined4 FUN_0040c6ff(int * param_1)
.text:004071e3 84c0 TEST AL,AL
.text:004071e5 0f844a020000 JZ LAB_00407435
.text:004071eb 8b4e14 MOV ECX,dword ptr [ESI + 0x14]
.text:004071ee 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:004071f1 894de8 MOV dword ptr [EBP + local_1c+0x4],ECX
.text:004071f4 8bce MOV ECX,ESI
.text:004071f6 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:004071f9 e85c470000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004071fe 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00407201 8d4df9 LEA ECX=>local_b,[EBP + -0x7]
.text:00407204 894ddc MOV dword ptr [EBP + local_28+0x4],ECX
.text:00407207 8d4de4 LEA ECX=>local_20,[EBP + -0x1c]
.text:0040720a 8975d8 MOV dword ptr [EBP + local_2c+0x4],ESI
.text:0040720d 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:00407210 eb07 JMP LAB_00407219
LAB_00407212: ;XREF[1,0]: 0040722d
.text:00407212 8bce MOV ECX,ESI
.text:00407214 e841470000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
LAB_00407219: ;XREF[1,0]: 00407210
.text:00407219 57 PUSH EDI
.text:0040721a 8845f9 MOV byte ptr [EBP + local_b+0x4],AL
.text:0040721d 0fb6c0 MOVZX EAX,AL
.text:00407220 6a08 PUSH 0x8
.text:00407222 50 PUSH EAX
.text:00407223 e8a5570000 CALL FUN_0040c9cd ;uint FUN_0040c9cd(int param_1, uint ...
.text:00407228 83c40c ADD ESP,0xc
.text:0040722b 85c0 TEST EAX,EAX
.text:0040722d 75e3 JNZ LAB_00407212
.text:0040722f 8a4df9 MOV CL,byte ptr [EBP + local_b+0x4]
.text:00407232 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00407235 80f92d CMP CL,0x2d
.text:00407238 0f94c0 SETZ AL
.text:0040723b 888208030000 MOV byte ptr [EDX + 0x308],AL
.text:00407241 7405 JZ LAB_00407248
.text:00407243 80f92b CMP CL,0x2b
.text:00407246 750c JNZ LAB_00407254
LAB_00407248: ;XREF[1,0]: 00407241
.text:00407248 8bce MOV ECX,ESI
.text:0040724a e80b470000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:0040724f 8ac8 MOV CL,AL
.text:00407251 884df9 MOV byte ptr [EBP + local_b+0x4],CL
LAB_00407254: ;XREF[1,0]: 00407246
.text:00407254 80f949 CMP CL,0x49
.text:00407257 0f84c1030000 JZ LAB_0040761e
.text:0040725d 80f969 CMP CL,0x69
.text:00407260 0f84b8030000 JZ LAB_0040761e
.text:00407266 80f94e CMP CL,0x4e
.text:00407269 0f8497030000 JZ LAB_00407606
.text:0040726f 80f96e CMP CL,0x6e
.text:00407272 0f848e030000 JZ LAB_00407606
.text:00407278 33db XOR EBX,EBX
.text:0040727a 885dff MOV byte ptr [EBP + local_5+0x4],BL
.text:0040727d 80f930 CMP CL,0x30
.text:00407280 7543 JNZ LAB_004072c5
.text:00407282 8b4614 MOV EAX,dword ptr [ESI + 0x14]
.text:00407285 8bce MOV ECX,ESI
.text:00407287 8b7e10 MOV EDI,dword ptr [ESI + 0x10]
.text:0040728a 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0040728d e8c8460000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407292 8845f0 MOV byte ptr [EBP + local_14+0x4],AL
.text:00407295 3c78 CMP AL,0x78
.text:00407297 7413 JZ LAB_004072ac
.text:00407299 3c58 CMP AL,0x58
.text:0040729b 740f JZ LAB_004072ac
.text:0040729d ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:004072a0 8bce MOV ECX,ESI
.text:004072a2 e8b8530000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:004072a7 8a4df9 MOV CL,byte ptr [EBP + local_b+0x4]
.text:004072aa eb19 JMP LAB_004072c5
LAB_004072ac: ;XREF[2,0]: 00407297,0040729b
.text:004072ac 8bce MOV ECX,ESI
.text:004072ae c645ff01 MOV byte ptr [EBP + local_5+0x4],0x1
.text:004072b2 e8a3460000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004072b7 8ac8 MOV CL,AL
.text:004072b9 897de4 MOV dword ptr [EBP + local_20+0x4],EDI
.text:004072bc 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:004072bf 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:004072c2 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
LAB_004072c5: ;XREF[2,0]: 00407280,004072aa
.text:004072c5 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:004072c8 895df0 MOV dword ptr [EBP + local_14+0x4],EBX
.text:004072cb 885dfe MOV byte ptr [EBP + local_6+0x4],BL
.text:004072ce 8d4208 LEA EAX,[EDX + 0x8]
.text:004072d1 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:004072d4 80f930 CMP CL,0x30
.text:004072d7 7518 JNZ LAB_004072f1
.text:004072d9 c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
LAB_004072dd: ;XREF[1,0]: 004072ec
.text:004072dd 8bce MOV ECX,ESI
.text:004072df e876460000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004072e4 8ac8 MOV CL,AL
.text:004072e6 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:004072e9 80f930 CMP CL,0x30
.text:004072ec 74ef JZ LAB_004072dd
.text:004072ee 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
LAB_004072f1: ;XREF[1,0]: 004072d7
.text:004072f1 8b7df4 MOV EDI,dword ptr [EBP + local_10+0x4]
.text:004072f4 33db XOR EBX,EBX
.text:004072f6 385dff CMP byte ptr [EBP + local_5+0x4],BL
.text:004072f9 0f94c3 SETZ BL
.text:004072fc 4b DEC EBX
.text:004072fd 83e306 AND EBX,0x6
.text:00407300 83c309 ADD EBX,0x9
.text:00407303 895dec MOV dword ptr [EBP + local_18+0x4],EBX
LAB_00407306: ;XREF[1,0]: 00407360
.text:00407306 8ac1 MOV AL,CL
.text:00407308 2c30 SUB AL,0x30
.text:0040730a 3c09 CMP AL,0x9
.text:0040730c 7708 JA LAB_00407316
.text:0040730e 0fbec1 MOVSX EAX,CL
.text:00407311 83e830 SUB EAX,0x30
.text:00407314 eb23 JMP LAB_00407339
LAB_00407316: ;XREF[1,0]: 0040730c
.text:00407316 8ac1 MOV AL,CL
.text:00407318 2c61 SUB AL,0x61
.text:0040731a 3c19 CMP AL,0x19
.text:0040731c 7708 JA LAB_00407326
.text:0040731e 0fbec1 MOVSX EAX,CL
.text:00407321 83e857 SUB EAX,0x57
.text:00407324 eb13 JMP LAB_00407339
LAB_00407326: ;XREF[1,0]: 0040731c
.text:00407326 8ac1 MOV AL,CL
.text:00407328 2c41 SUB AL,0x41
.text:0040732a 3c19 CMP AL,0x19
.text:0040732c 7708 JA LAB_00407336
.text:0040732e 0fbec1 MOVSX EAX,CL
.text:00407331 83e837 SUB EAX,0x37
.text:00407334 eb03 JMP LAB_00407339
LAB_00407336: ;XREF[1,0]: 0040732c
.text:00407336 83c8ff OR EAX,0xffffffff
LAB_00407339: ;XREF[3,0]: 00407314,00407324,00407334
.text:00407339 3bc3 CMP EAX,EBX
.text:0040733b 7725 JA LAB_00407362
.text:0040733d 8d8a08030000 LEA ECX,[EDX + 0x308]
.text:00407343 c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
.text:00407347 3bf9 CMP EDI,ECX
.text:00407349 7403 JZ LAB_0040734e
.text:0040734b 8807 MOV byte ptr [EDI],AL
.text:0040734d 47 INC EDI
LAB_0040734e: ;XREF[1,0]: 00407349
.text:0040734e ff45f0 INC dword ptr [EBP + local_14+0x4]
.text:00407351 8bce MOV ECX,ESI
.text:00407353 e802460000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407358 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:0040735b 8ac8 MOV CL,AL
.text:0040735d 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00407360 eba4 JMP LAB_00407306
LAB_00407362: ;XREF[1,0]: 0040733b
.text:00407362 897df4 MOV dword ptr [EBP + local_10+0x4],EDI
.text:00407365 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00407368 6a00 PUSH 0x0
.text:0040736a 5b POP EBX
.text:0040736b 8b07 MOV EAX,dword ptr [EDI]
.text:0040736d 8b8088000000 MOV EAX,dword ptr [EAX + 0x88]
.text:00407373 8b00 MOV EAX,dword ptr [EAX]
.text:00407375 3a08 CMP CL,byte ptr [EAX]
.text:00407377 0f859c000000 JNZ LAB_00407419
.text:0040737d 8bce MOV ECX,ESI
.text:0040737f e8d6450000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407384 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00407387 8ac8 MOV CL,AL
.text:00407389 83c208 ADD EDX,0x8
.text:0040738c 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:0040738f 3955f4 CMP dword ptr [EBP + local_10+0x4],EDX
.text:00407392 7521 JNZ LAB_004073b5
.text:00407394 80f930 CMP CL,0x30
.text:00407397 751c JNZ LAB_004073b5
.text:00407399 8b5df0 MOV EBX,dword ptr [EBP + local_14+0x4]
.text:0040739c c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
LAB_004073a0: ;XREF[1,0]: 004073b0
.text:004073a0 8bce MOV ECX,ESI
.text:004073a2 4b DEC EBX
.text:004073a3 e8b2450000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004073a8 8ac8 MOV CL,AL
.text:004073aa 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:004073ad 80f930 CMP CL,0x30
.text:004073b0 74ee JZ LAB_004073a0
.text:004073b2 895df0 MOV dword ptr [EBP + local_14+0x4],EBX
LAB_004073b5: ;XREF[2,0]: 00407392,00407397
.text:004073b5 8b7dec MOV EDI,dword ptr [EBP + local_18+0x4]
.text:004073b8 8b5df4 MOV EBX,dword ptr [EBP + local_10+0x4]
LAB_004073bb: ;XREF[1,0]: 00407412
.text:004073bb 8ac1 MOV AL,CL
.text:004073bd 2c30 SUB AL,0x30
.text:004073bf 3c09 CMP AL,0x9
.text:004073c1 7708 JA LAB_004073cb
.text:004073c3 0fbec1 MOVSX EAX,CL
.text:004073c6 83e830 SUB EAX,0x30
.text:004073c9 eb23 JMP LAB_004073ee
LAB_004073cb: ;XREF[1,0]: 004073c1
.text:004073cb 8ac1 MOV AL,CL
.text:004073cd 2c61 SUB AL,0x61
.text:004073cf 3c19 CMP AL,0x19
.text:004073d1 7708 JA LAB_004073db
.text:004073d3 0fbec1 MOVSX EAX,CL
.text:004073d6 83e857 SUB EAX,0x57
.text:004073d9 eb13 JMP LAB_004073ee
LAB_004073db: ;XREF[1,0]: 004073d1
.text:004073db 8ac1 MOV AL,CL
.text:004073dd 2c41 SUB AL,0x41
.text:004073df 3c19 CMP AL,0x19
.text:004073e1 7708 JA LAB_004073eb
.text:004073e3 0fbec1 MOVSX EAX,CL
.text:004073e6 83e837 SUB EAX,0x37
.text:004073e9 eb03 JMP LAB_004073ee
LAB_004073eb: ;XREF[1,0]: 004073e1
.text:004073eb 83c8ff OR EAX,0xffffffff
LAB_004073ee: ;XREF[3,0]: 004073c9,004073d9,004073e9
.text:004073ee 3bc7 CMP EAX,EDI
.text:004073f0 7722 JA LAB_00407414
.text:004073f2 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:004073f5 81c108030000 ADD ECX,0x308
.text:004073fb c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
.text:004073ff 3bd9 CMP EBX,ECX
.text:00407401 7403 JZ LAB_00407406
.text:00407403 8803 MOV byte ptr [EBX],AL
.text:00407405 43 INC EBX
LAB_00407406: ;XREF[1,0]: 00407401
.text:00407406 8bce MOV ECX,ESI
.text:00407408 e84d450000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:0040740d 8ac8 MOV CL,AL
.text:0040740f 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00407412 eba7 JMP LAB_004073bb
LAB_00407414: ;XREF[1,0]: 004073f0
.text:00407414 895df4 MOV dword ptr [EBP + local_10+0x4],EBX
.text:00407417 33db XOR EBX,EBX
LAB_00407419: ;XREF[1,0]: 00407377
.text:00407419 807dfe00 CMP byte ptr [EBP + local_6+0x4],0x0
.text:0040741d 751e JNZ LAB_0040743d
.text:0040741f 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:00407422 e8f21a0000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:00407427 84c0 TEST AL,AL
.text:00407429 740a JZ LAB_00407435
.text:0040742b 807dff00 CMP byte ptr [EBP + local_5+0x4],0x0
.text:0040742f 0f8578010000 JNZ LAB_004075ad
LAB_00407435: ;XREF[3,0]: 004071e5,00407429,00407578
.text:00407435 6a07 PUSH 0x7
LAB_00407437: ;XREF[3,0]: 004075af,004075fa,00407601
.text:00407437 58 POP EAX
LAB_00407438: ;XREF[2,0]: 004075f3,00407619
.text:00407438 5f POP EDI
.text:00407439 5e POP ESI
.text:0040743a 5b POP EBX
.text:0040743b c9 LEAVE
.text:0040743c c3 RET
LAB_0040743d: ;XREF[1,0]: 0040741d
.text:0040743d ff75f9 PUSH dword ptr [EBP + local_b+0x4]
.text:00407440 8bce MOV ECX,ESI
.text:00407442 e818520000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407447 8b4e14 MOV ECX,dword ptr [ESI + 0x14]
.text:0040744a 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:0040744d 894de8 MOV dword ptr [EBP + local_1c+0x4],ECX
.text:00407450 8bce MOV ECX,ESI
.text:00407452 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:00407455 e800450000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:0040745a 8845f9 MOV byte ptr [EBP + local_b+0x4],AL
.text:0040745d 8acb MOV CL,BL
.text:0040745f 3c45 CMP AL,0x45
.text:00407461 7411 JZ LAB_00407474
.text:00407463 3c50 CMP AL,0x50
.text:00407465 7408 JZ LAB_0040746f
.text:00407467 3c65 CMP AL,0x65
.text:00407469 7409 JZ LAB_00407474
.text:0040746b 3c70 CMP AL,0x70
.text:0040746d 750b JNZ LAB_0040747a
LAB_0040746f: ;XREF[1,0]: 00407465
.text:0040746f 8a4dff MOV CL,byte ptr [EBP + local_5+0x4]
.text:00407472 eb06 JMP LAB_0040747a
LAB_00407474: ;XREF[2,0]: 00407461,00407469
.text:00407474 8a4dff MOV CL,byte ptr [EBP + local_5+0x4]
.text:00407477 80f101 XOR CL,0x1
LAB_0040747a: ;XREF[2,0]: 0040746d,00407472
.text:0040747a 84c9 TEST CL,CL
.text:0040747c 0f8406010000 JZ LAB_00407588
.text:00407482 8bce MOV ECX,ESI
.text:00407484 e8d1440000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407489 8ac8 MOV CL,AL
.text:0040748b 80f92d CMP CL,0x2d
.text:0040748e 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00407491 0f9445fd SETZ byte ptr [EBP + local_7+0x4]
.text:00407495 80f92b CMP CL,0x2b
.text:00407498 7405 JZ LAB_0040749f
.text:0040749a 80f92d CMP CL,0x2d
.text:0040749d 750c JNZ LAB_004074ab
LAB_0040749f: ;XREF[1,0]: 00407498
.text:0040749f 8bce MOV ECX,ESI
.text:004074a1 e8b4440000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004074a6 8ac8 MOV CL,AL
.text:004074a8 884df9 MOV byte ptr [EBP + local_b+0x4],CL
LAB_004074ab: ;XREF[1,0]: 0040749d
.text:004074ab 885dfe MOV byte ptr [EBP + local_6+0x4],BL
.text:004074ae 80f930 CMP CL,0x30
.text:004074b1 7515 JNZ LAB_004074c8
.text:004074b3 c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
LAB_004074b7: ;XREF[1,0]: 004074c6
.text:004074b7 8bce MOV ECX,ESI
.text:004074b9 e89c440000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004074be 8ac8 MOV CL,AL
.text:004074c0 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:004074c3 80f930 CMP CL,0x30
.text:004074c6 74ef JZ LAB_004074b7
LAB_004074c8: ;XREF[2,0]: 004074b1,00407518
.text:004074c8 8ac1 MOV AL,CL
.text:004074ca 2c30 SUB AL,0x30
.text:004074cc 3c09 CMP AL,0x9
.text:004074ce 7708 JA LAB_004074d8
.text:004074d0 0fbec1 MOVSX EAX,CL
.text:004074d3 83e830 SUB EAX,0x30
.text:004074d6 eb1e JMP LAB_004074f6
LAB_004074d8: ;XREF[1,0]: 004074ce
.text:004074d8 8ac1 MOV AL,CL
.text:004074da 2c61 SUB AL,0x61
.text:004074dc 3c19 CMP AL,0x19
.text:004074de 7708 JA LAB_004074e8
.text:004074e0 0fbec1 MOVSX EAX,CL
.text:004074e3 83e857 SUB EAX,0x57
.text:004074e6 eb0e JMP LAB_004074f6
LAB_004074e8: ;XREF[1,0]: 004074de
.text:004074e8 8ac1 MOV AL,CL
.text:004074ea 2c41 SUB AL,0x41
.text:004074ec 3c19 CMP AL,0x19
.text:004074ee 772f JA LAB_0040751f
.text:004074f0 0fbec1 MOVSX EAX,CL
.text:004074f3 83e837 SUB EAX,0x37
LAB_004074f6: ;XREF[2,0]: 004074d6,004074e6
.text:004074f6 83f80a CMP EAX,0xa
.text:004074f9 7324 JNC LAB_0040751f
.text:004074fb 6bdb0a IMUL EBX,EBX,0xa
.text:004074fe c645fe01 MOV byte ptr [EBP + local_6+0x4],0x1
.text:00407502 03d8 ADD EBX,EAX
.text:00407504 81fb50140000 CMP EBX,0x1450
.text:0040750a 7f0e JG LAB_0040751a
.text:0040750c 8bce MOV ECX,ESI
.text:0040750e e847440000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407513 8ac8 MOV CL,AL
.text:00407515 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:00407518 ebae JMP LAB_004074c8
LAB_0040751a: ;XREF[1,0]: 0040750a
.text:0040751a bb51140000 MOV EBX,0x1451
LAB_0040751f: ;XREF[3,0]: 004074ee,004074f9,0040755e
.text:0040751f 8ac1 MOV AL,CL
.text:00407521 2c30 SUB AL,0x30
.text:00407523 3c09 CMP AL,0x9
.text:00407525 7708 JA LAB_0040752f
.text:00407527 0fbec1 MOVSX EAX,CL
.text:0040752a 83e830 SUB EAX,0x30
.text:0040752d eb1e JMP LAB_0040754d
LAB_0040752f: ;XREF[1,0]: 00407525
.text:0040752f 8ac1 MOV AL,CL
.text:00407531 2c61 SUB AL,0x61
.text:00407533 3c19 CMP AL,0x19
.text:00407535 7708 JA LAB_0040753f
.text:00407537 0fbec1 MOVSX EAX,CL
.text:0040753a 83e857 SUB EAX,0x57
.text:0040753d eb0e JMP LAB_0040754d
LAB_0040753f: ;XREF[1,0]: 00407535
.text:0040753f 8ac1 MOV AL,CL
.text:00407541 2c41 SUB AL,0x41
.text:00407543 3c19 CMP AL,0x19
.text:00407545 7719 JA LAB_00407560
.text:00407547 0fbec1 MOVSX EAX,CL
.text:0040754a 83e837 SUB EAX,0x37
LAB_0040754d: ;XREF[2,0]: 0040752d,0040753d
.text:0040754d 83f80a CMP EAX,0xa
.text:00407550 730e JNC LAB_00407560
.text:00407552 8bce MOV ECX,ESI
.text:00407554 e801440000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407559 8ac8 MOV CL,AL
.text:0040755b 884df9 MOV byte ptr [EBP + local_b+0x4],CL
.text:0040755e ebbf JMP LAB_0040751f
LAB_00407560: ;XREF[2,0]: 00407545,00407550
.text:00407560 807dfd00 CMP byte ptr [EBP + local_7+0x4],0x0
.text:00407564 7402 JZ LAB_00407568
.text:00407566 f7db NEG EBX
LAB_00407568: ;XREF[1,0]: 00407564
.text:00407568 807dfe00 CMP byte ptr [EBP + local_6+0x4],0x0
.text:0040756c 751a JNZ LAB_00407588
.text:0040756e 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:00407571 e8a3190000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:00407576 84c0 TEST AL,AL
.text:00407578 0f84b7feffff JZ LAB_00407435
.text:0040757e 8bce MOV ECX,ESI
.text:00407580 e8d5430000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407585 8845f9 MOV byte ptr [EBP + local_b+0x4],AL
LAB_00407588: ;XREF[2,0]: 0040747c,0040756c
.text:00407588 ff75f9 PUSH dword ptr [EBP + local_b+0x4]
.text:0040758b 8bce MOV ECX,ESI
.text:0040758d e8cd500000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407592 8b7d10 MOV EDI,dword ptr [EBP + param_3+0x4]
.text:00407595 8b55f4 MOV EDX,dword ptr [EBP + local_10+0x4]
.text:00407598 8d7708 LEA ESI,[EDI + 0x8]
.text:0040759b eb0c JMP LAB_004075a9
LAB_0040759d: ;XREF[1,0]: 004075ab
.text:0040759d 8d42ff LEA EAX,[EDX + -0x1]
.text:004075a0 8bca MOV ECX,EDX
.text:004075a2 803800 CMP byte ptr [EAX],0x0
.text:004075a5 8bd0 MOV EDX,EAX
.text:004075a7 750b JNZ LAB_004075b4
LAB_004075a9: ;XREF[1,0]: 0040759b
.text:004075a9 3bd6 CMP EDX,ESI
.text:004075ab 75f0 JNZ LAB_0040759d
LAB_004075ad: ;XREF[1,0]: 0040742f
.text:004075ad 6a02 PUSH 0x2
.text:004075af e983feffff JMP LAB_00407437
LAB_004075b4: ;XREF[1,0]: 004075a7
.text:004075b4 81fb50140000 CMP EBX,0x1450
.text:004075ba 7f43 JG LAB_004075ff
.text:004075bc 81fbb0ebffff CMP EBX,0xffffebb0
.text:004075c2 7c34 JL LAB_004075f8
.text:004075c4 8a55ff MOV DL,byte ptr [EBP + local_5+0x4]
.text:004075c7 33c0 XOR EAX,EAX
.text:004075c9 84d2 TEST DL,DL
.text:004075cb 0f94c0 SETZ AL
.text:004075ce 48 DEC EAX
.text:004075cf 83e003 AND EAX,0x3
.text:004075d2 40 INC EAX
.text:004075d3 0faf45f0 IMUL EAX,dword ptr [EBP + local_14+0x4]
.text:004075d7 03d8 ADD EBX,EAX
.text:004075d9 81fb50140000 CMP EBX,0x1450
.text:004075df 7f1e JG LAB_004075ff
.text:004075e1 81fbb0ebffff CMP EBX,0xffffebb0
.text:004075e7 7c0f JL LAB_004075f8
.text:004075e9 2bce SUB ECX,ESI
.text:004075eb 891f MOV dword ptr [EDI],EBX
.text:004075ed 894f04 MOV dword ptr [EDI + 0x4],ECX
.text:004075f0 0fb6c2 MOVZX EAX,DL
.text:004075f3 e940feffff JMP LAB_00407438
LAB_004075f8: ;XREF[2,0]: 004075c2,004075e7
.text:004075f8 6a08 PUSH 0x8
.text:004075fa e938feffff JMP LAB_00407437
LAB_004075ff: ;XREF[2,0]: 004075ba,004075df
.text:004075ff 6a09 PUSH 0x9
.text:00407601 e931feffff JMP LAB_00407437
LAB_00407606: ;XREF[2,0]: 00407269,00407272
.text:00407606 ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:00407609 8d45f9 LEA EAX=>local_b,[EBP + -0x7]
.text:0040760c ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:0040760f 56 PUSH ESI
.text:00407610 50 PUSH EAX
.text:00407611 e8a0020000 CALL FUN_004078b6 ;int FUN_004078b6(char * param_1, inp...
LAB_00407616: ;XREF[1,0]: 0040762e
.text:00407616 83c410 ADD ESP,0x10
.text:00407619 e91afeffff JMP LAB_00407438
LAB_0040761e: ;XREF[2,0]: 00407257,00407260
.text:0040761e ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:00407621 8d45f9 LEA EAX=>local_b,[EBP + -0x7]
.text:00407624 ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:00407627 56 PUSH ESI
.text:00407628 50 PUSH EAX
.text:00407629 e8c1000000 CALL FUN_004076ef ;char FUN_004076ef(char * param_1, in...
.text:0040762e ebe6 JMP LAB_00407616
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;char FUN_00407630(char * param_1, input_adapter_character_source_> * param_2, undefined4 param_3, undefined4 param_4)
;param_1 char * 4 ;XREF[1,0]: 00407639
;param_2 input_adapt... 8 ;XREF[1,0]: 00407646
;param_3 undefined4 c ;XREF[2,0]: 0040763c,00407690
;param_4 undefined4 10 ;XREF[1,0]: 0040768b
;local_8 undefined4 -8 ;XREF[3,0]: 00407651,0040766f,00407675
;local_c undefined4 -c ;XREF[1,0]: 00407642
;local_10 undefined4 -10 ;XREF[1,0]: 0040764e
;local_14 undefined4 -14 ;XREF[3,0]: 0040764b,004076cb,004076d7
;XREF[1,0]: 004071c7
.text:00407630 8bff MOV EDI,EDI
.text:00407632 55 PUSH EBP
.text:00407633 8bec MOV EBP,ESP
.text:00407635 83ec10 SUB ESP,0x10
.text:00407638 53 PUSH EBX
.text:00407639 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:0040763c 8d4510 LEA EAX=>param_3,[EBP + 0x10]
.text:0040763f 56 PUSH ESI
.text:00407640 33f6 XOR ESI,ESI
.text:00407642 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00407645 57 PUSH EDI
.text:00407646 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00407649 8bc6 MOV EAX,ESI
.text:0040764b 897df0 MOV dword ptr [EBP + local_14+0x4],EDI
.text:0040764e 895df4 MOV dword ptr [EBP + local_10+0x4],EBX
.text:00407651 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
LAB_00407654: ;XREF[1,0]: 0040767b
.text:00407654 8a0b MOV CL,byte ptr [EBX]
; FWD[2,0]: 0041c980,0041c981
.text:00407656 3a8880c94100 CMP CL,byte ptr [EAX + .rdata:DAT_0041c980] ;= 49h
;= 4Eh N
.text:0040765c 7408 JZ LAB_00407666
.text:0040765e 3a8884c94100 CMP CL,byte ptr [EAX + .rdata:DAT_0041c984] ;= 69h
.text:00407664 7565 JNZ LAB_004076cb
LAB_00407666: ;XREF[1,0]: 0040765c
.text:00407666 8bcf MOV ECX,EDI
.text:00407668 e8ae420000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:0040766d 8ac8 MOV CL,AL
.text:0040766f 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00407672 40 INC EAX
.text:00407673 880b MOV byte ptr [EBX],CL
.text:00407675 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00407678 83f803 CMP EAX,0x3
.text:0040767b 75d7 JNZ LAB_00407654
.text:0040767d 51 PUSH ECX
.text:0040767e 8bcf MOV ECX,EDI
.text:00407680 e8934f0000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407685 8b4f14 MOV ECX,dword ptr [EDI + 0x14]
.text:00407688 8b4710 MOV EAX,dword ptr [EDI + 0x10]
.text:0040768b 894d14 MOV dword ptr [EBP + param_4+0x4],ECX
.text:0040768e 8bcf MOV ECX,EDI
.text:00407690 894510 MOV dword ptr [EBP + param_3+0x4],EAX
.text:00407693 e883420000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407698 8803 MOV byte ptr [EBX],AL
LAB_0040769a: ;XREF[1,0]: 004076b9
.text:0040769a 8a03 MOV AL,byte ptr [EBX]
; FWD[2,0]: 0041c988,0041c989
.text:0040769c 3a8688c94100 CMP AL,byte ptr [ESI + .rdata:s_INITY_004...;= "INITY"
;= "NITY"
.text:004076a2 7408 JZ LAB_004076ac
.text:004076a4 3a8690c94100 CMP AL,byte ptr [ESI + .rdata:s_inity_004...;= "inity"
.text:004076aa 752b JNZ LAB_004076d7
LAB_004076ac: ;XREF[1,0]: 004076a2
.text:004076ac 8bcf MOV ECX,EDI
.text:004076ae e868420000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004076b3 46 INC ESI
.text:004076b4 8803 MOV byte ptr [EBX],AL
.text:004076b6 83fe05 CMP ESI,0x5
.text:004076b9 75df JNZ LAB_0040769a
.text:004076bb 50 PUSH EAX
.text:004076bc 8bcf MOV ECX,EDI
.text:004076be e8554f0000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:004076c3 6a03 PUSH 0x3
LAB_004076c5: ;XREF[1,0]: 004076d5
.text:004076c5 58 POP EAX
LAB_004076c6: ;XREF[1,0]: 004076ed
.text:004076c6 5f POP EDI
.text:004076c7 5e POP ESI
.text:004076c8 5b POP EBX
.text:004076c9 c9 LEAVE
.text:004076ca c3 RET
LAB_004076cb: ;XREF[1,0]: 00407664
.text:004076cb 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:004076ce e89c170000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:004076d3 6a07 PUSH 0x7
.text:004076d5 ebee JMP LAB_004076c5
LAB_004076d7: ;XREF[1,0]: 004076aa
.text:004076d7 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:004076da e890170000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:004076df 33c9 XOR ECX,ECX
.text:004076e1 84c0 TEST AL,AL
.text:004076e3 0f94c1 SETZ CL
.text:004076e6 8d048d030... LEA EAX,[ECX*0x4 + 0x3]
.text:004076ed ebd7 JMP LAB_004076c6
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;char FUN_004076ef(char * param_1, input_adapter_character_source_> * param_2, undefined4 param_3, undefined4 param_4)
;param_1 char * 4 ;XREF[1,0]: 004076f8
;param_2 input_adapt... 8 ;XREF[1,0]: 00407705
;param_3 undefined4 c ;XREF[2,0]: 004076fb,0040774f
;param_4 undefined4 10 ;XREF[1,0]: 0040774a
;local_8 undefined4 -8 ;XREF[3,0]: 00407710,0040772e,00407734
;local_c undefined4 -c ;XREF[1,0]: 00407701
;local_10 undefined4 -10 ;XREF[1,0]: 0040770d
;local_14 undefined4 -14 ;XREF[3,0]: 0040770a,0040778a,00407796
;XREF[1,0]: 00407629
.text:004076ef 8bff MOV EDI,EDI
.text:004076f1 55 PUSH EBP
.text:004076f2 8bec MOV EBP,ESP
.text:004076f4 83ec10 SUB ESP,0x10
.text:004076f7 53 PUSH EBX
.text:004076f8 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:004076fb 8d4510 LEA EAX=>param_3,[EBP + 0x10]
.text:004076fe 56 PUSH ESI
.text:004076ff 33f6 XOR ESI,ESI
.text:00407701 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00407704 57 PUSH EDI
.text:00407705 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00407708 8bc6 MOV EAX,ESI
.text:0040770a 897df0 MOV dword ptr [EBP + local_14+0x4],EDI
.text:0040770d 895df4 MOV dword ptr [EBP + local_10+0x4],EBX
.text:00407710 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
LAB_00407713: ;XREF[1,0]: 0040773a
.text:00407713 8a0b MOV CL,byte ptr [EBX]
; FWD[2,0]: 0041c960,0041c961
.text:00407715 3a8860c94100 CMP CL,byte ptr [EAX + .rdata:DAT_0041c960] ;= 49h
;= 4Eh N
.text:0040771b 7408 JZ LAB_00407725
.text:0040771d 3a8864c94100 CMP CL,byte ptr [EAX + .rdata:DAT_0041c964] ;= 69h
.text:00407723 7565 JNZ LAB_0040778a
LAB_00407725: ;XREF[1,0]: 0040771b
.text:00407725 8bcf MOV ECX,EDI
.text:00407727 e82e420000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:0040772c 8ac8 MOV CL,AL
.text:0040772e 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00407731 40 INC EAX
.text:00407732 880b MOV byte ptr [EBX],CL
.text:00407734 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00407737 83f803 CMP EAX,0x3
.text:0040773a 75d7 JNZ LAB_00407713
.text:0040773c 51 PUSH ECX
.text:0040773d 8bcf MOV ECX,EDI
.text:0040773f e81b4f0000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407744 8b4f14 MOV ECX,dword ptr [EDI + 0x14]
.text:00407747 8b4710 MOV EAX,dword ptr [EDI + 0x10]
.text:0040774a 894d14 MOV dword ptr [EBP + param_4+0x4],ECX
.text:0040774d 8bcf MOV ECX,EDI
.text:0040774f 894510 MOV dword ptr [EBP + param_3+0x4],EAX
.text:00407752 e803420000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407757 8803 MOV byte ptr [EBX],AL
LAB_00407759: ;XREF[1,0]: 00407778
.text:00407759 8a03 MOV AL,byte ptr [EBX]
; FWD[2,0]: 0041c968,0041c969
.text:0040775b 3a8668c94100 CMP AL,byte ptr [ESI + .rdata:s_INITY_004...;= "INITY"
;= "NITY"
.text:00407761 7408 JZ LAB_0040776b
.text:00407763 3a8670c94100 CMP AL,byte ptr [ESI + .rdata:s_inity_004...;= "inity"
.text:00407769 752b JNZ LAB_00407796
LAB_0040776b: ;XREF[1,0]: 00407761
.text:0040776b 8bcf MOV ECX,EDI
.text:0040776d e8e8410000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407772 46 INC ESI
.text:00407773 8803 MOV byte ptr [EBX],AL
.text:00407775 83fe05 CMP ESI,0x5
.text:00407778 75df JNZ LAB_00407759
.text:0040777a 50 PUSH EAX
.text:0040777b 8bcf MOV ECX,EDI
.text:0040777d e8dd4e0000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407782 6a03 PUSH 0x3
LAB_00407784: ;XREF[1,0]: 00407794
.text:00407784 58 POP EAX
LAB_00407785: ;XREF[1,0]: 004077ac
.text:00407785 5f POP EDI
.text:00407786 5e POP ESI
.text:00407787 5b POP EBX
.text:00407788 c9 LEAVE
.text:00407789 c3 RET
LAB_0040778a: ;XREF[1,0]: 00407723
.text:0040778a 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:0040778d e887170000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:00407792 6a07 PUSH 0x7
.text:00407794 ebee JMP LAB_00407784
LAB_00407796: ;XREF[1,0]: 00407769
.text:00407796 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:00407799 e87b170000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:0040779e 33c9 XOR ECX,ECX
.text:004077a0 84c0 TEST AL,AL
.text:004077a2 0f94c1 SETZ CL
.text:004077a5 8d048d030... LEA EAX,[ECX*0x4 + 0x3]
.text:004077ac ebd7 JMP LAB_00407785
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_004077ae(char * param_1, input_adapter_character_source_> * param_2, undefined4 param_3, undefined4 param_4)
;param_1 char * 4 ;XREF[1,0]: 004077bf
;param_2 input_adapt... 8 ;XREF[1,0]: 004077b8
;param_3 undefined4 c ;XREF[2,0]: 004077bb,00407801
;param_4 undefined4 10 ;XREF[1,0]: 004077fc
;local_8 undefined4 -8 ;XREF[1,0]: 004077ca
;local_c undefined4 -c ;XREF[1,0]: 004077c7
;local_10 undefined4 -10 ;XREF[3,0]: 004077c4,0040780f,00407829
;XREF[1,0]: 004071af
.text:004077ae 8bff MOV EDI,EDI
.text:004077b0 55 PUSH EBP
.text:004077b1 8bec MOV EBP,ESP
.text:004077b3 83ec0c SUB ESP,0xc
.text:004077b6 53 PUSH EBX
.text:004077b7 56 PUSH ESI
.text:004077b8 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:004077bb 8d4510 LEA EAX=>param_3,[EBP + 0x10]
.text:004077be 57 PUSH EDI
.text:004077bf 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:004077c2 33db XOR EBX,EBX
.text:004077c4 8975f4 MOV dword ptr [EBP + local_10+0x4],ESI
.text:004077c7 897df8 MOV dword ptr [EBP + local_c+0x4],EDI
.text:004077ca 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
LAB_004077cd: ;XREF[1,0]: 004077ec
.text:004077cd 8a07 MOV AL,byte ptr [EDI]
; FWD[2,0]: 0041c998,0041c999
.text:004077cf 3a8398c94100 CMP AL,byte ptr [EBX + .rdata:DAT_0041c998] ;= 4Eh
;= 41h
.text:004077d5 7408 JZ LAB_004077df
.text:004077d7 3a839cc94100 CMP AL,byte ptr [EBX + .rdata:DAT_0041c99c] ;= 6Eh
.text:004077dd 754a JNZ LAB_00407829
LAB_004077df: ;XREF[1,0]: 004077d5
.text:004077df 8bce MOV ECX,ESI
.text:004077e1 e835410000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004077e6 43 INC EBX
.text:004077e7 8807 MOV byte ptr [EDI],AL
.text:004077e9 83fb03 CMP EBX,0x3
.text:004077ec 75df JNZ LAB_004077cd
.text:004077ee 50 PUSH EAX
.text:004077ef 8bce MOV ECX,ESI
.text:004077f1 e8224e0000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:004077f6 8b4e14 MOV ECX,dword ptr [ESI + 0x14]
.text:004077f9 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:004077fc 894d14 MOV dword ptr [EBP + param_4+0x4],ECX
.text:004077ff 8bce MOV ECX,ESI
.text:00407801 894510 MOV dword ptr [EBP + param_3+0x4],EAX
.text:00407804 e812410000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407809 8807 MOV byte ptr [EDI],AL
.text:0040780b 3c28 CMP AL,0x28
.text:0040780d 7426 JZ LAB_00407835
LAB_0040780f: ;XREF[2,0]: 0040787c,00407899
.text:0040780f 8d4df4 LEA ECX=>local_10,[EBP + -0xc]
.text:00407812 e858160000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:00407817 0fb6c0 MOVZX EAX,AL
.text:0040781a f7d8 NEG EAX
.text:0040781c 1bc0 SBB EAX,EAX
.text:0040781e 83e0fd AND EAX,0xfffffffd
.text:00407821 83c007 ADD EAX,0x7
.text:00407824 e988000000 JMP LAB_004078b1
LAB_00407829: ;XREF[1,0]: 004077dd
.text:00407829 8d4df4 LEA ECX=>local_10,[EBP + -0xc]
.text:0040782c e83e160000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:00407831 6a07 PUSH 0x7
.text:00407833 eb7b JMP LAB_004078b0
LAB_00407835: ;XREF[1,0]: 0040780d
.text:00407835 8bce MOV ECX,ESI
.text:00407837 e8df400000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:0040783c 56 PUSH ESI
.text:0040783d 57 PUSH EDI
.text:0040783e 8807 MOV byte ptr [EDI],AL
.text:00407840 e8ed010000 CALL __crt_strtox::parse_floating_point_po...;bool parse_floating_point_possible_n...
.text:00407845 59 POP ECX
.text:00407846 59 POP ECX
.text:00407847 84c0 TEST AL,AL
.text:00407849 740f JZ LAB_0040785a
.text:0040784b 0fb607 MOVZX EAX,byte ptr [EDI]
.text:0040784e 8bce MOV ECX,ESI
.text:00407850 50 PUSH EAX
.text:00407851 e8c24d0000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407856 6a05 PUSH 0x5
.text:00407858 eb56 JMP LAB_004078b0
LAB_0040785a: ;XREF[1,0]: 00407849
.text:0040785a 56 PUSH ESI
.text:0040785b 57 PUSH EDI
.text:0040785c e85d010000 CALL __crt_strtox::parse_floating_point_po...;bool parse_floating_point_possible_n...
.text:00407861 59 POP ECX
.text:00407862 59 POP ECX
.text:00407863 8a0f MOV CL,byte ptr [EDI]
.text:00407865 84c0 TEST AL,AL
.text:00407867 740c JZ LAB_00407875
.text:00407869 51 PUSH ECX
.text:0040786a 8bce MOV ECX,ESI
.text:0040786c e8a74d0000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407871 6a06 PUSH 0x6
.text:00407873 eb3b JMP LAB_004078b0
LAB_00407875: ;XREF[1,0]: 00407867
.text:00407875 80f929 CMP CL,0x29
.text:00407878 7434 JZ LAB_004078ae
LAB_0040787a: ;XREF[1,0]: 004078ac
.text:0040787a 84c9 TEST CL,CL
.text:0040787c 7491 JZ LAB_0040780f
.text:0040787e 8ac1 MOV AL,CL
.text:00407880 2c30 SUB AL,0x30
.text:00407882 3c09 CMP AL,0x9
.text:00407884 7619 JBE LAB_0040789f
.text:00407886 8ac1 MOV AL,CL
.text:00407888 2c61 SUB AL,0x61
.text:0040788a 3c19 CMP AL,0x19
.text:0040788c 7611 JBE LAB_0040789f
.text:0040788e 8ac1 MOV AL,CL
.text:00407890 2c41 SUB AL,0x41
.text:00407892 3c19 CMP AL,0x19
.text:00407894 7609 JBE LAB_0040789f
.text:00407896 80f95f CMP CL,0x5f
.text:00407899 0f8570ffffff JNZ LAB_0040780f
LAB_0040789f: ;XREF[3,0]: 00407884,0040788c,00407894
.text:0040789f 8bce MOV ECX,ESI
.text:004078a1 e875400000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004078a6 8807 MOV byte ptr [EDI],AL
.text:004078a8 8ac8 MOV CL,AL
.text:004078aa 3c29 CMP AL,0x29
.text:004078ac 75cc JNZ LAB_0040787a
LAB_004078ae: ;XREF[1,0]: 00407878
.text:004078ae 6a04 PUSH 0x4
LAB_004078b0: ;XREF[3,0]: 00407833,00407858,00407873
.text:004078b0 58 POP EAX
LAB_004078b1: ;XREF[1,0]: 00407824
.text:004078b1 5f POP EDI
.text:004078b2 5e POP ESI
.text:004078b3 5b POP EBX
.text:004078b4 c9 LEAVE
.text:004078b5 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_004078b6(char * param_1, input_adapter_character_source_> * param_2, undefined4 param_3, undefined4 param_4)
;param_1 char * 4 ;XREF[1,0]: 004078c7
;param_2 input_adapt... 8 ;XREF[1,0]: 004078c0
;param_3 undefined4 c ;XREF[2,0]: 004078c3,00407909
;param_4 undefined4 10 ;XREF[1,0]: 00407904
;local_8 undefined4 -8 ;XREF[1,0]: 004078d2
;local_c undefined4 -c ;XREF[1,0]: 004078cf
;local_10 undefined4 -10 ;XREF[3,0]: 004078cc,00407917,00407931
;XREF[1,0]: 00407611
.text:004078b6 8bff MOV EDI,EDI
.text:004078b8 55 PUSH EBP
.text:004078b9 8bec MOV EBP,ESP
.text:004078bb 83ec0c SUB ESP,0xc
.text:004078be 53 PUSH EBX
.text:004078bf 56 PUSH ESI
.text:004078c0 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:004078c3 8d4510 LEA EAX=>param_3,[EBP + 0x10]
.text:004078c6 57 PUSH EDI
.text:004078c7 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:004078ca 33db XOR EBX,EBX
.text:004078cc 8975f4 MOV dword ptr [EBP + local_10+0x4],ESI
.text:004078cf 897df8 MOV dword ptr [EBP + local_c+0x4],EDI
.text:004078d2 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
LAB_004078d5: ;XREF[1,0]: 004078f4
.text:004078d5 8a07 MOV AL,byte ptr [EDI]
; FWD[2,0]: 0041c978,0041c979
.text:004078d7 3a8378c94100 CMP AL,byte ptr [EBX + .rdata:DAT_0041c978] ;= 4Eh
;= 41h
.text:004078dd 7408 JZ LAB_004078e7
.text:004078df 3a837cc94100 CMP AL,byte ptr [EBX + .rdata:DAT_0041c97c] ;= 6Eh
.text:004078e5 754a JNZ LAB_00407931
LAB_004078e7: ;XREF[1,0]: 004078dd
.text:004078e7 8bce MOV ECX,ESI
.text:004078e9 e86c400000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004078ee 43 INC EBX
.text:004078ef 8807 MOV byte ptr [EDI],AL
.text:004078f1 83fb03 CMP EBX,0x3
.text:004078f4 75df JNZ LAB_004078d5
.text:004078f6 50 PUSH EAX
.text:004078f7 8bce MOV ECX,ESI
.text:004078f9 e8614d0000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:004078fe 8b4e14 MOV ECX,dword ptr [ESI + 0x14]
.text:00407901 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:00407904 894d14 MOV dword ptr [EBP + param_4+0x4],ECX
.text:00407907 8bce MOV ECX,ESI
.text:00407909 894510 MOV dword ptr [EBP + param_3+0x4],EAX
.text:0040790c e849400000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407911 8807 MOV byte ptr [EDI],AL
.text:00407913 3c28 CMP AL,0x28
.text:00407915 7426 JZ LAB_0040793d
LAB_00407917: ;XREF[2,0]: 00407984,004079a1
.text:00407917 8d4df4 LEA ECX=>local_10,[EBP + -0xc]
.text:0040791a e8fa150000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:0040791f 0fb6c0 MOVZX EAX,AL
.text:00407922 f7d8 NEG EAX
.text:00407924 1bc0 SBB EAX,EAX
.text:00407926 83e0fd AND EAX,0xfffffffd
.text:00407929 83c007 ADD EAX,0x7
.text:0040792c e988000000 JMP LAB_004079b9
LAB_00407931: ;XREF[1,0]: 004078e5
.text:00407931 8d4df4 LEA ECX=>local_10,[EBP + -0xc]
.text:00407934 e8e0150000 CALL FID_conflict:operator() ;undefined FID_conflict:operator()(in...
.text:00407939 6a07 PUSH 0x7
.text:0040793b eb7b JMP LAB_004079b8
LAB_0040793d: ;XREF[1,0]: 00407915
.text:0040793d 8bce MOV ECX,ESI
.text:0040793f e816400000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407944 56 PUSH ESI
.text:00407945 57 PUSH EDI
.text:00407946 8807 MOV byte ptr [EDI],AL
.text:00407948 e81f010000 CALL __crt_strtox::parse_floating_point_po...;bool parse_floating_point_possible_n...
.text:0040794d 59 POP ECX
.text:0040794e 59 POP ECX
.text:0040794f 84c0 TEST AL,AL
.text:00407951 740f JZ LAB_00407962
.text:00407953 0fb607 MOVZX EAX,byte ptr [EDI]
.text:00407956 8bce MOV ECX,ESI
.text:00407958 50 PUSH EAX
.text:00407959 e8014d0000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:0040795e 6a05 PUSH 0x5
.text:00407960 eb56 JMP LAB_004079b8
LAB_00407962: ;XREF[1,0]: 00407951
.text:00407962 56 PUSH ESI
.text:00407963 57 PUSH EDI
.text:00407964 e88f000000 CALL __crt_strtox::parse_floating_point_po...;bool parse_floating_point_possible_n...
.text:00407969 59 POP ECX
.text:0040796a 59 POP ECX
.text:0040796b 8a0f MOV CL,byte ptr [EDI]
.text:0040796d 84c0 TEST AL,AL
.text:0040796f 740c JZ LAB_0040797d
.text:00407971 51 PUSH ECX
.text:00407972 8bce MOV ECX,ESI
.text:00407974 e8e64c0000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407979 6a06 PUSH 0x6
.text:0040797b eb3b JMP LAB_004079b8
LAB_0040797d: ;XREF[1,0]: 0040796f
.text:0040797d 80f929 CMP CL,0x29
.text:00407980 7434 JZ LAB_004079b6
LAB_00407982: ;XREF[1,0]: 004079b4
.text:00407982 84c9 TEST CL,CL
.text:00407984 7491 JZ LAB_00407917
.text:00407986 8ac1 MOV AL,CL
.text:00407988 2c30 SUB AL,0x30
.text:0040798a 3c09 CMP AL,0x9
.text:0040798c 7619 JBE LAB_004079a7
.text:0040798e 8ac1 MOV AL,CL
.text:00407990 2c61 SUB AL,0x61
.text:00407992 3c19 CMP AL,0x19
.text:00407994 7611 JBE LAB_004079a7
.text:00407996 8ac1 MOV AL,CL
.text:00407998 2c41 SUB AL,0x41
.text:0040799a 3c19 CMP AL,0x19
.text:0040799c 7609 JBE LAB_004079a7
.text:0040799e 80f95f CMP CL,0x5f
.text:004079a1 0f8570ffffff JNZ LAB_00407917
LAB_004079a7: ;XREF[3,0]: 0040798c,00407994,0040799c
.text:004079a7 8bce MOV ECX,ESI
.text:004079a9 e8ac3f0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004079ae 8807 MOV byte ptr [EDI],AL
.text:004079b0 8ac8 MOV CL,AL
.text:004079b2 3c29 CMP AL,0x29
.text:004079b4 75cc JNZ LAB_00407982
LAB_004079b6: ;XREF[1,0]: 00407980
.text:004079b6 6a04 PUSH 0x4
LAB_004079b8: ;XREF[3,0]: 0040793b,00407960,0040797b
.text:004079b8 58 POP EAX
LAB_004079b9: ;XREF[1,0]: 0040792c
.text:004079b9 5f POP EDI
.text:004079ba 5e POP ESI
.text:004079bb 5b POP EBX
.text:004079bc c9 LEAVE
.text:004079bd c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* bool __cdecl __crt_strtox::parse_floating_point_possible_nan_is_ind_>_>(char * param_1, input_adapter_character_source_> * param_2)
;param_1 char * 4 ;XREF[1,0]: 004079c8
;param_2 input_adapt... 8 ;XREF[1,0]: 004079df
;XREF[1,0]: 0040785c
.text:004079be 8bff MOV EDI,EDI
.text:004079c0 55 PUSH EBP
.text:004079c1 8bec MOV EBP,ESP
.text:004079c3 53 PUSH EBX
.text:004079c4 56 PUSH ESI
.text:004079c5 33db XOR EBX,EBX
.text:004079c7 57 PUSH EDI
.text:004079c8 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:004079cb 8bf3 MOV ESI,EBX
LAB_004079cd: ;XREF[1,0]: 004079ed
.text:004079cd 8a07 MOV AL,byte ptr [EDI]
; FWD[2,0]: 0041c9c8,0041c9c9
.text:004079cf 3a86c8c94100 CMP AL,byte ptr [ESI + .rdata:DAT_0041c9c8] ;= 49h
;= 4Eh
.text:004079d5 7408 JZ LAB_004079df
.text:004079d7 3a86ccc94100 CMP AL,byte ptr [ESI + .rdata:DAT_0041c9cc] ;= 69h
.text:004079dd 7512 JNZ LAB_004079f1
LAB_004079df: ;XREF[1,0]: 004079d5
.text:004079df 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:004079e2 e8343f0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004079e7 46 INC ESI
.text:004079e8 8807 MOV byte ptr [EDI],AL
.text:004079ea 83fe04 CMP ESI,0x4
.text:004079ed 75de JNZ LAB_004079cd
.text:004079ef b301 MOV BL,0x1
LAB_004079f1: ;XREF[1,0]: 004079dd
.text:004079f1 5f POP EDI
.text:004079f2 5e POP ESI
.text:004079f3 8ac3 MOV AL,BL
.text:004079f5 5b POP EBX
.text:004079f6 5d POP EBP
.text:004079f7 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* bool __cdecl __crt_strtox::parse_floating_point_possible_nan_is_ind_>_>(char * param_1, input_adapter_character_source_> * param_2)
;param_1 char * 4 ;XREF[1,0]: 00407a02
;param_2 input_adapt... 8 ;XREF[1,0]: 00407a19
;XREF[1,0]: 00407964
.text:004079f8 8bff MOV EDI,EDI
.text:004079fa 55 PUSH EBP
.text:004079fb 8bec MOV EBP,ESP
.text:004079fd 53 PUSH EBX
.text:004079fe 56 PUSH ESI
.text:004079ff 33db XOR EBX,EBX
.text:00407a01 57 PUSH EDI
.text:00407a02 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00407a05 8bf3 MOV ESI,EBX
LAB_00407a07: ;XREF[1,0]: 00407a27
.text:00407a07 8a07 MOV AL,byte ptr [EDI]
; FWD[2,0]: 0041c9b0,0041c9b1
.text:00407a09 3a86b0c94100 CMP AL,byte ptr [ESI + .rdata:s_IND)ind)S...;= "IND)ind)SNAN)"
;= "ND)ind)SNAN)"
.text:00407a0f 7408 JZ LAB_00407a19
.text:00407a11 3a86b4c94100 CMP AL,byte ptr [ESI + .rdata:s_ind)SNAN)...;= "ind)SNAN)"
.text:00407a17 7512 JNZ LAB_00407a2b
LAB_00407a19: ;XREF[1,0]: 00407a0f
.text:00407a19 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00407a1c e8393f0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407a21 46 INC ESI
.text:00407a22 8807 MOV byte ptr [EDI],AL
.text:00407a24 83fe04 CMP ESI,0x4
.text:00407a27 75de JNZ LAB_00407a07
.text:00407a29 b301 MOV BL,0x1
LAB_00407a2b: ;XREF[1,0]: 00407a17
.text:00407a2b 5f POP EDI
.text:00407a2c 5e POP ESI
.text:00407a2d 8ac3 MOV AL,BL
.text:00407a2f 5b POP EBX
.text:00407a30 5d POP EBP
.text:00407a31 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* bool __cdecl __crt_strtox::parse_floating_point_possible_nan_is_snan_>_>(char * param_1, input_adapter_character_source_> * param_2)
;param_1 char * 4 ;XREF[1,0]: 00407a3c
;param_2 input_adapt... 8 ;XREF[1,0]: 00407a53
;XREF[1,0]: 00407840
.text:00407a32 8bff MOV EDI,EDI
.text:00407a34 55 PUSH EBP
.text:00407a35 8bec MOV EBP,ESP
.text:00407a37 53 PUSH EBX
.text:00407a38 56 PUSH ESI
.text:00407a39 33db XOR EBX,EBX
.text:00407a3b 57 PUSH EDI
.text:00407a3c 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00407a3f 8bf3 MOV ESI,EBX
LAB_00407a41: ;XREF[1,0]: 00407a61
.text:00407a41 8a07 MOV AL,byte ptr [EDI]
; FWD[2,0]: 0041c9b8,0041c9b9
.text:00407a43 3a86b8c94100 CMP AL,byte ptr [ESI + .rdata:s_SNAN)_004...;= "SNAN)"
;= "NAN)"
.text:00407a49 7408 JZ LAB_00407a53
.text:00407a4b 3a86c0c94100 CMP AL,byte ptr [ESI + .rdata:s_snan)_004...;= "snan)"
.text:00407a51 7512 JNZ LAB_00407a65
LAB_00407a53: ;XREF[1,0]: 00407a49
.text:00407a53 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00407a56 e8c03e0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407a5b 46 INC ESI
.text:00407a5c 8807 MOV byte ptr [EDI],AL
.text:00407a5e 83fe05 CMP ESI,0x5
.text:00407a61 75de JNZ LAB_00407a41
.text:00407a63 b301 MOV BL,0x1
LAB_00407a65: ;XREF[1,0]: 00407a51
.text:00407a65 5f POP EDI
.text:00407a66 5e POP ESI
.text:00407a67 8ac3 MOV AL,BL
.text:00407a69 5b POP EBX
.text:00407a6a 5d POP EBP
.text:00407a6b c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* bool __cdecl __crt_strtox::parse_floating_point_possible_nan_is_snan_>_>(char * param_1, input_adapter_character_source_> * param_2)
;param_1 char * 4 ;XREF[1,0]: 00407a76
;param_2 input_adapt... 8 ;XREF[1,0]: 00407a8d
;XREF[1,0]: 00407948
.text:00407a6c 8bff MOV EDI,EDI
.text:00407a6e 55 PUSH EBP
.text:00407a6f 8bec MOV EBP,ESP
.text:00407a71 53 PUSH EBX
.text:00407a72 56 PUSH ESI
.text:00407a73 33db XOR EBX,EBX
.text:00407a75 57 PUSH EDI
.text:00407a76 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00407a79 8bf3 MOV ESI,EBX
LAB_00407a7b: ;XREF[1,0]: 00407a9b
.text:00407a7b 8a07 MOV AL,byte ptr [EDI]
; FWD[2,0]: 0041c9a0,0041c9a1
.text:00407a7d 3a86a0c94100 CMP AL,byte ptr [ESI + .rdata:DAT_0041c9a0] ;= 53h
;= 4Eh
.text:00407a83 7408 JZ LAB_00407a8d
.text:00407a85 3a86a8c94100 CMP AL,byte ptr [ESI + .rdata:s_snan)_004...;= "snan)"
.text:00407a8b 7512 JNZ LAB_00407a9f
LAB_00407a8d: ;XREF[1,0]: 00407a83
.text:00407a8d 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00407a90 e8c53e0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407a95 46 INC ESI
.text:00407a96 8807 MOV byte ptr [EDI],AL
.text:00407a98 83fe05 CMP ESI,0x5
.text:00407a9b 75de JNZ LAB_00407a7b
.text:00407a9d b301 MOV BL,0x1
LAB_00407a9f: ;XREF[1,0]: 00407a8b
.text:00407a9f 5f POP EDI
.text:00407aa0 5e POP ESI
.text:00407aa1 8ac3 MOV AL,BL
.text:00407aa3 5b POP EBX
.text:00407aa4 5d POP EBP
.text:00407aa5 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* enum SLD_STATUS __cdecl __crt_strtox::parse_floating_point_write_result(enum __crt_st...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;SLD_STATUS parse_floating_point_write_result(floating_point_parse_result param_1, floating_point_string * param_2, float * param_3)
;param_1 floating_po... 4 ;XREF[1,0]: 00407aab
;param_2 floating_po... 8 ;XREF[8,0]: 00407ac2,00407ad4,00407ade,00407b01,00407b30
; 00407b4d,00407b97,00407bb8
;param_3 float * c ;XREF[9,0]: 00407abf,00407ad1,00407af5,00407b06,00407b52
; 00407b7d,00407b8b,00407bb0,00407bbd
;XREF[2,0]: 00406ba8,00406cbc
.text:00407aa6 8bff MOV EDI,EDI
.text:00407aa8 55 PUSH EBP
.text:00407aa9 8bec MOV EBP,ESP
.text:00407aab 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00407aae 56 PUSH ESI
.text:00407aaf 83f809 CMP EAX,0x9
.text:00407ab2 0f87d9000000 JA switchD_00407ab8::caseD_a
switchD: ; FWD[12,0]: 00407abf,00407ad1,00407ade,00407b01
; 00407b30,00407b4d,00407b7d,00407b8b
; 00407b91,00407b97,00407bb8,00407bea
.text:00407ab8 ff2485ea7... JMP dword ptr [EAX*0x4 + switchD_00407ab8...;= 00407abf
caseD_0: ;XREF[2,0]: 00407ab8,00407bea
.text:00407abf ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00407ac2 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00407ac5 e897efffff CALL FID_conflict:convert_hexadecimal_stri...;undefined FID_conflict:convert_hexad...
LAB_00407aca: ;XREF[1,0]: 00407adc
.text:00407aca 59 POP ECX
.text:00407acb 59 POP ECX
.text:00407acc e9c3000000 JMP LAB_00407b94
caseD_1: ;XREF[2,0]: 00407ab8,00407bee
.text:00407ad1 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00407ad4 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00407ad7 e8c7efffff CALL FID_conflict:convert_hexadecimal_stri...;undefined FID_conflict:convert_hexad...
.text:00407adc ebec JMP LAB_00407aca
caseD_2: ;XREF[2,0]: 00407ab8,00407bf2
.text:00407ade 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407ae1 0fb688080... MOVZX ECX,byte ptr [EAX + 0x308]
.text:00407ae8 b800000080 MOV EAX,0x80000000
.text:00407aed f7d9 NEG ECX
.text:00407aef 1bc9 SBB ECX,ECX
.text:00407af1 23c8 AND ECX,EAX
.text:00407af3 23c8 AND ECX,EAX
LAB_00407af5: ;XREF[1,0]: 00407b4b
.text:00407af5 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00407af8 8908 MOV dword ptr [EAX],ECX
LAB_00407afa: ;XREF[2,0]: 00407b2e,00407b86
.text:00407afa 33c0 XOR EAX,EAX
.text:00407afc e993000000 JMP LAB_00407b94
caseD_3: ;XREF[2,0]: 00407ab8,00407bf6
.text:00407b01 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407b04 33d2 XOR EDX,EDX
.text:00407b06 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00407b09 be0000807f MOV ESI,0x7f800000
.text:00407b0e 389008030000 CMP byte ptr [EAX + 0x308],DL
.text:00407b14 8b01 MOV EAX,dword ptr [ECX]
.text:00407b16 0f94c2 SETZ DL
.text:00407b19 23c6 AND EAX,ESI
.text:00407b1b 4a DEC EDX
.text:00407b1c 81e200000080 AND EDX,0x80000000
.text:00407b22 03d6 ADD EDX,ESI
.text:00407b24 0bd0 OR EDX,EAX
.text:00407b26 81e2000080ff AND EDX,0xff800000
LAB_00407b2c: ;XREF[1,0]: 00407b7b
.text:00407b2c 8911 MOV dword ptr [ECX],EDX
.text:00407b2e ebca JMP LAB_00407afa
caseD_4: ;XREF[2,0]: 00407ab8,00407bfa
.text:00407b30 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407b33 33c9 XOR ECX,ECX
.text:00407b35 388808030000 CMP byte ptr [EAX + 0x308],CL
.text:00407b3b 0f94c1 SETZ CL
.text:00407b3e 49 DEC ECX
.text:00407b3f 81e100000080 AND ECX,0x80000000
.text:00407b45 81c1ffffff7f ADD ECX,0x7fffffff
.text:00407b4b eba8 JMP LAB_00407af5
caseD_5: ;XREF[2,0]: 00407ab8,00407bfe
.text:00407b4d 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407b50 33d2 XOR EDX,EDX
.text:00407b52 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00407b55 be0000807f MOV ESI,0x7f800000
.text:00407b5a 389008030000 CMP byte ptr [EAX + 0x308],DL
.text:00407b60 8b01 MOV EAX,dword ptr [ECX]
.text:00407b62 0f94c2 SETZ DL
.text:00407b65 23c6 AND EAX,ESI
.text:00407b67 4a DEC EDX
.text:00407b68 81e200000080 AND EDX,0x80000000
.text:00407b6e 03d6 ADD EDX,ESI
.text:00407b70 0bd0 OR EDX,EAX
.text:00407b72 81e2010080ff AND EDX,0xff800001
.text:00407b78 83ca01 OR EDX,0x1
.text:00407b7b ebaf JMP LAB_00407b2c
caseD_6: ;XREF[2,0]: 00407ab8,00407c02
.text:00407b7d 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00407b80 c7000000c0ff MOV dword ptr [EAX],0xffc00000
.text:00407b86 e96fffffff JMP LAB_00407afa
caseD_7: ;XREF[2,0]: 00407ab8,00407c06
.text:00407b8b 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00407b8e 832000 AND dword ptr [EAX],0x0
caseD_a: ;XREF[2,0]: 00407ab2,00407ab8
.text:00407b91 33c0 XOR EAX,EAX
.text:00407b93 40 INC EAX
LAB_00407b94: ;XREF[3,0]: 00407acc,00407afc,00407bb6
.text:00407b94 5e POP ESI
.text:00407b95 5d POP EBP
.text:00407b96 c3 RET
caseD_8: ;XREF[2,0]: 00407ab8,00407c0a
.text:00407b97 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407b9a 6a02 PUSH 0x2
.text:00407b9c 0fb688080... MOVZX ECX,byte ptr [EAX + 0x308]
.text:00407ba3 b800000080 MOV EAX,0x80000000
.text:00407ba8 f7d9 NEG ECX
.text:00407baa 1bc9 SBB ECX,ECX
.text:00407bac 23c8 AND ECX,EAX
.text:00407bae 23c8 AND ECX,EAX
.text:00407bb0 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00407bb3 8908 MOV dword ptr [EAX],ECX
LAB_00407bb5: ;XREF[1,0]: 00407be7
.text:00407bb5 58 POP EAX
.text:00407bb6 ebdc JMP LAB_00407b94
caseD_9: ;XREF[2,0]: 00407ab8,00407c0e
.text:00407bb8 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407bbb 33d2 XOR EDX,EDX
.text:00407bbd 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00407bc0 be0000807f MOV ESI,0x7f800000
.text:00407bc5 6a03 PUSH 0x3
.text:00407bc7 389008030000 CMP byte ptr [EAX + 0x308],DL
.text:00407bcd 8b01 MOV EAX,dword ptr [ECX]
.text:00407bcf 0f94c2 SETZ DL
.text:00407bd2 23c6 AND EAX,ESI
.text:00407bd4 4a DEC EDX
.text:00407bd5 81e200000080 AND EDX,0x80000000
.text:00407bdb 03d6 ADD EDX,ESI
.text:00407bdd 0bd0 OR EDX,EAX
.text:00407bdf 81e2000080ff AND EDX,0xff800000
.text:00407be5 8911 MOV dword ptr [ECX],EDX
.text:00407be7 ebcc JMP LAB_00407bb5
.text:00407be9 90 ?? 90h
switchdataD_00407bea: ;XREF[1,0]: 00407ab8
.text:00407bea bf7a4000 addr switchD_00407ab8::caseD_0
.text:00407bee d17a4000 addr switchD_00407ab8::caseD_1
.text:00407bf2 de7a4000 addr switchD_00407ab8::caseD_2
.text:00407bf6 017b4000 addr switchD_00407ab8::caseD_3
.text:00407bfa 307b4000 addr switchD_00407ab8::caseD_4
.text:00407bfe 4d7b4000 addr switchD_00407ab8::caseD_5
.text:00407c02 7d7b4000 addr switchD_00407ab8::caseD_6
.text:00407c06 8b7b4000 addr switchD_00407ab8::caseD_7
.text:00407c0a 977b4000 addr switchD_00407ab8::caseD_8
.text:00407c0e b87b4000 addr switchD_00407ab8::caseD_9
;************************************************************************************************
;* Library Function - Single Match *
;* enum SLD_STATUS __cdecl __crt_strtox::parse_floating_point_write_result(enum __crt_s...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;SLD_STATUS parse_floating_point_write_result(floating_point_parse_result param_1, floating_point_string * param_2, double * param_3)
;param_1 floating_po... 4 ;XREF[1,0]: 00407c17
;param_2 floating_po... 8 ;XREF[8,0]: 00407c2d,00407c3c,00407c46,00407c64,00407c7d
; 00407c9c,00407cd1,00407cf0
;param_3 double * c ;XREF[8,0]: 00407c2a,00407c39,00407c57,00407c88,00407c9f
; 00407cb3,00407cc2,00407ce4
;XREF[2,0]: 00406c32,00406d46
.text:00407c12 8bff MOV EDI,EDI
.text:00407c14 55 PUSH EBP
.text:00407c15 8bec MOV EBP,ESP
.text:00407c17 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00407c1a 83f809 CMP EAX,0x9
.text:00407c1d 0f87a9000000 JA switchD_00407c23::caseD_a
switchD: ; FWD[12,0]: 00407c2a,00407c39,00407c46,00407c64
; 00407c7d,00407c9c,00407cb3,00407cc2
; 00407ccc,00407cd1,00407cf0,00407d0e
.text:00407c23 ff24850e7... JMP dword ptr [EAX*0x4 + switchD_00407c23...;= 00407c2a
caseD_0: ;XREF[2,0]: 00407c23,00407d0e
.text:00407c2a ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00407c2d ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00407c30 e84deeffff CALL FID_conflict:convert_hexadecimal_stri...;undefined FID_conflict:convert_hexad...
LAB_00407c35: ;XREF[1,0]: 00407c44
.text:00407c35 59 POP ECX
.text:00407c36 59 POP ECX
.text:00407c37 5d POP EBP
.text:00407c38 c3 RET
caseD_1: ;XREF[2,0]: 00407c23,00407d12
.text:00407c39 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00407c3c ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00407c3f e880eeffff CALL FID_conflict:convert_hexadecimal_stri...;undefined FID_conflict:convert_hexad...
.text:00407c44 ebef JMP LAB_00407c35
caseD_2: ;XREF[2,0]: 00407c23,00407d16
.text:00407c46 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407c49 33c9 XOR ECX,ECX
.text:00407c4b 388808030000 CMP byte ptr [EAX + 0x308],CL
.text:00407c51 0f95c1 SETNZ CL
.text:00407c54 c1e11f SHL ECX,0x1f
LAB_00407c57: ;XREF[1,0]: 00407c7b
.text:00407c57 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00407c5a 832000 AND dword ptr [EAX],0x0
LAB_00407c5d: ;XREF[1,0]: 00407c9a
.text:00407c5d 894804 MOV dword ptr [EAX + 0x4],ECX
LAB_00407c60: ;XREF[2,0]: 00407cb1,00407cc0
.text:00407c60 33c0 XOR EAX,EAX
.text:00407c62 5d POP EBP
.text:00407c63 c3 RET
caseD_3: ;XREF[2,0]: 00407c23,00407d1a
.text:00407c64 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407c67 33c9 XOR ECX,ECX
.text:00407c69 388808030000 CMP byte ptr [EAX + 0x308],CL
.text:00407c6f 0f95c1 SETNZ CL
.text:00407c72 c1e11f SHL ECX,0x1f
.text:00407c75 81c90000f07f OR ECX,0x7ff00000
.text:00407c7b ebda JMP LAB_00407c57
caseD_4: ;XREF[2,0]: 00407c23,00407d1e
.text:00407c7d 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407c80 33c9 XOR ECX,ECX
.text:00407c82 388808030000 CMP byte ptr [EAX + 0x308],CL
.text:00407c88 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00407c8b 0f95c1 SETNZ CL
.text:00407c8e c1e11f SHL ECX,0x1f
.text:00407c91 81c9ffffff7f OR ECX,0x7fffffff
.text:00407c97 8308ff OR dword ptr [EAX],0xffffffff
.text:00407c9a ebc1 JMP LAB_00407c5d
caseD_5: ;XREF[2,0]: 00407c23,00407d22
.text:00407c9c 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407c9f ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00407ca2 0fb680080... MOVZX EAX,byte ptr [EAX + 0x308]
.text:00407ca9 50 PUSH EAX
.text:00407caa e86becffff CALL __crt_strtox::assemble_floating_point...;void assemble_floating_point_snan.text:00407caf 59 POP ECX
.text:00407cb0 59 POP ECX
.text:00407cb1 ebad JMP LAB_00407c60
caseD_6: ;XREF[2,0]: 00407c23,00407d26
.text:00407cb3 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00407cb6 832000 AND dword ptr [EAX],0x0
.text:00407cb9 c74004000... MOV dword ptr [EAX + 0x4],0xfff80000
.text:00407cc0 eb9e JMP LAB_00407c60
caseD_7: ;XREF[2,0]: 00407c23,00407d2a
.text:00407cc2 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00407cc5 832000 AND dword ptr [EAX],0x0
.text:00407cc8 83600400 AND dword ptr [EAX + 0x4],0x0
caseD_a: ;XREF[2,0]: 00407c1d,00407c23
.text:00407ccc 33c0 XOR EAX,EAX
.text:00407cce 40 INC EAX
.text:00407ccf 5d POP EBP
.text:00407cd0 c3 RET
caseD_8: ;XREF[2,0]: 00407c23,00407d2e
.text:00407cd1 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407cd4 33c9 XOR ECX,ECX
.text:00407cd6 6a02 PUSH 0x2
.text:00407cd8 388808030000 CMP byte ptr [EAX + 0x308],CL
.text:00407cde 0f95c1 SETNZ CL
.text:00407ce1 c1e11f SHL ECX,0x1f
LAB_00407ce4: ;XREF[1,0]: 00407d09
.text:00407ce4 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00407ce7 832000 AND dword ptr [EAX],0x0
.text:00407cea 894804 MOV dword ptr [EAX + 0x4],ECX
.text:00407ced 58 POP EAX
.text:00407cee 5d POP EBP
.text:00407cef c3 RET
caseD_9: ;XREF[2,0]: 00407c23,00407d32
.text:00407cf0 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00407cf3 33c9 XOR ECX,ECX
.text:00407cf5 6a03 PUSH 0x3
.text:00407cf7 388808030000 CMP byte ptr [EAX + 0x308],CL
.text:00407cfd 0f95c1 SETNZ CL
.text:00407d00 c1e11f SHL ECX,0x1f
.text:00407d03 81c90000f07f OR ECX,0x7ff00000
.text:00407d09 ebd9 JMP LAB_00407ce4
.text:00407d0b 8d align align(1)
.text:00407d0c 49 ?? 49h I
.text:00407d0d 00 ?? 00h
switchdataD_00407d0e: ;XREF[1,0]: 00407c23
.text:00407d0e 2a7c4000 addr switchD_00407c23::caseD_0
.text:00407d12 397c4000 addr switchD_00407c23::caseD_1
.text:00407d16 467c4000 addr switchD_00407c23::caseD_2
.text:00407d1a 647c4000 addr switchD_00407c23::caseD_3
.text:00407d1e 7d7c4000 addr switchD_00407c23::caseD_4
.text:00407d22 9c7c4000 addr switchD_00407c23::caseD_5
.text:00407d26 b37c4000 addr switchD_00407c23::caseD_6
.text:00407d2a c27c4000 addr switchD_00407c23::caseD_7
.text:00407d2e d17c4000 addr switchD_00407c23::caseD_8
.text:00407d32 f07c4000 addr switchD_00407c23::caseD_9
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ulonglong FUN_00407d36(__acrt_ptd * * param_1)
;param_1 __acrt_ptd * * 4 ;XREF[4,0]: 00407d62,00407dba,00407dcd,00407fc0
;local_8 undefined4 -8 ;XREF[6,0]: 00407e13,00407e1e,00407f5f,00407f7f,00407fce
; 00408013
;local_c undefined4 -c ;XREF[6,0]: 00407dbd,00407dfd,00407e32,00407ea8,00407f6c
; 00407f74
;local_10 undefined4 -10 ;XREF[8,0]: 00407dd4,00407de9,00407e78,00407e8a,00407f03
; 00407f1f,00407f29,00407f3f
;local_14 undefined4 -14 ;XREF[7,0]: 00407da4,00407f0a,00407f1a,00407f24,00407f48
; 00407f56,00407fae
;local_18 undefined4 -18 ;XREF[2,0]: 00407ec2,00407f0f
;local_1c undefined4 -1c ;XREF[2,0]: 00407eb9,00407f12
;local_20 undefined4 -20 ;XREF[2,0]: 00407ecd,00407f2c
;local_24 undefined4 -24 ;XREF[2,0]: 00407eca,00407f33
;local_28 undefined4 -28 ;XREF[2,0]: 00407db0,00407f86
;local_2c undefined4 -2c ;XREF[2,0]: 00407daa,00407f8c
;XREF[1,0]: 00408068
.text:00407d36 8bff MOV EDI,EDI
.text:00407d38 55 PUSH EBP
.text:00407d39 8bec MOV EBP,ESP
.text:00407d3b 83ec28 SUB ESP,0x28
.text:00407d3e 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00407d41 53 PUSH EBX
.text:00407d42 56 PUSH ESI
.text:00407d43 57 PUSH EDI
.text:00407d44 e8b6490000 CALL FUN_0040c6ff ;undefined4 FUN_0040c6ff(int * param_1)
.text:00407d49 84c0 TEST AL,AL
.text:00407d4b 0f8443020000 JZ LAB_00407f94
.text:00407d51 8b752c MOV ESI,dword ptr [EBP + Stack[0x28]+0x4]
.text:00407d54 85f6 TEST ESI,ESI
.text:00407d56 7446 JZ LAB_00407d9e
.text:00407d58 83fe02 CMP ESI,0x2
.text:00407d5b 7c05 JL LAB_00407d62
.text:00407d5d 83fe24 CMP ESI,0x24
.text:00407d60 7e3c JLE LAB_00407d9e
LAB_00407d62: ;XREF[1,0]: 00407d5b
.text:00407d62 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00407d65 33db XOR EBX,EBX
.text:00407d67 50 PUSH EAX
.text:00407d68 53 PUSH EBX
.text:00407d69 53 PUSH EBX
.text:00407d6a 53 PUSH EBX
.text:00407d6b 53 PUSH EBX
.text:00407d6c 53 PUSH EBX
.text:00407d6d c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00407d71 c74018160... MOV dword ptr [EAX + 0x18],0x16
.text:00407d78 e829640000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00407d7d 8b4d24 MOV ECX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00407d80 83c418 ADD ESP,0x18
.text:00407d83 85c9 TEST ECX,ECX
.text:00407d85 0f841a020000 JZ LAB_00407fa5
.text:00407d8b 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00407d8e 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00407d91 0f850e020000 JNZ LAB_00407fa5
.text:00407d97 8819 MOV byte ptr [ECX],BL
.text:00407d99 e907020000 JMP LAB_00407fa5
LAB_00407d9e: ;XREF[2,0]: 00407d56,00407d60
.text:00407d9e 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00407da1 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00407da4 8365f000 AND dword ptr [EBP + local_14+0x4],0x0
.text:00407da8 33ff XOR EDI,EDI
.text:00407daa 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:00407dad 8b4520 MOV EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00407db0 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:00407db3 e8633b0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407db8 8ad8 MOV BL,AL
.text:00407dba 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00407dbd 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:00407dc0 80781400 CMP byte ptr [EAX + 0x14],0x0
.text:00407dc4 750a JNZ LAB_00407dd0
.text:00407dc6 8bc8 MOV ECX,EAX
.text:00407dc8 e813e7ffff CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
.text:00407dcd 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
LAB_00407dd0: ;XREF[1,0]: 00407dc4
.text:00407dd0 83c00c ADD EAX,0xc
.text:00407dd3 50 PUSH EAX
.text:00407dd4 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00407dd7 0fb6c3 MOVZX EAX,BL
.text:00407dda 6a08 PUSH 0x8
.text:00407ddc 50 PUSH EAX
.text:00407ddd e8eb4b0000 CALL FUN_0040c9cd ;uint FUN_0040c9cd(int param_1, uint ...
.text:00407de2 83c40c ADD ESP,0xc
.text:00407de5 85c0 TEST EAX,EAX
.text:00407de7 7426 JZ LAB_00407e0f
.text:00407de9 8b75f4 MOV ESI,dword ptr [EBP + local_10+0x4]
LAB_00407dec: ;XREF[1,0]: 00407e0a
.text:00407dec 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00407def e8273b0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407df4 8ad8 MOV BL,AL
.text:00407df6 56 PUSH ESI
.text:00407df7 0fb6c3 MOVZX EAX,BL
.text:00407dfa 6a08 PUSH 0x8
.text:00407dfc 50 PUSH EAX
.text:00407dfd 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:00407e00 e8c84b0000 CALL FUN_0040c9cd ;uint FUN_0040c9cd(int param_1, uint ...
.text:00407e05 83c40c ADD ESP,0xc
.text:00407e08 85c0 TEST EAX,EAX
.text:00407e0a 75e0 JNZ LAB_00407dec
.text:00407e0c 8b752c MOV ESI,dword ptr [EBP + Stack[0x28]+0x4]
LAB_00407e0f: ;XREF[1,0]: 00407de7
.text:00407e0f 0fb64530 MOVZX EAX,byte ptr [EBP + Stack[0x2c]+0x4]
.text:00407e13 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00407e16 80fb2d CMP BL,0x2d
.text:00407e19 7508 JNZ LAB_00407e23
.text:00407e1b 83c802 OR EAX,0x2
.text:00407e1e 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00407e21 eb05 JMP LAB_00407e28
LAB_00407e23: ;XREF[1,0]: 00407e19
.text:00407e23 80fb2b CMP BL,0x2b
.text:00407e26 750d JNZ LAB_00407e35
LAB_00407e28: ;XREF[1,0]: 00407e21
.text:00407e28 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00407e2b e8eb3a0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407e30 8ad8 MOV BL,AL
.text:00407e32 885df8 MOV byte ptr [EBP + local_c+0x4],BL
LAB_00407e35: ;XREF[1,0]: 00407e26
.text:00407e35 85f6 TEST ESI,ESI
.text:00407e37 7405 JZ LAB_00407e3e
.text:00407e39 83fe10 CMP ESI,0x10
.text:00407e3c 7576 JNZ LAB_00407eb4
LAB_00407e3e: ;XREF[1,0]: 00407e37
.text:00407e3e 8ac3 MOV AL,BL
.text:00407e40 2c30 SUB AL,0x30
.text:00407e42 3c09 CMP AL,0x9
.text:00407e44 7708 JA LAB_00407e4e
.text:00407e46 0fbec3 MOVSX EAX,BL
.text:00407e49 83c0d0 ADD EAX,-0x30
.text:00407e4c eb1e JMP LAB_00407e6c
LAB_00407e4e: ;XREF[1,0]: 00407e44
.text:00407e4e 8ac3 MOV AL,BL
.text:00407e50 2c61 SUB AL,0x61
.text:00407e52 3c19 CMP AL,0x19
.text:00407e54 7708 JA LAB_00407e5e
.text:00407e56 0fbec3 MOVSX EAX,BL
.text:00407e59 83c0a9 ADD EAX,-0x57
.text:00407e5c eb0e JMP LAB_00407e6c
LAB_00407e5e: ;XREF[1,0]: 00407e54
.text:00407e5e 8ac3 MOV AL,BL
.text:00407e60 2c41 SUB AL,0x41
.text:00407e62 3c19 CMP AL,0x19
.text:00407e64 7747 JA LAB_00407ead
.text:00407e66 0fbec3 MOVSX EAX,BL
.text:00407e69 83c0c9 ADD EAX,-0x37
LAB_00407e6c: ;XREF[2,0]: 00407e4c,00407e5c
.text:00407e6c 85c0 TEST EAX,EAX
.text:00407e6e 753d JNZ LAB_00407ead
.text:00407e70 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00407e73 e8a33a0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407e78 8845f4 MOV byte ptr [EBP + local_10+0x4],AL
.text:00407e7b 3c78 CMP AL,0x78
.text:00407e7d 7418 JZ LAB_00407e97
.text:00407e7f 3c58 CMP AL,0x58
.text:00407e81 7414 JZ LAB_00407e97
.text:00407e83 85f6 TEST ESI,ESI
.text:00407e85 7503 JNZ LAB_00407e8a
.text:00407e87 6a08 PUSH 0x8
.text:00407e89 5e POP ESI
LAB_00407e8a: ;XREF[1,0]: 00407e85
.text:00407e8a ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:00407e8d 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00407e90 e883470000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407e95 eb1d JMP LAB_00407eb4
LAB_00407e97: ;XREF[2,0]: 00407e7d,00407e81
.text:00407e97 85f6 TEST ESI,ESI
.text:00407e99 7503 JNZ LAB_00407e9e
.text:00407e9b 6a10 PUSH 0x10
.text:00407e9d 5e POP ESI
LAB_00407e9e: ;XREF[1,0]: 00407e99
.text:00407e9e 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00407ea1 e8753a0000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407ea6 8ad8 MOV BL,AL
.text:00407ea8 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:00407eab eb07 JMP LAB_00407eb4
LAB_00407ead: ;XREF[2,0]: 00407e64,00407e6e
.text:00407ead 85f6 TEST ESI,ESI
.text:00407eaf 7503 JNZ LAB_00407eb4
.text:00407eb1 6a0a PUSH 0xa
.text:00407eb3 5e POP ESI
LAB_00407eb4: ;XREF[4,0]: 00407e3c,00407e95,00407eab,00407eaf
.text:00407eb4 8bc6 MOV EAX,ESI
.text:00407eb6 99 CDQ
.text:00407eb7 8bca MOV ECX,EDX
.text:00407eb9 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:00407ebc 51 PUSH ECX
.text:00407ebd 50 PUSH EAX
.text:00407ebe 6aff PUSH -0x1
.text:00407ec0 6aff PUSH -0x1
.text:00407ec2 894dec MOV dword ptr [EBP + local_18+0x4],ECX
.text:00407ec5 e896270100 CALL __aulldiv ;undefined8 __aulldiv(uint param_1, u...
.text:00407eca 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:00407ecd 8955e4 MOV dword ptr [EBP + local_20+0x4],EDX
LAB_00407ed0: ;XREF[1,0]: 00407f6f
.text:00407ed0 8ac3 MOV AL,BL
.text:00407ed2 2c30 SUB AL,0x30
.text:00407ed4 3c09 CMP AL,0x9
.text:00407ed6 7708 JA LAB_00407ee0
.text:00407ed8 0fbec3 MOVSX EAX,BL
.text:00407edb 83c0d0 ADD EAX,-0x30
.text:00407ede eb23 JMP LAB_00407f03
LAB_00407ee0: ;XREF[1,0]: 00407ed6
.text:00407ee0 8ac3 MOV AL,BL
.text:00407ee2 2c61 SUB AL,0x61
.text:00407ee4 3c19 CMP AL,0x19
.text:00407ee6 7708 JA LAB_00407ef0
.text:00407ee8 0fbec3 MOVSX EAX,BL
.text:00407eeb 83c0a9 ADD EAX,-0x57
.text:00407eee eb13 JMP LAB_00407f03
LAB_00407ef0: ;XREF[1,0]: 00407ee6
.text:00407ef0 8ac3 MOV AL,BL
.text:00407ef2 2c41 SUB AL,0x41
.text:00407ef4 3c19 CMP AL,0x19
.text:00407ef6 7708 JA LAB_00407f00
.text:00407ef8 0fbec3 MOVSX EAX,BL
.text:00407efb 83c0c9 ADD EAX,-0x37
.text:00407efe eb03 JMP LAB_00407f03
LAB_00407f00: ;XREF[1,0]: 00407ef6
.text:00407f00 83c8ff OR EAX,0xffffffff
LAB_00407f03: ;XREF[3,0]: 00407ede,00407eee,00407efe
.text:00407f03 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00407f06 3bc6 CMP EAX,ESI
.text:00407f08 736a JNC LAB_00407f74
.text:00407f0a 8b5df0 MOV EBX,dword ptr [EBP + local_14+0x4]
.text:00407f0d 57 PUSH EDI
.text:00407f0e 53 PUSH EBX
.text:00407f0f ff75ec PUSH dword ptr [EBP + local_18+0x4]
.text:00407f12 ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:00407f15 e836280100 CALL __allmul ;longlong __allmul(uint param_1, uint...
.text:00407f1a 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00407f1d 8bca MOV ECX,EDX
.text:00407f1f 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00407f22 33d2 XOR EDX,EDX
.text:00407f24 0345f0 ADD EAX,dword ptr [EBP + local_14+0x4]
.text:00407f27 13d1 ADC EDX,ECX
.text:00407f29 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:00407f2c 3b7de4 CMP EDI,dword ptr [EBP + local_20+0x4]
.text:00407f2f 720c JC LAB_00407f3d
.text:00407f31 7705 JA LAB_00407f38
.text:00407f33 3b5de0 CMP EBX,dword ptr [EBP + local_24+0x4]
.text:00407f36 7605 JBE LAB_00407f3d
LAB_00407f38: ;XREF[1,0]: 00407f31
.text:00407f38 33d2 XOR EDX,EDX
.text:00407f3a 42 INC EDX
.text:00407f3b eb02 JMP LAB_00407f3f
LAB_00407f3d: ;XREF[2,0]: 00407f2f,00407f36
.text:00407f3d 33d2 XOR EDX,EDX
LAB_00407f3f: ;XREF[1,0]: 00407f3b
.text:00407f3f 8b7df4 MOV EDI,dword ptr [EBP + local_10+0x4]
.text:00407f42 3bf9 CMP EDI,ECX
.text:00407f44 770c JA LAB_00407f52
.text:00407f46 7205 JC LAB_00407f4d
.text:00407f48 3b45f0 CMP EAX,dword ptr [EBP + local_14+0x4]
.text:00407f4b 7305 JNC LAB_00407f52
LAB_00407f4d: ;XREF[1,0]: 00407f46
.text:00407f4d 33c9 XOR ECX,ECX
.text:00407f4f 41 INC ECX
.text:00407f50 eb02 JMP LAB_00407f54
LAB_00407f52: ;XREF[2,0]: 00407f44,00407f4b
.text:00407f52 33c9 XOR ECX,ECX
LAB_00407f54: ;XREF[1,0]: 00407f50
.text:00407f54 0bca OR ECX,EDX
.text:00407f56 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00407f59 c1e102 SHL ECX,0x2
.text:00407f5c 83c908 OR ECX,0x8
.text:00407f5f 094dfc OR dword ptr [EBP + local_8+0x4],ECX
.text:00407f62 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00407f65 e8b1390000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00407f6a 8ad8 MOV BL,AL
.text:00407f6c 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:00407f6f e95cffffff JMP LAB_00407ed0
LAB_00407f74: ;XREF[1,0]: 00407f08
.text:00407f74 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:00407f77 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00407f7a e899460000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00407f7f 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00407f82 a808 TEST AL,0x8
.text:00407f84 7528 JNZ LAB_00407fae
.text:00407f86 ff75dc PUSH dword ptr [EBP + local_28+0x4]
.text:00407f89 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00407f8c ff75d8 PUSH dword ptr [EBP + local_2c+0x4]
.text:00407f8f e8c4400000 CALL restore_state ;undefined4 restore_state(void * this...
LAB_00407f94: ;XREF[1,0]: 00407d4b
.text:00407f94 8b4d24 MOV ECX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00407f97 85c9 TEST ECX,ECX
.text:00407f99 740a JZ LAB_00407fa5
.text:00407f9b 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00407f9e 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00407fa1 7502 JNZ LAB_00407fa5
.text:00407fa3 8801 MOV byte ptr [ECX],AL
LAB_00407fa5: ;XREF[5,0]: 00407d85,00407d91,00407d99,00407f99
; 00407fa1
.text:00407fa5 33c0 XOR EAX,EAX
.text:00407fa7 33d2 XOR EDX,EDX
.text:00407fa9 e987000000 JMP LAB_00408035
LAB_00407fae: ;XREF[1,0]: 00407f84
.text:00407fae 8b5df0 MOV EBX,dword ptr [EBP + local_14+0x4]
.text:00407fb1 57 PUSH EDI
.text:00407fb2 53 PUSH EBX
.text:00407fb3 50 PUSH EAX
.text:00407fb4 e82cebffff CALL FUN_00406ae5 ;undefined FUN_00406ae5(byte param_1,...
.text:00407fb9 83c40c ADD ESP,0xc
.text:00407fbc 84c0 TEST AL,AL
.text:00407fbe 7453 JZ LAB_00408013
.text:00407fc0 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00407fc3 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00407fc7 c74018220... MOV dword ptr [EAX + 0x18],0x22
.text:00407fce 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00407fd1 a801 TEST AL,0x1
.text:00407fd3 7508 JNZ LAB_00407fdd
.text:00407fd5 83cbff OR EBX,0xffffffff
.text:00407fd8 83cfff OR EDI,0xffffffff
.text:00407fdb eb43 JMP LAB_00408020
LAB_00407fdd: ;XREF[1,0]: 00407fd3
.text:00407fdd 8b4d24 MOV ECX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00407fe0 a802 TEST AL,0x2
.text:00407fe2 7417 JZ LAB_00407ffb
.text:00407fe4 85c9 TEST ECX,ECX
.text:00407fe6 740a JZ LAB_00407ff2
.text:00407fe8 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00407feb 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00407fee 7502 JNZ LAB_00407ff2
.text:00407ff0 8801 MOV byte ptr [ECX],AL
LAB_00407ff2: ;XREF[2,0]: 00407fe6,00407fee
.text:00407ff2 33c0 XOR EAX,EAX
.text:00407ff4 ba00000080 MOV EDX,0x80000000
.text:00407ff9 eb3a JMP LAB_00408035
LAB_00407ffb: ;XREF[1,0]: 00407fe2
.text:00407ffb 85c9 TEST ECX,ECX
.text:00407ffd 740a JZ LAB_00408009
.text:00407fff 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00408002 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00408005 7502 JNZ LAB_00408009
.text:00408007 8801 MOV byte ptr [ECX],AL
LAB_00408009: ;XREF[2,0]: 00407ffd,00408005
.text:00408009 83c8ff OR EAX,0xffffffff
.text:0040800c baffffff7f MOV EDX,0x7fffffff
.text:00408011 eb22 JMP LAB_00408035
LAB_00408013: ;XREF[1,0]: 00407fbe
.text:00408013 f645fc02 TEST byte ptr [EBP + local_8+0x4],0x2
.text:00408017 7407 JZ LAB_00408020
.text:00408019 f7db NEG EBX
.text:0040801b 83d700 ADC EDI,0x0
.text:0040801e f7df NEG EDI
LAB_00408020: ;XREF[2,0]: 00407fdb,00408017
.text:00408020 8b4524 MOV EAX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00408023 85c0 TEST EAX,EAX
.text:00408025 740a JZ LAB_00408031
.text:00408027 8b4d1c MOV ECX,dword ptr [EBP + Stack[0x18]+0x4]
.text:0040802a 0b4d20 OR ECX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:0040802d 7502 JNZ LAB_00408031
.text:0040802f 8808 MOV byte ptr [EAX],CL
LAB_00408031: ;XREF[2,0]: 00408025,0040802d
.text:00408031 8bc3 MOV EAX,EBX
.text:00408033 8bd7 MOV EDX,EDI
LAB_00408035: ;XREF[3,0]: 00407fa9,00407ff9,00408011
.text:00408035 5f POP EDI
.text:00408036 5e POP ESI
.text:00408037 5b POP EBX
.text:00408038 c9 LEAVE
.text:00408039 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ulonglong FUN_0040803a(undefined4 * param_1)
;param_1 undefined4 * 4 ;XREF[1,0]: 00408048
;local_30 undefined1 -30 ;XREF[3,0]: 00408042,00408064,00408070
;XREF[1,0]: 0040bd69
.text:0040803a 8bff MOV EDI,EDI
.text:0040803c 55 PUSH EBP
.text:0040803d 8bec MOV EBP,ESP
.text:0040803f 83ec2c SUB ESP,0x2c
.text:00408042 8d4dd4 LEA ECX=>local_30,[EBP + -0x2c]
.text:00408045 53 PUSH EBX
.text:00408046 56 PUSH ESI
.text:00408047 57 PUSH EDI
.text:00408048 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040804b e880d5ffff CALL FUN_004055d0 ;void * FUN_004055d0(void * this, und...
.text:00408050 ff7530 PUSH dword ptr [EBP + Stack[0x2c]+0x4]
.text:00408053 8d450c LEA EAX=>Stack[0x8],[EBP + 0xc]
.text:00408056 ff752c PUSH dword ptr [EBP + Stack[0x28]+0x4]
.text:00408059 83ec20 SUB ESP,0x20
.text:0040805c 8bcc MOV ECX,ESP
.text:0040805e 50 PUSH EAX
.text:0040805f e88e0c0000 CALL FUN_00408cf2 ;void * FUN_00408cf2(void * this, und...
.text:00408064 8d45d4 LEA EAX=>local_30,[EBP + -0x2c]
.text:00408067 50 PUSH EAX
.text:00408068 e8c9fcffff CALL FUN_00407d36 ;ulonglong FUN_00407d36(__acrt_ptd * ...
.text:0040806d 83c42c ADD ESP,0x2c
.text:00408070 8d4dd4 LEA ECX=>local_30,[EBP + -0x2c]
.text:00408073 8bf8 MOV EDI,EAX
.text:00408075 8bda MOV EBX,EDX
.text:00408077 e8b4d5ffff CALL FUN_00405630 ;undefined FUN_00405630(__acrt_ptd * ...
.text:0040807c 8b7524 MOV ESI,dword ptr [EBP + Stack[0x20]+0x4]
.text:0040807f 85f6 TEST ESI,ESI
.text:00408081 740a JZ LAB_0040808d
.text:00408083 8b4d1c MOV ECX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00408086 0b4d20 OR ECX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00408089 7502 JNZ LAB_0040808d
.text:0040808b 880e MOV byte ptr [ESI],CL
LAB_0040808d: ;XREF[2,0]: 00408081,00408089
.text:0040808d 8bc7 MOV EAX,EDI
.text:0040808f 8bd3 MOV EDX,EBX
.text:00408091 5f POP EDI
.text:00408092 5e POP ESI
.text:00408093 5b POP EBX
.text:00408094 c9 LEAVE
.text:00408095 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ulonglong FUN_00408096(__acrt_ptd * * param_1)
;param_1 __acrt_ptd * * 4 ;XREF[4,0]: 004080c2,0040811a,0040812d,00408320
;local_8 undefined4 -8 ;XREF[6,0]: 00408173,0040817e,004082bf,004082df,0040832e
; 00408373
;local_c undefined4 -c ;XREF[6,0]: 0040811d,0040815d,00408192,00408208,004082cc
; 004082d4
;local_10 undefined4 -10 ;XREF[8,0]: 00408134,00408149,004081d8,004081ea,00408263
; 0040827f,00408289,0040829f
;local_14 undefined4 -14 ;XREF[7,0]: 00408104,0040826a,0040827a,00408284,004082a8
; 004082b6,0040830e
;local_18 undefined4 -18 ;XREF[2,0]: 00408222,0040826f
;local_1c undefined4 -1c ;XREF[2,0]: 00408219,00408272
;local_20 undefined4 -20 ;XREF[2,0]: 0040822d,0040828c
;local_24 undefined4 -24 ;XREF[2,0]: 0040822a,00408293
;local_28 undefined4 -28 ;XREF[2,0]: 00408110,004082e6
;local_2c undefined4 -2c ;XREF[2,0]: 0040810a,004082ec
;XREF[1,0]: 004083c8
.text:00408096 8bff MOV EDI,EDI
.text:00408098 55 PUSH EBP
.text:00408099 8bec MOV EBP,ESP
.text:0040809b 83ec28 SUB ESP,0x28
.text:0040809e 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:004080a1 53 PUSH EBX
.text:004080a2 56 PUSH ESI
.text:004080a3 57 PUSH EDI
.text:004080a4 e856460000 CALL FUN_0040c6ff ;undefined4 FUN_0040c6ff(int * param_1)
.text:004080a9 84c0 TEST AL,AL
.text:004080ab 0f8443020000 JZ LAB_004082f4
.text:004080b1 8b752c MOV ESI,dword ptr [EBP + Stack[0x28]+0x4]
.text:004080b4 85f6 TEST ESI,ESI
.text:004080b6 7446 JZ LAB_004080fe
.text:004080b8 83fe02 CMP ESI,0x2
.text:004080bb 7c05 JL LAB_004080c2
.text:004080bd 83fe24 CMP ESI,0x24
.text:004080c0 7e3c JLE LAB_004080fe
LAB_004080c2: ;XREF[1,0]: 004080bb
.text:004080c2 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004080c5 33db XOR EBX,EBX
.text:004080c7 50 PUSH EAX
.text:004080c8 53 PUSH EBX
.text:004080c9 53 PUSH EBX
.text:004080ca 53 PUSH EBX
.text:004080cb 53 PUSH EBX
.text:004080cc 53 PUSH EBX
.text:004080cd c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:004080d1 c74018160... MOV dword ptr [EAX + 0x18],0x16
.text:004080d8 e8c9600000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:004080dd 8b4d24 MOV ECX,dword ptr [EBP + Stack[0x20]+0x4]
.text:004080e0 83c418 ADD ESP,0x18
.text:004080e3 85c9 TEST ECX,ECX
.text:004080e5 0f841a020000 JZ LAB_00408305
.text:004080eb 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:004080ee 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:004080f1 0f850e020000 JNZ LAB_00408305
.text:004080f7 8819 MOV byte ptr [ECX],BL
.text:004080f9 e907020000 JMP LAB_00408305
LAB_004080fe: ;XREF[2,0]: 004080b6,004080c0
.text:004080fe 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00408101 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00408104 8365f000 AND dword ptr [EBP + local_14+0x4],0x0
.text:00408108 33ff XOR EDI,EDI
.text:0040810a 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:0040810d 8b4520 MOV EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00408110 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:00408113 e842380000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00408118 8ad8 MOV BL,AL
.text:0040811a 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040811d 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:00408120 80781400 CMP byte ptr [EAX + 0x14],0x0
.text:00408124 750a JNZ LAB_00408130
.text:00408126 8bc8 MOV ECX,EAX
.text:00408128 e8b3e3ffff CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
.text:0040812d 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
LAB_00408130: ;XREF[1,0]: 00408124
.text:00408130 83c00c ADD EAX,0xc
.text:00408133 50 PUSH EAX
.text:00408134 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00408137 0fb6c3 MOVZX EAX,BL
.text:0040813a 6a08 PUSH 0x8
.text:0040813c 50 PUSH EAX
.text:0040813d e88b480000 CALL FUN_0040c9cd ;uint FUN_0040c9cd(int param_1, uint ...
.text:00408142 83c40c ADD ESP,0xc
.text:00408145 85c0 TEST EAX,EAX
.text:00408147 7426 JZ LAB_0040816f
.text:00408149 8b75f4 MOV ESI,dword ptr [EBP + local_10+0x4]
LAB_0040814c: ;XREF[1,0]: 0040816a
.text:0040814c 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:0040814f e806380000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00408154 8ad8 MOV BL,AL
.text:00408156 56 PUSH ESI
.text:00408157 0fb6c3 MOVZX EAX,BL
.text:0040815a 6a08 PUSH 0x8
.text:0040815c 50 PUSH EAX
.text:0040815d 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:00408160 e868480000 CALL FUN_0040c9cd ;uint FUN_0040c9cd(int param_1, uint ...
.text:00408165 83c40c ADD ESP,0xc
.text:00408168 85c0 TEST EAX,EAX
.text:0040816a 75e0 JNZ LAB_0040814c
.text:0040816c 8b752c MOV ESI,dword ptr [EBP + Stack[0x28]+0x4]
LAB_0040816f: ;XREF[1,0]: 00408147
.text:0040816f 0fb64530 MOVZX EAX,byte ptr [EBP + Stack[0x2c]+0x4]
.text:00408173 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00408176 80fb2d CMP BL,0x2d
.text:00408179 7508 JNZ LAB_00408183
.text:0040817b 83c802 OR EAX,0x2
.text:0040817e 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00408181 eb05 JMP LAB_00408188
LAB_00408183: ;XREF[1,0]: 00408179
.text:00408183 80fb2b CMP BL,0x2b
.text:00408186 750d JNZ LAB_00408195
LAB_00408188: ;XREF[1,0]: 00408181
.text:00408188 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:0040818b e8ca370000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00408190 8ad8 MOV BL,AL
.text:00408192 885df8 MOV byte ptr [EBP + local_c+0x4],BL
LAB_00408195: ;XREF[1,0]: 00408186
.text:00408195 85f6 TEST ESI,ESI
.text:00408197 7405 JZ LAB_0040819e
.text:00408199 83fe10 CMP ESI,0x10
.text:0040819c 7576 JNZ LAB_00408214
LAB_0040819e: ;XREF[1,0]: 00408197
.text:0040819e 8ac3 MOV AL,BL
.text:004081a0 2c30 SUB AL,0x30
.text:004081a2 3c09 CMP AL,0x9
.text:004081a4 7708 JA LAB_004081ae
.text:004081a6 0fbec3 MOVSX EAX,BL
.text:004081a9 83c0d0 ADD EAX,-0x30
.text:004081ac eb1e JMP LAB_004081cc
LAB_004081ae: ;XREF[1,0]: 004081a4
.text:004081ae 8ac3 MOV AL,BL
.text:004081b0 2c61 SUB AL,0x61
.text:004081b2 3c19 CMP AL,0x19
.text:004081b4 7708 JA LAB_004081be
.text:004081b6 0fbec3 MOVSX EAX,BL
.text:004081b9 83c0a9 ADD EAX,-0x57
.text:004081bc eb0e JMP LAB_004081cc
LAB_004081be: ;XREF[1,0]: 004081b4
.text:004081be 8ac3 MOV AL,BL
.text:004081c0 2c41 SUB AL,0x41
.text:004081c2 3c19 CMP AL,0x19
.text:004081c4 7747 JA LAB_0040820d
.text:004081c6 0fbec3 MOVSX EAX,BL
.text:004081c9 83c0c9 ADD EAX,-0x37
LAB_004081cc: ;XREF[2,0]: 004081ac,004081bc
.text:004081cc 85c0 TEST EAX,EAX
.text:004081ce 753d JNZ LAB_0040820d
.text:004081d0 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:004081d3 e882370000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004081d8 8845f4 MOV byte ptr [EBP + local_10+0x4],AL
.text:004081db 3c78 CMP AL,0x78
.text:004081dd 7418 JZ LAB_004081f7
.text:004081df 3c58 CMP AL,0x58
.text:004081e1 7414 JZ LAB_004081f7
.text:004081e3 85f6 TEST ESI,ESI
.text:004081e5 7503 JNZ LAB_004081ea
.text:004081e7 6a08 PUSH 0x8
.text:004081e9 5e POP ESI
LAB_004081ea: ;XREF[1,0]: 004081e5
.text:004081ea ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:004081ed 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:004081f0 e86a440000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:004081f5 eb1d JMP LAB_00408214
LAB_004081f7: ;XREF[2,0]: 004081dd,004081e1
.text:004081f7 85f6 TEST ESI,ESI
.text:004081f9 7503 JNZ LAB_004081fe
.text:004081fb 6a10 PUSH 0x10
.text:004081fd 5e POP ESI
LAB_004081fe: ;XREF[1,0]: 004081f9
.text:004081fe 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:00408201 e854370000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:00408206 8ad8 MOV BL,AL
.text:00408208 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:0040820b eb07 JMP LAB_00408214
LAB_0040820d: ;XREF[2,0]: 004081c4,004081ce
.text:0040820d 85f6 TEST ESI,ESI
.text:0040820f 7503 JNZ LAB_00408214
.text:00408211 6a0a PUSH 0xa
.text:00408213 5e POP ESI
LAB_00408214: ;XREF[4,0]: 0040819c,004081f5,0040820b,0040820f
.text:00408214 8bc6 MOV EAX,ESI
.text:00408216 99 CDQ
.text:00408217 8bca MOV ECX,EDX
.text:00408219 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:0040821c 51 PUSH ECX
.text:0040821d 50 PUSH EAX
.text:0040821e 6aff PUSH -0x1
.text:00408220 6aff PUSH -0x1
.text:00408222 894dec MOV dword ptr [EBP + local_18+0x4],ECX
.text:00408225 e836240100 CALL __aulldiv ;undefined8 __aulldiv(uint param_1, u...
.text:0040822a 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:0040822d 8955e4 MOV dword ptr [EBP + local_20+0x4],EDX
LAB_00408230: ;XREF[1,0]: 004082cf
.text:00408230 8ac3 MOV AL,BL
.text:00408232 2c30 SUB AL,0x30
.text:00408234 3c09 CMP AL,0x9
.text:00408236 7708 JA LAB_00408240
.text:00408238 0fbec3 MOVSX EAX,BL
.text:0040823b 83c0d0 ADD EAX,-0x30
.text:0040823e eb23 JMP LAB_00408263
LAB_00408240: ;XREF[1,0]: 00408236
.text:00408240 8ac3 MOV AL,BL
.text:00408242 2c61 SUB AL,0x61
.text:00408244 3c19 CMP AL,0x19
.text:00408246 7708 JA LAB_00408250
.text:00408248 0fbec3 MOVSX EAX,BL
.text:0040824b 83c0a9 ADD EAX,-0x57
.text:0040824e eb13 JMP LAB_00408263
LAB_00408250: ;XREF[1,0]: 00408246
.text:00408250 8ac3 MOV AL,BL
.text:00408252 2c41 SUB AL,0x41
.text:00408254 3c19 CMP AL,0x19
.text:00408256 7708 JA LAB_00408260
.text:00408258 0fbec3 MOVSX EAX,BL
.text:0040825b 83c0c9 ADD EAX,-0x37
.text:0040825e eb03 JMP LAB_00408263
LAB_00408260: ;XREF[1,0]: 00408256
.text:00408260 83c8ff OR EAX,0xffffffff
LAB_00408263: ;XREF[3,0]: 0040823e,0040824e,0040825e
.text:00408263 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00408266 3bc6 CMP EAX,ESI
.text:00408268 736a JNC LAB_004082d4
.text:0040826a 8b5df0 MOV EBX,dword ptr [EBP + local_14+0x4]
.text:0040826d 57 PUSH EDI
.text:0040826e 53 PUSH EBX
.text:0040826f ff75ec PUSH dword ptr [EBP + local_18+0x4]
.text:00408272 ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:00408275 e8d6240100 CALL __allmul ;longlong __allmul(uint param_1, uint...
.text:0040827a 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:0040827d 8bca MOV ECX,EDX
.text:0040827f 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00408282 33d2 XOR EDX,EDX
.text:00408284 0345f0 ADD EAX,dword ptr [EBP + local_14+0x4]
.text:00408287 13d1 ADC EDX,ECX
.text:00408289 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:0040828c 3b7de4 CMP EDI,dword ptr [EBP + local_20+0x4]
.text:0040828f 720c JC LAB_0040829d
.text:00408291 7705 JA LAB_00408298
.text:00408293 3b5de0 CMP EBX,dword ptr [EBP + local_24+0x4]
.text:00408296 7605 JBE LAB_0040829d
LAB_00408298: ;XREF[1,0]: 00408291
.text:00408298 33d2 XOR EDX,EDX
.text:0040829a 42 INC EDX
.text:0040829b eb02 JMP LAB_0040829f
LAB_0040829d: ;XREF[2,0]: 0040828f,00408296
.text:0040829d 33d2 XOR EDX,EDX
LAB_0040829f: ;XREF[1,0]: 0040829b
.text:0040829f 8b7df4 MOV EDI,dword ptr [EBP + local_10+0x4]
.text:004082a2 3bf9 CMP EDI,ECX
.text:004082a4 770c JA LAB_004082b2
.text:004082a6 7205 JC LAB_004082ad
.text:004082a8 3b45f0 CMP EAX,dword ptr [EBP + local_14+0x4]
.text:004082ab 7305 JNC LAB_004082b2
LAB_004082ad: ;XREF[1,0]: 004082a6
.text:004082ad 33c9 XOR ECX,ECX
.text:004082af 41 INC ECX
.text:004082b0 eb02 JMP LAB_004082b4
LAB_004082b2: ;XREF[2,0]: 004082a4,004082ab
.text:004082b2 33c9 XOR ECX,ECX
LAB_004082b4: ;XREF[1,0]: 004082b0
.text:004082b4 0bca OR ECX,EDX
.text:004082b6 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:004082b9 c1e102 SHL ECX,0x2
.text:004082bc 83c908 OR ECX,0x8
.text:004082bf 094dfc OR dword ptr [EBP + local_8+0x4],ECX
.text:004082c2 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:004082c5 e890360000 CALL __crt_strtox::input_adapter_character...;char get(input_adapter_character_sou...
.text:004082ca 8ad8 MOV BL,AL
.text:004082cc 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:004082cf e95cffffff JMP LAB_00408230
LAB_004082d4: ;XREF[1,0]: 00408268
.text:004082d4 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:004082d7 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:004082da e880430000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:004082df 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:004082e2 a808 TEST AL,0x8
.text:004082e4 7528 JNZ LAB_0040830e
.text:004082e6 ff75dc PUSH dword ptr [EBP + local_28+0x4]
.text:004082e9 8d4d0c LEA ECX=>Stack[0x8],[EBP + 0xc]
.text:004082ec ff75d8 PUSH dword ptr [EBP + local_2c+0x4]
.text:004082ef e8643d0000 CALL restore_state ;undefined4 restore_state(void * this...
LAB_004082f4: ;XREF[1,0]: 004080ab
.text:004082f4 8b4d24 MOV ECX,dword ptr [EBP + Stack[0x20]+0x4]
.text:004082f7 85c9 TEST ECX,ECX
.text:004082f9 740a JZ LAB_00408305
.text:004082fb 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:004082fe 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00408301 7502 JNZ LAB_00408305
.text:00408303 8801 MOV byte ptr [ECX],AL
LAB_00408305: ;XREF[5,0]: 004080e5,004080f1,004080f9,004082f9
; 00408301
.text:00408305 33c0 XOR EAX,EAX
.text:00408307 33d2 XOR EDX,EDX
.text:00408309 e987000000 JMP LAB_00408395
LAB_0040830e: ;XREF[1,0]: 004082e4
.text:0040830e 8b5df0 MOV EBX,dword ptr [EBP + local_14+0x4]
.text:00408311 57 PUSH EDI
.text:00408312 53 PUSH EBX
.text:00408313 50 PUSH EAX
.text:00408314 e8cce7ffff CALL FUN_00406ae5 ;undefined FUN_00406ae5(byte param_1,...
.text:00408319 83c40c ADD ESP,0xc
.text:0040831c 84c0 TEST AL,AL
.text:0040831e 7453 JZ LAB_00408373
.text:00408320 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00408323 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00408327 c74018220... MOV dword ptr [EAX + 0x18],0x22
.text:0040832e 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00408331 a801 TEST AL,0x1
.text:00408333 7508 JNZ LAB_0040833d
.text:00408335 83cbff OR EBX,0xffffffff
.text:00408338 83cfff OR EDI,0xffffffff
.text:0040833b eb43 JMP LAB_00408380
LAB_0040833d: ;XREF[1,0]: 00408333
.text:0040833d 8b4d24 MOV ECX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00408340 a802 TEST AL,0x2
.text:00408342 7417 JZ LAB_0040835b
.text:00408344 85c9 TEST ECX,ECX
.text:00408346 740a JZ LAB_00408352
.text:00408348 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:0040834b 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:0040834e 7502 JNZ LAB_00408352
.text:00408350 8801 MOV byte ptr [ECX],AL
LAB_00408352: ;XREF[2,0]: 00408346,0040834e
.text:00408352 33c0 XOR EAX,EAX
.text:00408354 ba00000080 MOV EDX,0x80000000
.text:00408359 eb3a JMP LAB_00408395
LAB_0040835b: ;XREF[1,0]: 00408342
.text:0040835b 85c9 TEST ECX,ECX
.text:0040835d 740a JZ LAB_00408369
.text:0040835f 8b451c MOV EAX,dword ptr [EBP + Stack[0x18]+0x4]
.text:00408362 0b4520 OR EAX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:00408365 7502 JNZ LAB_00408369
.text:00408367 8801 MOV byte ptr [ECX],AL
LAB_00408369: ;XREF[2,0]: 0040835d,00408365
.text:00408369 83c8ff OR EAX,0xffffffff
.text:0040836c baffffff7f MOV EDX,0x7fffffff
.text:00408371 eb22 JMP LAB_00408395
LAB_00408373: ;XREF[1,0]: 0040831e
.text:00408373 f645fc02 TEST byte ptr [EBP + local_8+0x4],0x2
.text:00408377 7407 JZ LAB_00408380
.text:00408379 f7db NEG EBX
.text:0040837b 83d700 ADC EDI,0x0
.text:0040837e f7df NEG EDI
LAB_00408380: ;XREF[2,0]: 0040833b,00408377
.text:00408380 8b4524 MOV EAX,dword ptr [EBP + Stack[0x20]+0x4]
.text:00408383 85c0 TEST EAX,EAX
.text:00408385 740a JZ LAB_00408391
.text:00408387 8b4d1c MOV ECX,dword ptr [EBP + Stack[0x18]+0x4]
.text:0040838a 0b4d20 OR ECX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:0040838d 7502 JNZ LAB_00408391
.text:0040838f 8808 MOV byte ptr [EAX],CL
LAB_00408391: ;XREF[2,0]: 00408385,0040838d
.text:00408391 8bc3 MOV EAX,EBX
.text:00408393 8bd7 MOV EDX,EDI
LAB_00408395: ;XREF[3,0]: 00408309,00408359,00408371
.text:00408395 5f POP EDI
.text:00408396 5e POP ESI
.text:00408397 5b POP EBX
.text:00408398 c9 LEAVE
.text:00408399 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ulonglong FUN_0040839a(undefined4 * param_1)
;param_1 undefined4 * 4 ;XREF[1,0]: 004083a8
;local_30 undefined1 -30 ;XREF[3,0]: 004083a2,004083c4,004083d0
;XREF[1,0]: 0040bdce
.text:0040839a 8bff MOV EDI,EDI
.text:0040839c 55 PUSH EBP
.text:0040839d 8bec MOV EBP,ESP
.text:0040839f 83ec2c SUB ESP,0x2c
.text:004083a2 8d4dd4 LEA ECX=>local_30,[EBP + -0x2c]
.text:004083a5 53 PUSH EBX
.text:004083a6 56 PUSH ESI
.text:004083a7 57 PUSH EDI
.text:004083a8 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004083ab e820d2ffff CALL FUN_004055d0 ;void * FUN_004055d0(void * this, und...
.text:004083b0 ff7530 PUSH dword ptr [EBP + Stack[0x2c]+0x4]
.text:004083b3 8d450c LEA EAX=>Stack[0x8],[EBP + 0xc]
.text:004083b6 ff752c PUSH dword ptr [EBP + Stack[0x28]+0x4]
.text:004083b9 83ec20 SUB ESP,0x20
.text:004083bc 8bcc MOV ECX,ESP
.text:004083be 50 PUSH EAX
.text:004083bf e82e090000 CALL FUN_00408cf2 ;void * FUN_00408cf2(void * this, und...
.text:004083c4 8d45d4 LEA EAX=>local_30,[EBP + -0x2c]
.text:004083c7 50 PUSH EAX
.text:004083c8 e8c9fcffff CALL FUN_00408096 ;ulonglong FUN_00408096(__acrt_ptd * ...
.text:004083cd 83c42c ADD ESP,0x2c
.text:004083d0 8d4dd4 LEA ECX=>local_30,[EBP + -0x2c]
.text:004083d3 8bf8 MOV EDI,EAX
.text:004083d5 8bda MOV EBX,EDX
.text:004083d7 e854d2ffff CALL FUN_00405630 ;undefined FUN_00405630(__acrt_ptd * ...
.text:004083dc 8b7524 MOV ESI,dword ptr [EBP + Stack[0x20]+0x4]
.text:004083df 85f6 TEST ESI,ESI
.text:004083e1 740a JZ LAB_004083ed
.text:004083e3 8b4d1c MOV ECX,dword ptr [EBP + Stack[0x18]+0x4]
.text:004083e6 0b4d20 OR ECX,dword ptr [EBP + Stack[0x1c]+0x4]
.text:004083e9 7502 JNZ LAB_004083ed
.text:004083eb 880e MOV byte ptr [ESI],CL
LAB_004083ed: ;XREF[2,0]: 004083e1,004083e9
.text:004083ed 8bc7 MOV EAX,EDI
.text:004083ef 8bd3 MOV EDX,EBX
.text:004083f1 5f POP EDI
.text:004083f2 5e POP ESI
.text:004083f3 5b POP EBX
.text:004083f4 c9 LEAVE
.text:004083f5 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004083f6(void * param_1)
;param_1 void * ECX
;local_5 undefined1 -5 ;XREF[3,0]: 00408409,0040840f,00408437
;local_c undefined4 -c ;XREF[3,0]: 00408400,00408414,0040844c
;XREF[1,0]: 0040bcfa
.text:004083f6 8bff MOV EDI,EDI
.text:004083f8 55 PUSH EBP
.text:004083f9 8bec MOV EBP,ESP
.text:004083fb 83ec0c SUB ESP,0xc
.text:004083fe d9ee FLDZ
.text:00408400 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00408403 56 PUSH ESI
.text:00408404 57 PUSH EDI
.text:00408405 50 PUSH EAX
.text:00408406 83ec20 SUB ESP,0x20
.text:00408409 c645ff00 MOV byte ptr [EBP + local_5+0x4],0x0
.text:0040840d 8bf9 MOV EDI,param_1
.text:0040840f 8d45ff LEA EAX=>local_5,[EBP + -0x1]
.text:00408412 8bd4 MOV EDX,ESP
.text:00408414 d95df8 FSTP dword ptr [EBP + local_c+0x4]
.text:00408417 50 PUSH EAX
.text:00408418 ff772c PUSH dword ptr [EDI + 0x2c]
.text:0040841b 8b7760 MOV ESI,dword ptr [EDI + 0x60]
.text:0040841e 8d4708 LEA EAX,[EDI + 0x8]
.text:00408421 ff7728 PUSH dword ptr [EDI + 0x28]
.text:00408424 50 PUSH EAX
.text:00408425 52 PUSH EDX
.text:00408426 e8fbe6ffff CALL FUN_00406b26 ;void * FUN_00406b26(void * param_1, ...
.text:0040842b 83c414 ADD ESP,0x14
.text:0040842e 56 PUSH ESI
.text:0040842f e810e7ffff CALL FUN_00406b44 ;undefined FUN_00406b44(_locale_t par...
.text:00408434 83c428 ADD ESP,0x28
.text:00408437 807dff00 CMP byte ptr [EBP + local_5+0x4],0x0
.text:0040843b 741c JZ LAB_00408459
.text:0040843d 83f801 CMP EAX,0x1
.text:00408440 7417 JZ LAB_00408459
.text:00408442 807f2600 CMP byte ptr [EDI + 0x26],0x0
.text:00408446 7404 JZ LAB_0040844c
.text:00408448 b001 MOV AL,0x1
.text:0040844a eb0f JMP LAB_0040845b
LAB_0040844c: ;XREF[1,0]: 00408446
.text:0040844c 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0040844f 8bcf MOV param_1,EDI
.text:00408451 50 PUSH EAX
.text:00408452 e871070000 CALL FUN_00408bc8 ;uint FUN_00408bc8(void * this, undef...
.text:00408457 eb02 JMP LAB_0040845b
LAB_00408459: ;XREF[2,0]: 0040843b,00408440
.text:00408459 32c0 XOR AL,AL
LAB_0040845b: ;XREF[2,0]: 0040844a,00408457
.text:0040845b 5f POP EDI
.text:0040845c 5e POP ESI
.text:0040845d c9 LEAVE
.text:0040845e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040845f(void * param_1)
;param_1 void * ECX
;local_5 undefined1 -5 ;XREF[3,0]: 00408472,00408478,004084a0
;local_c undefined4 -c ;XREF[3,0]: 00408469,0040847d,004084b5
;XREF[1,0]: 0040bd2a
.text:0040845f 8bff MOV EDI,EDI
.text:00408461 55 PUSH EBP
.text:00408462 8bec MOV EBP,ESP
.text:00408464 83ec0c SUB ESP,0xc
.text:00408467 d9ee FLDZ
.text:00408469 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0040846c 56 PUSH ESI
.text:0040846d 57 PUSH EDI
.text:0040846e 50 PUSH EAX
.text:0040846f 83ec20 SUB ESP,0x20
.text:00408472 c645ff00 MOV byte ptr [EBP + local_5+0x4],0x0
.text:00408476 8bf9 MOV EDI,param_1
.text:00408478 8d45ff LEA EAX=>local_5,[EBP + -0x1]
.text:0040847b 8bd4 MOV EDX,ESP
.text:0040847d d95df8 FSTP dword ptr [EBP + local_c+0x4]
.text:00408480 50 PUSH EAX
.text:00408481 ff7734 PUSH dword ptr [EDI + 0x34]
.text:00408484 8b7768 MOV ESI,dword ptr [EDI + 0x68]
.text:00408487 8d4708 LEA EAX,[EDI + 0x8]
.text:0040848a ff7730 PUSH dword ptr [EDI + 0x30]
.text:0040848d 50 PUSH EAX
.text:0040848e 52 PUSH EDX
.text:0040848f e892e6ffff CALL FUN_00406b26 ;void * FUN_00406b26(void * param_1, ...
.text:00408494 83c414 ADD ESP,0x14
.text:00408497 56 PUSH ESI
.text:00408498 e8bbe7ffff CALL FUN_00406c58 ;undefined FUN_00406c58(_locale_t par...
.text:0040849d 83c428 ADD ESP,0x28
.text:004084a0 807dff00 CMP byte ptr [EBP + local_5+0x4],0x0
.text:004084a4 741c JZ LAB_004084c2
.text:004084a6 83f801 CMP EAX,0x1
.text:004084a9 7417 JZ LAB_004084c2
.text:004084ab 807f2e00 CMP byte ptr [EDI + 0x2e],0x0
.text:004084af 7404 JZ LAB_004084b5
.text:004084b1 b001 MOV AL,0x1
.text:004084b3 eb0f JMP LAB_004084c4
LAB_004084b5: ;XREF[1,0]: 004084af
.text:004084b5 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:004084b8 8bcf MOV param_1,EDI
.text:004084ba 50 PUSH EAX
.text:004084bb e83d070000 CALL FUN_00408bfd ;uint FUN_00408bfd(void * this, undef...
.text:004084c0 eb02 JMP LAB_004084c4
LAB_004084c2: ;XREF[2,0]: 004084a4,004084a9
.text:004084c2 32c0 XOR AL,AL
LAB_004084c4: ;XREF[2,0]: 004084b3,004084c0
.text:004084c4 5f POP EDI
.text:004084c5 5e POP ESI
.text:004084c6 c9 LEAVE
.text:004084c7 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004084c8(void * param_1)
;param_1 void * ECX
;local_5 undefined1 -5 ;XREF[3,0]: 004084db,004084e1,00408509
;local_14 undefined8 -14 ;XREF[3,0]: 004084d2,004084e6,0040851e
;XREF[1,0]: 0040bcf2
.text:004084c8 8bff MOV EDI,EDI
.text:004084ca 55 PUSH EBP
.text:004084cb 8bec MOV EBP,ESP
.text:004084cd 83ec10 SUB ESP,0x10
.text:004084d0 d9ee FLDZ
.text:004084d2 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:004084d5 56 PUSH ESI
.text:004084d6 57 PUSH EDI
.text:004084d7 50 PUSH EAX
.text:004084d8 83ec20 SUB ESP,0x20
.text:004084db c645ff00 MOV byte ptr [EBP + local_5+0x4],0x0
.text:004084df 8bf9 MOV EDI,param_1
.text:004084e1 8d45ff LEA EAX=>local_5,[EBP + -0x1]
.text:004084e4 8bd4 MOV EDX,ESP
.text:004084e6 dd5df0 FSTP qword ptr [EBP + local_14+0x4]
.text:004084e9 50 PUSH EAX
.text:004084ea ff772c PUSH dword ptr [EDI + 0x2c]
.text:004084ed 8b7760 MOV ESI,dword ptr [EDI + 0x60]
.text:004084f0 8d4708 LEA EAX,[EDI + 0x8]
.text:004084f3 ff7728 PUSH dword ptr [EDI + 0x28]
.text:004084f6 50 PUSH EAX
.text:004084f7 52 PUSH EDX
.text:004084f8 e829e6ffff CALL FUN_00406b26 ;void * FUN_00406b26(void * param_1, ...
.text:004084fd 83c414 ADD ESP,0x14
.text:00408500 56 PUSH ESI
.text:00408501 e8c8e6ffff CALL FUN_00406bce ;undefined FUN_00406bce(_locale_t par...
.text:00408506 83c428 ADD ESP,0x28
.text:00408509 807dff00 CMP byte ptr [EBP + local_5+0x4],0x0
.text:0040850d 741c JZ LAB_0040852b
.text:0040850f 83f801 CMP EAX,0x1
.text:00408512 7417 JZ LAB_0040852b
.text:00408514 807f2600 CMP byte ptr [EDI + 0x26],0x0
.text:00408518 7404 JZ LAB_0040851e
.text:0040851a b001 MOV AL,0x1
.text:0040851c eb0f JMP LAB_0040852d
LAB_0040851e: ;XREF[1,0]: 00408518
.text:0040851e 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:00408521 8bcf MOV param_1,EDI
.text:00408523 50 PUSH EAX
.text:00408524 e809070000 CALL FUN_00408c32 ;uint FUN_00408c32(void * this, undef...
.text:00408529 eb02 JMP LAB_0040852d
LAB_0040852b: ;XREF[2,0]: 0040850d,00408512
.text:0040852b 32c0 XOR AL,AL
LAB_0040852d: ;XREF[2,0]: 0040851c,00408529
.text:0040852d 5f POP EDI
.text:0040852e 5e POP ESI
.text:0040852f c9 LEAVE
.text:00408530 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00408531(void * param_1)
;param_1 void * ECX
;local_5 undefined1 -5 ;XREF[3,0]: 00408544,0040854a,00408572
;local_14 undefined8 -14 ;XREF[3,0]: 0040853b,0040854f,00408587
;XREF[1,0]: 0040bd22
.text:00408531 8bff MOV EDI,EDI
.text:00408533 55 PUSH EBP
.text:00408534 8bec MOV EBP,ESP
.text:00408536 83ec10 SUB ESP,0x10
.text:00408539 d9ee FLDZ
.text:0040853b 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:0040853e 56 PUSH ESI
.text:0040853f 57 PUSH EDI
.text:00408540 50 PUSH EAX
.text:00408541 83ec20 SUB ESP,0x20
.text:00408544 c645ff00 MOV byte ptr [EBP + local_5+0x4],0x0
.text:00408548 8bf9 MOV EDI,param_1
.text:0040854a 8d45ff LEA EAX=>local_5,[EBP + -0x1]
.text:0040854d 8bd4 MOV EDX,ESP
.text:0040854f dd5df0 FSTP qword ptr [EBP + local_14+0x4]
.text:00408552 50 PUSH EAX
.text:00408553 ff7734 PUSH dword ptr [EDI + 0x34]
.text:00408556 8b7768 MOV ESI,dword ptr [EDI + 0x68]
.text:00408559 8d4708 LEA EAX,[EDI + 0x8]
.text:0040855c ff7730 PUSH dword ptr [EDI + 0x30]
.text:0040855f 50 PUSH EAX
.text:00408560 52 PUSH EDX
.text:00408561 e8c0e5ffff CALL FUN_00406b26 ;void * FUN_00406b26(void * param_1, ...
.text:00408566 83c414 ADD ESP,0x14
.text:00408569 56 PUSH ESI
.text:0040856a e873e7ffff CALL FUN_00406ce2 ;undefined FUN_00406ce2(_locale_t par...
.text:0040856f 83c428 ADD ESP,0x28
.text:00408572 807dff00 CMP byte ptr [EBP + local_5+0x4],0x0
.text:00408576 741c JZ LAB_00408594
.text:00408578 83f801 CMP EAX,0x1
.text:0040857b 7417 JZ LAB_00408594
.text:0040857d 807f2e00 CMP byte ptr [EDI + 0x2e],0x0
.text:00408581 7404 JZ LAB_00408587
.text:00408583 b001 MOV AL,0x1
.text:00408585 eb0f JMP LAB_00408596
LAB_00408587: ;XREF[1,0]: 00408581
.text:00408587 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:0040858a 8bcf MOV param_1,EDI
.text:0040858c 50 PUSH EAX
.text:0040858d e8db060000 CALL FUN_00408c6d ;uint FUN_00408c6d(void * this, undef...
.text:00408592 eb02 JMP LAB_00408596
LAB_00408594: ;XREF[2,0]: 00408576,0040857b
.text:00408594 32c0 XOR AL,AL
LAB_00408596: ;XREF[2,0]: 00408585,00408592
.text:00408596 5f POP EDI
.text:00408597 5e POP ESI
.text:00408598 c9 LEAVE
.text:00408599 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040859a(void * this, int param_1)
;this void * ECX
;param_1 int 4 ;XREF[4,0]: 0040861d,00408673,004086d9,004086fd
;local_8 undefined4 -8 ;XREF[4,0]: 00408630,0040863d,00408687,0040869b
;local_c undefined4 -c ;XREF[3,0]: 0040864a,004086a1,004086c9
;local_10 undefined4 -10 ;XREF[3,0]: 0040864d,0040869e,004086cc
;local_14 undefined4 -14 ;XREF[4,0]: 00408624,00408644,00408652,004086df
;local_18 undefined4 -18 ;XREF[4,0]: 0040862a,00408647,00408657,004086e4
;local_1c undefined4 -1c ;XREF[4,0]: 0040862d,0040868e,00408698,00408703
;local_20 undefined4 -20 ;XREF[3,0]: 00408667,00408691,004086bd
;XREF[1,0]: 0040bfcc
.text:0040859a 8bff MOV EDI,EDI
.text:0040859c 55 PUSH EBP
.text:0040859d 8bec MOV EBP,ESP
.text:0040859f 83ec1c SUB ESP,0x1c
.text:004085a2 53 PUSH EBX
.text:004085a3 56 PUSH ESI
.text:004085a4 8bf1 MOV ESI,this
.text:004085a6 33db XOR EBX,EBX
.text:004085a8 57 PUSH EDI
.text:004085a9 385e26 CMP byte ptr [ESI + 0x26],BL
.text:004085ac 756c JNZ LAB_0040861a
.text:004085ae 8b4664 MOV EAX,dword ptr [ESI + 0x64]
.text:004085b1 8d7804 LEA EDI,[EAX + 0x4]
.text:004085b4 897e64 MOV dword ptr [ESI + 0x64],EDI
.text:004085b7 8b18 MOV EBX,dword ptr [EAX]
.text:004085b9 8bcb MOV this,EBX
.text:004085bb 85db TEST EBX,EBX
.text:004085bd 7519 JNZ LAB_004085d8
.text:004085bf e8405d0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004085c4 c70016000000 MOV dword ptr [EAX],0x16
.text:004085ca e8545c0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_004085cf: ;XREF[3,0]: 00408618,004086d3,004086f1
.text:004085cf 32c0 XOR AL,AL
LAB_004085d1: ;XREF[1,0]: 0040870b
.text:004085d1 5f POP EDI
.text:004085d2 5e POP ESI
.text:004085d3 5b POP EBX
.text:004085d4 c9 LEAVE
.text:004085d5 c20800 RET 0x8
LAB_004085d8: ;XREF[1,0]: 004085bd
.text:004085d8 8b06 MOV EAX,dword ptr [ESI]
.text:004085da 83e001 AND EAX,0x1
.text:004085dd 83c800 OR EAX,0x0
.text:004085e0 7438 JZ LAB_0040861a
.text:004085e2 8d4704 LEA EAX,[EDI + 0x4]
.text:004085e5 894664 MOV dword ptr [ESI + 0x64],EAX
.text:004085e8 8b3f MOV EDI,dword ptr [EDI]
.text:004085ea 85ff TEST EDI,EDI
.text:004085ec 752f JNZ LAB_0040861d
.text:004085ee 8b06 MOV EAX,dword ptr [ESI]
.text:004085f0 83e004 AND EAX,0x4
.text:004085f3 0bc7 OR EAX,EDI
.text:004085f5 7416 JZ LAB_0040860d
.text:004085f7 ff7608 PUSH dword ptr [ESI + 0x8]
.text:004085fa e80d450000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:004085ff 59 POP this
.text:00408600 83f8ff CMP EAX,-0x1
.text:00408603 7403 JZ LAB_00408608
.text:00408605 ff460c INC dword ptr [ESI + 0xc]
LAB_00408608: ;XREF[1,0]: 00408603
.text:00408608 8bc3 MOV EAX,EBX
.text:0040860a c60000 MOV byte ptr [EAX],0x0
LAB_0040860d: ;XREF[3,0]: 004085f5,004086af,004086b8
.text:0040860d e8f25c0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00408612 c7000c000000 MOV dword ptr [EAX],0xc
.text:00408618 ebb5 JMP LAB_004085cf
LAB_0040861a: ;XREF[2,0]: 004085ac,004085e0
.text:0040861a 83cfff OR EDI,0xffffffff
LAB_0040861d: ;XREF[1,0]: 004085ec
.text:0040861d 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:00408621 8b4628 MOV EAX,dword ptr [ESI + 0x28]
.text:00408624 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00408627 8b462c MOV EAX,dword ptr [ESI + 0x2c]
.text:0040862a 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0040862d 895de8 MOV dword ptr [EBP + local_1c+0x4],EBX
.text:00408630 897dfc MOV dword ptr [EBP + local_8+0x4],EDI
.text:00408633 740b JZ LAB_00408640
.text:00408635 83ffff CMP EDI,-0x1
.text:00408638 7406 JZ LAB_00408640
.text:0040863a 8d47ff LEA EAX,[EDI + -0x1]
.text:0040863d 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
LAB_00408640: ;XREF[2,0]: 00408633,00408638
.text:00408640 33d2 XOR EDX,EDX
.text:00408642 33c9 XOR this,this
LAB_00408644: ;XREF[1,0]: 004086aa
.text:00408644 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00408647 0b45ec OR EAX,dword ptr [EBP + local_18+0x4]
.text:0040864a 894df8 MOV dword ptr [EBP + local_c+0x4],this
.text:0040864d 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:00408650 740a JZ LAB_0040865c
.text:00408652 3b55f0 CMP EDX,dword ptr [EBP + local_14+0x4]
.text:00408655 7505 JNZ LAB_0040865c
.text:00408657 3b4dec CMP this,dword ptr [EBP + local_18+0x4]
.text:0040865a 7473 JZ LAB_004086cf
LAB_0040865c: ;XREF[2,0]: 00408650,00408655
.text:0040865c ff7608 PUSH dword ptr [ESI + 0x8]
.text:0040865f e8a8440000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:00408664 59 POP this
.text:00408665 8bc8 MOV this,EAX
.text:00408667 894de4 MOV dword ptr [EBP + local_20+0x4],this
.text:0040866a 83f9ff CMP this,-0x1
.text:0040866d 7403 JZ LAB_00408672
.text:0040866f ff460c INC dword ptr [ESI + 0xc]
LAB_00408672: ;XREF[1,0]: 0040866d
.text:00408672 51 PUSH this
.text:00408673 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00408676 8bce MOV this,ESI
.text:00408678 e82a330000 CALL FUN_0040b9a7 ;undefined4 FUN_0040b9a7(void * this,...
.text:0040867d 84c0 TEST AL,AL
.text:0040867f 743c JZ LAB_004086bd
.text:00408681 807e2600 CMP byte ptr [ESI + 0x26],0x0
.text:00408685 7517 JNZ LAB_0040869e
.text:00408687 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
.text:0040868a 85c9 TEST this,this
.text:0040868c 741e JZ LAB_004086ac
.text:0040868e 8b55e8 MOV EDX,dword ptr [EBP + local_1c+0x4]
.text:00408691 8b45e4 MOV EAX,dword ptr [EBP + local_20+0x4]
.text:00408694 8802 MOV byte ptr [EDX],AL
.text:00408696 42 INC EDX
.text:00408697 49 DEC this
.text:00408698 8955e8 MOV dword ptr [EBP + local_1c+0x4],EDX
.text:0040869b 894dfc MOV dword ptr [EBP + local_8+0x4],this
LAB_0040869e: ;XREF[1,0]: 00408685
.text:0040869e 8b55f4 MOV EDX,dword ptr [EBP + local_10+0x4]
.text:004086a1 8b4df8 MOV this,dword ptr [EBP + local_c+0x4]
.text:004086a4 83c201 ADD EDX,0x1
.text:004086a7 83d100 ADC this,0x0
.text:004086aa eb98 JMP LAB_00408644
LAB_004086ac: ;XREF[1,0]: 0040868c
.text:004086ac 83ffff CMP EDI,-0x1
.text:004086af 0f8458ffffff JZ LAB_0040860d
.text:004086b5 c60300 MOV byte ptr [EBX],0x0
.text:004086b8 e950ffffff JMP LAB_0040860d
LAB_004086bd: ;XREF[1,0]: 0040867f
.text:004086bd 8b45e4 MOV EAX,dword ptr [EBP + local_20+0x4]
.text:004086c0 8d4e08 LEA this,[ESI + 0x8]
.text:004086c3 50 PUSH EAX
.text:004086c4 e8dd3f0000 CALL __crt_stdio_input::stream_input_adapt...;void unget(stream_input_adapter.text:004086c9 8b4df8 MOV this,dword ptr [EBP + local_c+0x4]
.text:004086cc 8b55f4 MOV EDX,dword ptr [EBP + local_10+0x4]
LAB_004086cf: ;XREF[1,0]: 0040865a
.text:004086cf 8bc2 MOV EAX,EDX
.text:004086d1 0bc1 OR EAX,this
.text:004086d3 0f84f6feffff JZ LAB_004085cf
.text:004086d9 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:004086dd 7518 JNZ LAB_004086f7
.text:004086df 3b55f0 CMP EDX,dword ptr [EBP + local_14+0x4]
.text:004086e2 7505 JNZ LAB_004086e9
.text:004086e4 3b4dec CMP this,dword ptr [EBP + local_18+0x4]
.text:004086e7 740e JZ LAB_004086f7
LAB_004086e9: ;XREF[1,0]: 004086e2
.text:004086e9 8b06 MOV EAX,dword ptr [ESI]
.text:004086eb 83e004 AND EAX,0x4
.text:004086ee 83c800 OR EAX,0x0
.text:004086f1 0f84d8feffff JZ LAB_004085cf
LAB_004086f7: ;XREF[2,0]: 004086dd,004086e7
.text:004086f7 807e2600 CMP byte ptr [ESI + 0x26],0x0
.text:004086fb 750c JNZ LAB_00408709
.text:004086fd 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:00408701 7406 JZ LAB_00408709
.text:00408703 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
.text:00408706 c60000 MOV byte ptr [EAX],0x0
LAB_00408709: ;XREF[2,0]: 004086fb,00408701
.text:00408709 b001 MOV AL,0x1
.text:0040870b e9c1feffff JMP LAB_004085d1
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00408710(void * this, int param_1)
;this void * ECX
;param_1 int 4 ;XREF[4,0]: 0040878a,004087d2,0040883b,0040885f
;local_8 undefined4 -8 ;XREF[4,0]: 0040879d,004087aa,004087e9,004087fd
;local_c undefined4 -c ;XREF[3,0]: 004087b7,00408803,0040882b
;local_10 undefined4 -10 ;XREF[3,0]: 004087ba,00408800,0040882e
;local_14 undefined4 -14 ;XREF[4,0]: 00408791,004087b1,004087bf,00408841
;local_18 undefined4 -18 ;XREF[4,0]: 00408797,004087b4,004087c4,00408846
;local_1c undefined4 -1c ;XREF[4,0]: 0040879a,004087f0,004087fa,00408865
;local_20 undefined4 -20 ;XREF[3,0]: 004087d7,004087f3,0040881f
;XREF[1,0]: 0040c014
.text:00408710 8bff MOV EDI,EDI
.text:00408712 55 PUSH EBP
.text:00408713 8bec MOV EBP,ESP
.text:00408715 83ec1c SUB ESP,0x1c
.text:00408718 53 PUSH EBX
.text:00408719 56 PUSH ESI
.text:0040871a 8bf1 MOV ESI,this
.text:0040871c 33db XOR EBX,EBX
.text:0040871e 57 PUSH EDI
.text:0040871f 385e2e CMP byte ptr [ESI + 0x2e],BL
.text:00408722 7563 JNZ LAB_00408787
.text:00408724 8b466c MOV EAX,dword ptr [ESI + 0x6c]
.text:00408727 8d7804 LEA EDI,[EAX + 0x4]
.text:0040872a 897e6c MOV dword ptr [ESI + 0x6c],EDI
.text:0040872d 8b18 MOV EBX,dword ptr [EAX]
.text:0040872f 8bcb MOV this,EBX
.text:00408731 85db TEST EBX,EBX
.text:00408733 7519 JNZ LAB_0040874e
.text:00408735 e8ca5b0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040873a c70016000000 MOV dword ptr [EAX],0x16
.text:00408740 e8de5a0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_00408745: ;XREF[3,0]: 00408785,00408835,00408853
.text:00408745 32c0 XOR AL,AL
LAB_00408747: ;XREF[1,0]: 0040886d
.text:00408747 5f POP EDI
.text:00408748 5e POP ESI
.text:00408749 5b POP EBX
.text:0040874a c9 LEAVE
.text:0040874b c20800 RET 0x8
LAB_0040874e: ;XREF[1,0]: 00408733
.text:0040874e 8b06 MOV EAX,dword ptr [ESI]
.text:00408750 83e001 AND EAX,0x1
.text:00408753 83c800 OR EAX,0x0
.text:00408756 742f JZ LAB_00408787
.text:00408758 8d4704 LEA EAX,[EDI + 0x4]
.text:0040875b 89466c MOV dword ptr [ESI + 0x6c],EAX
.text:0040875e 8b3f MOV EDI,dword ptr [EDI]
.text:00408760 85ff TEST EDI,EDI
.text:00408762 7526 JNZ LAB_0040878a
.text:00408764 8b06 MOV EAX,dword ptr [ESI]
.text:00408766 83e004 AND EAX,0x4
.text:00408769 0bc7 OR EAX,EDI
.text:0040876b 740d JZ LAB_0040877a
.text:0040876d 8d4e08 LEA this,[ESI + 0x8]
.text:00408770 e81c320000 CALL __crt_stdio_input::string_input_adapt...;int get(string_input_adapter *...
.text:00408775 8bc3 MOV EAX,EBX
.text:00408777 c60000 MOV byte ptr [EAX],0x0
LAB_0040877a: ;XREF[3,0]: 0040876b,00408811,0040881a
.text:0040877a e8855b0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040877f c7000c000000 MOV dword ptr [EAX],0xc
.text:00408785 ebbe JMP LAB_00408745
LAB_00408787: ;XREF[2,0]: 00408722,00408756
.text:00408787 83cfff OR EDI,0xffffffff
LAB_0040878a: ;XREF[1,0]: 00408762
.text:0040878a 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:0040878e 8b4630 MOV EAX,dword ptr [ESI + 0x30]
.text:00408791 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00408794 8b4634 MOV EAX,dword ptr [ESI + 0x34]
.text:00408797 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0040879a 895de8 MOV dword ptr [EBP + local_1c+0x4],EBX
.text:0040879d 897dfc MOV dword ptr [EBP + local_8+0x4],EDI
.text:004087a0 740b JZ LAB_004087ad
.text:004087a2 83ffff CMP EDI,-0x1
.text:004087a5 7406 JZ LAB_004087ad
.text:004087a7 8d47ff LEA EAX,[EDI + -0x1]
.text:004087aa 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
LAB_004087ad: ;XREF[2,0]: 004087a0,004087a5
.text:004087ad 33d2 XOR EDX,EDX
.text:004087af 33c9 XOR this,this
LAB_004087b1: ;XREF[1,0]: 0040880c
.text:004087b1 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:004087b4 0b45ec OR EAX,dword ptr [EBP + local_18+0x4]
.text:004087b7 894df8 MOV dword ptr [EBP + local_c+0x4],this
.text:004087ba 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:004087bd 740a JZ LAB_004087c9
.text:004087bf 3b55f0 CMP EDX,dword ptr [EBP + local_14+0x4]
.text:004087c2 7505 JNZ LAB_004087c9
.text:004087c4 3b4dec CMP this,dword ptr [EBP + local_18+0x4]
.text:004087c7 7468 JZ LAB_00408831
LAB_004087c9: ;XREF[2,0]: 004087bd,004087c2
.text:004087c9 8d4e08 LEA this,[ESI + 0x8]
.text:004087cc e8c0310000 CALL __crt_stdio_input::string_input_adapt...;int get(string_input_adapter *...
.text:004087d1 50 PUSH EAX
.text:004087d2 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004087d5 8bce MOV this,ESI
.text:004087d7 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:004087da e818320000 CALL FUN_0040b9f7 ;undefined4 FUN_0040b9f7(void * this,...
.text:004087df 84c0 TEST AL,AL
.text:004087e1 743c JZ LAB_0040881f
.text:004087e3 807e2e00 CMP byte ptr [ESI + 0x2e],0x0
.text:004087e7 7517 JNZ LAB_00408800
.text:004087e9 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:004087ec 85c0 TEST EAX,EAX
.text:004087ee 741e JZ LAB_0040880e
.text:004087f0 8b4de8 MOV this,dword ptr [EBP + local_1c+0x4]
.text:004087f3 8b55e4 MOV EDX,dword ptr [EBP + local_20+0x4]
.text:004087f6 8811 MOV byte ptr [this],DL
.text:004087f8 41 INC this
.text:004087f9 48 DEC EAX
.text:004087fa 894de8 MOV dword ptr [EBP + local_1c+0x4],this
.text:004087fd 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
LAB_00408800: ;XREF[1,0]: 004087e7
.text:00408800 8b55f4 MOV EDX,dword ptr [EBP + local_10+0x4]
.text:00408803 8b4df8 MOV this,dword ptr [EBP + local_c+0x4]
.text:00408806 83c201 ADD EDX,0x1
.text:00408809 83d100 ADC this,0x0
.text:0040880c eba3 JMP LAB_004087b1
LAB_0040880e: ;XREF[1,0]: 004087ee
.text:0040880e 83ffff CMP EDI,-0x1
.text:00408811 0f8463ffffff JZ LAB_0040877a
.text:00408817 c60300 MOV byte ptr [EBX],0x0
.text:0040881a e95bffffff JMP LAB_0040877a
LAB_0040881f: ;XREF[1,0]: 004087e1
.text:0040881f 8b55e4 MOV EDX,dword ptr [EBP + local_20+0x4]
.text:00408822 8d4e08 LEA this,[ESI + 0x8]
.text:00408825 52 PUSH EDX
.text:00408826 e8993e0000 CALL __crt_stdio_input::string_input_adapt...;void unget(string_input_adapter.text:0040882b 8b4df8 MOV this,dword ptr [EBP + local_c+0x4]
.text:0040882e 8b55f4 MOV EDX,dword ptr [EBP + local_10+0x4]
LAB_00408831: ;XREF[1,0]: 004087c7
.text:00408831 8bc2 MOV EAX,EDX
.text:00408833 0bc1 OR EAX,this
.text:00408835 0f840affffff JZ LAB_00408745
.text:0040883b 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:0040883f 7518 JNZ LAB_00408859
.text:00408841 3b55f0 CMP EDX,dword ptr [EBP + local_14+0x4]
.text:00408844 7505 JNZ LAB_0040884b
.text:00408846 3b4dec CMP this,dword ptr [EBP + local_18+0x4]
.text:00408849 740e JZ LAB_00408859
LAB_0040884b: ;XREF[1,0]: 00408844
.text:0040884b 8b06 MOV EAX,dword ptr [ESI]
.text:0040884d 83e004 AND EAX,0x4
.text:00408850 83c800 OR EAX,0x0
.text:00408853 0f84ecfeffff JZ LAB_00408745
LAB_00408859: ;XREF[2,0]: 0040883f,00408849
.text:00408859 807e2e00 CMP byte ptr [ESI + 0x2e],0x0
.text:0040885d 750c JNZ LAB_0040886b
.text:0040885f 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:00408863 7406 JZ LAB_0040886b
.text:00408865 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
.text:00408868 c60000 MOV byte ptr [EAX],0x0
LAB_0040886b: ;XREF[2,0]: 0040885d,00408863
.text:0040886b b001 MOV AL,0x1
.text:0040886d e9d5feffff JMP LAB_00408747
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00408872(void * this, int param_1)
;this void * ECX
;param_1 int 4 ;XREF[4,0]: 004088f7,0040894d,004089bb,004089df
;local_8 undefined4 -8 ;XREF[3,0]: 00408924,00408982,004089ae
;local_c undefined4 -c ;XREF[3,0]: 00408927,0040897f,004089ab
;local_10 undefined4 -10 ;XREF[4,0]: 0040890a,00408917,00408961,0040896a
;local_14 undefined4 -14 ;XREF[4,0]: 004088fe,0040891e,0040892c,004089c1
;local_18 undefined4 -18 ;XREF[4,0]: 00408904,00408921,00408931,004089c6
;local_1c undefined4 -1c ;XREF[3,0]: 00408941,00408967,004089a0
;local_20 undefined4 -20 ;XREF[3,0]: 00408907,00408970,004089e5
;XREF[1,0]: 0040bfbe
.text:00408872 8bff MOV EDI,EDI
.text:00408874 55 PUSH EBP
.text:00408875 8bec MOV EBP,ESP
.text:00408877 83ec1c SUB ESP,0x1c
.text:0040887a 53 PUSH EBX
.text:0040887b 56 PUSH ESI
.text:0040887c 8bf1 MOV ESI,this
.text:0040887e 33db XOR EBX,EBX
.text:00408880 57 PUSH EDI
.text:00408881 385e26 CMP byte ptr [ESI + 0x26],BL
.text:00408884 756e JNZ LAB_004088f4
.text:00408886 8b4664 MOV EAX,dword ptr [ESI + 0x64]
.text:00408889 8d7804 LEA EDI,[EAX + 0x4]
.text:0040888c 897e64 MOV dword ptr [ESI + 0x64],EDI
.text:0040888f 8b18 MOV EBX,dword ptr [EAX]
.text:00408891 8bcb MOV this,EBX
.text:00408893 85db TEST EBX,EBX
.text:00408895 7519 JNZ LAB_004088b0
.text:00408897 e8685a0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040889c c70016000000 MOV dword ptr [EAX],0x16
.text:004088a2 e87c590000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_004088a7: ;XREF[3,0]: 004088f2,004089b5,004089d3
.text:004088a7 32c0 XOR AL,AL
LAB_004088a9: ;XREF[1,0]: 004089ef
.text:004088a9 5f POP EDI
.text:004088aa 5e POP ESI
.text:004088ab 5b POP EBX
.text:004088ac c9 LEAVE
.text:004088ad c20800 RET 0x8
LAB_004088b0: ;XREF[1,0]: 00408895
.text:004088b0 8b06 MOV EAX,dword ptr [ESI]
.text:004088b2 83e001 AND EAX,0x1
.text:004088b5 83c800 OR EAX,0x0
.text:004088b8 743a JZ LAB_004088f4
.text:004088ba 8d4704 LEA EAX,[EDI + 0x4]
.text:004088bd 894664 MOV dword ptr [ESI + 0x64],EAX
.text:004088c0 8b3f MOV EDI,dword ptr [EDI]
.text:004088c2 85ff TEST EDI,EDI
.text:004088c4 7531 JNZ LAB_004088f7
.text:004088c6 8b06 MOV EAX,dword ptr [ESI]
.text:004088c8 83e004 AND EAX,0x4
.text:004088cb 0bc7 OR EAX,EDI
.text:004088cd 7418 JZ LAB_004088e7
.text:004088cf ff7608 PUSH dword ptr [ESI + 0x8]
.text:004088d2 e835420000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:004088d7 59 POP this
.text:004088d8 83f8ff CMP EAX,-0x1
.text:004088db 7403 JZ LAB_004088e0
.text:004088dd ff460c INC dword ptr [ESI + 0xc]
LAB_004088e0: ;XREF[1,0]: 004088db
.text:004088e0 8bc3 MOV EAX,EBX
.text:004088e2 33c9 XOR this,this
.text:004088e4 668908 MOV word ptr [EAX],this
LAB_004088e7: ;XREF[3,0]: 004088cd,00408990,0040899b
.text:004088e7 e8185a0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004088ec c7000c000000 MOV dword ptr [EAX],0xc
.text:004088f2 ebb3 JMP LAB_004088a7
LAB_004088f4: ;XREF[2,0]: 00408884,004088b8
.text:004088f4 83cfff OR EDI,0xffffffff
LAB_004088f7: ;XREF[1,0]: 004088c4
.text:004088f7 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:004088fb 8b4628 MOV EAX,dword ptr [ESI + 0x28]
.text:004088fe 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00408901 8b462c MOV EAX,dword ptr [ESI + 0x2c]
.text:00408904 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00408907 895de4 MOV dword ptr [EBP + local_20+0x4],EBX
.text:0040890a 897df4 MOV dword ptr [EBP + local_10+0x4],EDI
.text:0040890d 740b JZ LAB_0040891a
.text:0040890f 83ffff CMP EDI,-0x1
.text:00408912 7406 JZ LAB_0040891a
.text:00408914 8d47ff LEA EAX,[EDI + -0x1]
.text:00408917 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
LAB_0040891a: ;XREF[2,0]: 0040890d,00408912
.text:0040891a 33d2 XOR EDX,EDX
.text:0040891c 33c9 XOR this,this
LAB_0040891e: ;XREF[1,0]: 0040898b
.text:0040891e 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00408921 0b45ec OR EAX,dword ptr [EBP + local_18+0x4]
.text:00408924 894dfc MOV dword ptr [EBP + local_8+0x4],this
.text:00408927 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
.text:0040892a 740a JZ LAB_00408936
.text:0040892c 3b55f0 CMP EDX,dword ptr [EBP + local_14+0x4]
.text:0040892f 7505 JNZ LAB_00408936
.text:00408931 3b4dec CMP this,dword ptr [EBP + local_18+0x4]
.text:00408934 747b JZ LAB_004089b1
LAB_00408936: ;XREF[2,0]: 0040892a,0040892f
.text:00408936 ff7608 PUSH dword ptr [ESI + 0x8]
.text:00408939 e8ce410000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:0040893e 59 POP this
.text:0040893f 8bc8 MOV this,EAX
.text:00408941 894de8 MOV dword ptr [EBP + local_1c+0x4],this
.text:00408944 83f9ff CMP this,-0x1
.text:00408947 7403 JZ LAB_0040894c
.text:00408949 ff460c INC dword ptr [ESI + 0xc]
LAB_0040894c: ;XREF[1,0]: 00408947
.text:0040894c 51 PUSH this
.text:0040894d ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00408950 8bce MOV this,ESI
.text:00408952 e850300000 CALL FUN_0040b9a7 ;undefined4 FUN_0040b9a7(void * this,...
.text:00408957 84c0 TEST AL,AL
.text:00408959 7445 JZ LAB_004089a0
.text:0040895b 807e2600 CMP byte ptr [ESI + 0x26],0x0
.text:0040895f 751e JNZ LAB_0040897f
.text:00408961 837df400 CMP dword ptr [EBP + local_10+0x4],0x0
.text:00408965 7426 JZ LAB_0040898d
.text:00408967 ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:0040896a 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040896d 8bce MOV this,ESI
.text:0040896f 50 PUSH EAX
.text:00408970 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
.text:00408973 50 PUSH EAX
.text:00408974 57 PUSH EDI
.text:00408975 53 PUSH EBX
.text:00408976 e8e83d0000 CALL __crt_stdio_input::input_processor;bool write_character(input_processor...
.text:0040897b 84c0 TEST AL,AL
.text:0040897d 742c JZ LAB_004089ab
LAB_0040897f: ;XREF[1,0]: 0040895f
.text:0040897f 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:00408982 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
.text:00408985 83c201 ADD EDX,0x1
.text:00408988 83d100 ADC this,0x0
.text:0040898b eb91 JMP LAB_0040891e
LAB_0040898d: ;XREF[1,0]: 00408965
.text:0040898d 83ffff CMP EDI,-0x1
.text:00408990 0f8451ffffff JZ LAB_004088e7
.text:00408996 33c0 XOR EAX,EAX
.text:00408998 668903 MOV word ptr [EBX],AX
.text:0040899b e947ffffff JMP LAB_004088e7
LAB_004089a0: ;XREF[1,0]: 00408959
.text:004089a0 ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:004089a3 8d4e08 LEA this,[ESI + 0x8]
.text:004089a6 e8fb3c0000 CALL __crt_stdio_input::stream_input_adapt...;void unget(stream_input_adapter LAB_004089ab: ;XREF[1,0]: 0040897d
.text:004089ab 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:004089ae 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
LAB_004089b1: ;XREF[1,0]: 00408934
.text:004089b1 8bc2 MOV EAX,EDX
.text:004089b3 0bc1 OR EAX,this
.text:004089b5 0f84ecfeffff JZ LAB_004088a7
.text:004089bb 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:004089bf 7518 JNZ LAB_004089d9
.text:004089c1 3b55f0 CMP EDX,dword ptr [EBP + local_14+0x4]
.text:004089c4 7505 JNZ LAB_004089cb
.text:004089c6 3b4dec CMP this,dword ptr [EBP + local_18+0x4]
.text:004089c9 740e JZ LAB_004089d9
LAB_004089cb: ;XREF[1,0]: 004089c4
.text:004089cb 8b06 MOV EAX,dword ptr [ESI]
.text:004089cd 83e004 AND EAX,0x4
.text:004089d0 83c800 OR EAX,0x0
.text:004089d3 0f84cefeffff JZ LAB_004088a7
LAB_004089d9: ;XREF[2,0]: 004089bf,004089c9
.text:004089d9 807e2600 CMP byte ptr [ESI + 0x26],0x0
.text:004089dd 750e JNZ LAB_004089ed
.text:004089df 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:004089e3 7408 JZ LAB_004089ed
.text:004089e5 8b4de4 MOV this,dword ptr [EBP + local_20+0x4]
.text:004089e8 33d2 XOR EDX,EDX
.text:004089ea 668911 MOV word ptr [this],DX
LAB_004089ed: ;XREF[2,0]: 004089dd,004089e3
.text:004089ed b001 MOV AL,0x1
.text:004089ef e9b5feffff JMP LAB_004088a9
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004089f4(void * this, int param_1)
;this void * ECX
;param_1 int 4 ;XREF[4,0]: 00408a70,00408ab8,00408b29,00408b4d
;local_8 undefined4 -8 ;XREF[3,0]: 00408a9d,00408af0,00408b1c
;local_c undefined4 -c ;XREF[3,0]: 00408aa0,00408aed,00408b19
;local_10 undefined4 -10 ;XREF[4,0]: 00408a83,00408a90,00408acf,00408ad8
;local_14 undefined4 -14 ;XREF[4,0]: 00408a77,00408a97,00408aa5,00408b2f
;local_18 undefined4 -18 ;XREF[4,0]: 00408a7d,00408a9a,00408aaa,00408b34
;local_1c undefined4 -1c ;XREF[3,0]: 00408abd,00408ad5,00408b0e
;local_20 undefined4 -20 ;XREF[3,0]: 00408a80,00408ade,00408b53
;XREF[1,0]: 0040c006
.text:004089f4 8bff MOV EDI,EDI
.text:004089f6 55 PUSH EBP
.text:004089f7 8bec MOV EBP,ESP
.text:004089f9 83ec1c SUB ESP,0x1c
.text:004089fc 53 PUSH EBX
.text:004089fd 56 PUSH ESI
.text:004089fe 8bf1 MOV ESI,this
.text:00408a00 33db XOR EBX,EBX
.text:00408a02 57 PUSH EDI
.text:00408a03 385e2e CMP byte ptr [ESI + 0x2e],BL
.text:00408a06 7565 JNZ LAB_00408a6d
.text:00408a08 8b466c MOV EAX,dword ptr [ESI + 0x6c]
.text:00408a0b 8d7804 LEA EDI,[EAX + 0x4]
.text:00408a0e 897e6c MOV dword ptr [ESI + 0x6c],EDI
.text:00408a11 8b18 MOV EBX,dword ptr [EAX]
.text:00408a13 8bcb MOV this,EBX
.text:00408a15 85db TEST EBX,EBX
.text:00408a17 7519 JNZ LAB_00408a32
.text:00408a19 e8e6580000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00408a1e c70016000000 MOV dword ptr [EAX],0x16
.text:00408a24 e8fa570000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_00408a29: ;XREF[3,0]: 00408a6b,00408b23,00408b41
.text:00408a29 32c0 XOR AL,AL
LAB_00408a2b: ;XREF[1,0]: 00408b5d
.text:00408a2b 5f POP EDI
.text:00408a2c 5e POP ESI
.text:00408a2d 5b POP EBX
.text:00408a2e c9 LEAVE
.text:00408a2f c20800 RET 0x8
LAB_00408a32: ;XREF[1,0]: 00408a17
.text:00408a32 8b06 MOV EAX,dword ptr [ESI]
.text:00408a34 83e001 AND EAX,0x1
.text:00408a37 83c800 OR EAX,0x0
.text:00408a3a 7431 JZ LAB_00408a6d
.text:00408a3c 8d4704 LEA EAX,[EDI + 0x4]
.text:00408a3f 89466c MOV dword ptr [ESI + 0x6c],EAX
.text:00408a42 8b3f MOV EDI,dword ptr [EDI]
.text:00408a44 85ff TEST EDI,EDI
.text:00408a46 7528 JNZ LAB_00408a70
.text:00408a48 8b06 MOV EAX,dword ptr [ESI]
.text:00408a4a 83e004 AND EAX,0x4
.text:00408a4d 0bc7 OR EAX,EDI
.text:00408a4f 740f JZ LAB_00408a60
.text:00408a51 8d4e08 LEA this,[ESI + 0x8]
.text:00408a54 e8382f0000 CALL __crt_stdio_input::string_input_adapt...;int get(string_input_adapter *...
.text:00408a59 8bc3 MOV EAX,EBX
.text:00408a5b 33c9 XOR this,this
.text:00408a5d 668908 MOV word ptr [EAX],this
LAB_00408a60: ;XREF[3,0]: 00408a4f,00408afe,00408b09
.text:00408a60 e89f580000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00408a65 c7000c000000 MOV dword ptr [EAX],0xc
.text:00408a6b ebbc JMP LAB_00408a29
LAB_00408a6d: ;XREF[2,0]: 00408a06,00408a3a
.text:00408a6d 83cfff OR EDI,0xffffffff
LAB_00408a70: ;XREF[1,0]: 00408a46
.text:00408a70 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:00408a74 8b4630 MOV EAX,dword ptr [ESI + 0x30]
.text:00408a77 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00408a7a 8b4634 MOV EAX,dword ptr [ESI + 0x34]
.text:00408a7d 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00408a80 895de4 MOV dword ptr [EBP + local_20+0x4],EBX
.text:00408a83 897df4 MOV dword ptr [EBP + local_10+0x4],EDI
.text:00408a86 740b JZ LAB_00408a93
.text:00408a88 83ffff CMP EDI,-0x1
.text:00408a8b 7406 JZ LAB_00408a93
.text:00408a8d 8d47ff LEA EAX,[EDI + -0x1]
.text:00408a90 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
LAB_00408a93: ;XREF[2,0]: 00408a86,00408a8b
.text:00408a93 33d2 XOR EDX,EDX
.text:00408a95 33c9 XOR this,this
LAB_00408a97: ;XREF[1,0]: 00408af9
.text:00408a97 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00408a9a 0b45ec OR EAX,dword ptr [EBP + local_18+0x4]
.text:00408a9d 894dfc MOV dword ptr [EBP + local_8+0x4],this
.text:00408aa0 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
.text:00408aa3 740a JZ LAB_00408aaf
.text:00408aa5 3b55f0 CMP EDX,dword ptr [EBP + local_14+0x4]
.text:00408aa8 7505 JNZ LAB_00408aaf
.text:00408aaa 3b4dec CMP this,dword ptr [EBP + local_18+0x4]
.text:00408aad 7470 JZ LAB_00408b1f
LAB_00408aaf: ;XREF[2,0]: 00408aa3,00408aa8
.text:00408aaf 8d4e08 LEA this,[ESI + 0x8]
.text:00408ab2 e8da2e0000 CALL __crt_stdio_input::string_input_adapt...;int get(string_input_adapter *...
.text:00408ab7 50 PUSH EAX
.text:00408ab8 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00408abb 8bce MOV this,ESI
.text:00408abd 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:00408ac0 e8322f0000 CALL FUN_0040b9f7 ;undefined4 FUN_0040b9f7(void * this,...
.text:00408ac5 84c0 TEST AL,AL
.text:00408ac7 7445 JZ LAB_00408b0e
.text:00408ac9 807e2e00 CMP byte ptr [ESI + 0x2e],0x0
.text:00408acd 751e JNZ LAB_00408aed
.text:00408acf 837df400 CMP dword ptr [EBP + local_10+0x4],0x0
.text:00408ad3 7426 JZ LAB_00408afb
.text:00408ad5 ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:00408ad8 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00408adb 8bce MOV this,ESI
.text:00408add 50 PUSH EAX
.text:00408ade 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
.text:00408ae1 50 PUSH EAX
.text:00408ae2 57 PUSH EDI
.text:00408ae3 53 PUSH EBX
.text:00408ae4 e8f03c0000 CALL __crt_stdio_input::input_processor;bool write_character(input_processor...
.text:00408ae9 84c0 TEST AL,AL
.text:00408aeb 742c JZ LAB_00408b19
LAB_00408aed: ;XREF[1,0]: 00408acd
.text:00408aed 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:00408af0 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
.text:00408af3 83c201 ADD EDX,0x1
.text:00408af6 83d100 ADC this,0x0
.text:00408af9 eb9c JMP LAB_00408a97
LAB_00408afb: ;XREF[1,0]: 00408ad3
.text:00408afb 83ffff CMP EDI,-0x1
.text:00408afe 0f845cffffff JZ LAB_00408a60
.text:00408b04 33c0 XOR EAX,EAX
.text:00408b06 668903 MOV word ptr [EBX],AX
.text:00408b09 e952ffffff JMP LAB_00408a60
LAB_00408b0e: ;XREF[1,0]: 00408ac7
.text:00408b0e ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:00408b11 8d4e08 LEA this,[ESI + 0x8]
.text:00408b14 e8ab3b0000 CALL __crt_stdio_input::string_input_adapt...;void unget(string_input_adapter LAB_00408b19: ;XREF[1,0]: 00408aeb
.text:00408b19 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:00408b1c 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
LAB_00408b1f: ;XREF[1,0]: 00408aad
.text:00408b1f 8bc2 MOV EAX,EDX
.text:00408b21 0bc1 OR EAX,this
.text:00408b23 0f8400ffffff JZ LAB_00408a29
.text:00408b29 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:00408b2d 7518 JNZ LAB_00408b47
.text:00408b2f 3b55f0 CMP EDX,dword ptr [EBP + local_14+0x4]
.text:00408b32 7505 JNZ LAB_00408b39
.text:00408b34 3b4dec CMP this,dword ptr [EBP + local_18+0x4]
.text:00408b37 740e JZ LAB_00408b47
LAB_00408b39: ;XREF[1,0]: 00408b32
.text:00408b39 8b06 MOV EAX,dword ptr [ESI]
.text:00408b3b 83e004 AND EAX,0x4
.text:00408b3e 83c800 OR EAX,0x0
.text:00408b41 0f84e2feffff JZ LAB_00408a29
LAB_00408b47: ;XREF[2,0]: 00408b2d,00408b37
.text:00408b47 807e2e00 CMP byte ptr [ESI + 0x2e],0x0
.text:00408b4b 750e JNZ LAB_00408b5b
.text:00408b4d 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:00408b51 7408 JZ LAB_00408b5b
.text:00408b53 8b4de4 MOV this,dword ptr [EBP + local_20+0x4]
.text:00408b56 33d2 XOR EDX,EDX
.text:00408b58 668911 MOV word ptr [this],DX
LAB_00408b5b: ;XREF[2,0]: 00408b4b,00408b51
.text:00408b5b b001 MOV AL,0x1
.text:00408b5d e9c9feffff JMP LAB_00408a2b
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl __crt_stdio_input::skip_whitespace(stream_input_adapter * param_1, __crt_locale_pointers * param_2)
;param_1 stream_inpu... 4 ;XREF[1,0]: 00408b69
;param_2 __crt_local... 8 ;XREF[1,0]: 00408b7b
;XREF[1,0]: 0040c028
.text:00408b62 8bff MOV EDI,EDI
.text:00408b64 55 PUSH EBP
.text:00408b65 8bec MOV EBP,ESP
.text:00408b67 53 PUSH EBX
.text:00408b68 56 PUSH ESI
.text:00408b69 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
LAB_00408b6c: ;XREF[1,0]: 00408b91
.text:00408b6c ff36 PUSH dword ptr [ESI]
.text:00408b6e e8993f0000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:00408b73 8bd8 MOV EBX,EAX
.text:00408b75 59 POP ECX
.text:00408b76 83fbff CMP EBX,-0x1
.text:00408b79 7418 JZ LAB_00408b93
.text:00408b7b ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00408b7e ff4604 INC dword ptr [ESI + 0x4]
.text:00408b81 0fb6cb MOVZX ECX,BL
.text:00408b84 6a08 PUSH 0x8
.text:00408b86 51 PUSH ECX
.text:00408b87 e8413e0000 CALL FUN_0040c9cd ;uint FUN_0040c9cd(int param_1, uint ...
.text:00408b8c 83c40c ADD ESP,0xc
.text:00408b8f 85c0 TEST EAX,EAX
.text:00408b91 75d9 JNZ LAB_00408b6c
LAB_00408b93: ;XREF[1,0]: 00408b79
.text:00408b93 5e POP ESI
.text:00408b94 8bc3 MOV EAX,EBX
.text:00408b96 5b POP EBX
.text:00408b97 5d POP EBP
.text:00408b98 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl __crt_stdio_input::skip_whitespace(string_input_adapter * param_1, __crt_locale_pointers * param_2)
;param_1 string_inpu... 4 ;XREF[1,0]: 00408b9f
;param_2 __crt_local... 8 ;XREF[1,0]: 00408bae
;XREF[1,0]: 0040c045
.text:00408b99 8bff MOV EDI,EDI
.text:00408b9b 55 PUSH EBP
.text:00408b9c 8bec MOV EBP,ESP
.text:00408b9e 53 PUSH EBX
LAB_00408b9f: ;XREF[1,0]: 00408bc1
.text:00408b9f 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00408ba2 e8ea2d0000 CALL __crt_stdio_input::string_input_adapt...;int get(string_input_adapter *...
.text:00408ba7 8bd8 MOV EBX,EAX
.text:00408ba9 83fbff CMP EBX,-0x1
.text:00408bac 7415 JZ LAB_00408bc3
.text:00408bae ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00408bb1 0fb6cb MOVZX ECX,BL
.text:00408bb4 6a08 PUSH 0x8
.text:00408bb6 51 PUSH ECX
.text:00408bb7 e8113e0000 CALL FUN_0040c9cd ;uint FUN_0040c9cd(int param_1, uint ...
.text:00408bbc 83c40c ADD ESP,0xc
.text:00408bbf 85c0 TEST EAX,EAX
.text:00408bc1 75dc JNZ LAB_00408b9f
LAB_00408bc3: ;XREF[1,0]: 00408bac
.text:00408bc3 8bc3 MOV EAX,EBX
.text:00408bc5 5b POP EBX
.text:00408bc6 5d POP EBP
.text:00408bc7 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00408bc8(void * this, undefined4 * param_1)
;this void * ECX
;param_1 undefined4 * 4 ;XREF[1,0]: 00408bf0
;XREF[1,0]: 00408452
.text:00408bc8 8bff MOV EDI,EDI
.text:00408bca 55 PUSH EBP
.text:00408bcb 8bec MOV EBP,ESP
.text:00408bcd 8b5164 MOV EDX,dword ptr [this + 0x64]
.text:00408bd0 8d4204 LEA EAX,[EDX + 0x4]
.text:00408bd3 894164 MOV dword ptr [this + 0x64],EAX
.text:00408bd6 8b0a MOV this,dword ptr [EDX]
.text:00408bd8 85c9 TEST this,this
.text:00408bda 7514 JNZ LAB_00408bf0
.text:00408bdc e823570000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00408be1 c70016000000 MOV dword ptr [EAX],0x16
.text:00408be7 e837560000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00408bec 32c0 XOR AL,AL
.text:00408bee eb09 JMP LAB_00408bf9
LAB_00408bf0: ;XREF[1,0]: 00408bda
.text:00408bf0 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00408bf3 8b00 MOV EAX,dword ptr [EAX]
.text:00408bf5 8901 MOV dword ptr [this],EAX
.text:00408bf7 b001 MOV AL,0x1
LAB_00408bf9: ;XREF[1,0]: 00408bee
.text:00408bf9 5d POP EBP
.text:00408bfa c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00408bfd(void * this, undefined4 * param_1)
;this void * ECX
;param_1 undefined4 * 4 ;XREF[1,0]: 00408c25
;XREF[1,0]: 004084bb
.text:00408bfd 8bff MOV EDI,EDI
.text:00408bff 55 PUSH EBP
.text:00408c00 8bec MOV EBP,ESP
.text:00408c02 8b516c MOV EDX,dword ptr [this + 0x6c]
.text:00408c05 8d4204 LEA EAX,[EDX + 0x4]
.text:00408c08 89416c MOV dword ptr [this + 0x6c],EAX
.text:00408c0b 8b0a MOV this,dword ptr [EDX]
.text:00408c0d 85c9 TEST this,this
.text:00408c0f 7514 JNZ LAB_00408c25
.text:00408c11 e8ee560000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00408c16 c70016000000 MOV dword ptr [EAX],0x16
.text:00408c1c e802560000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00408c21 32c0 XOR AL,AL
.text:00408c23 eb09 JMP LAB_00408c2e
LAB_00408c25: ;XREF[1,0]: 00408c0f
.text:00408c25 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00408c28 8b00 MOV EAX,dword ptr [EAX]
.text:00408c2a 8901 MOV dword ptr [this],EAX
.text:00408c2c b001 MOV AL,0x1
LAB_00408c2e: ;XREF[1,0]: 00408c23
.text:00408c2e 5d POP EBP
.text:00408c2f c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00408c32(void * this, undefined4 * param_1)
;this void * ECX
;param_1 undefined4 * 4 ;XREF[1,0]: 00408c5a
;XREF[1,0]: 00408524
.text:00408c32 8bff MOV EDI,EDI
.text:00408c34 55 PUSH EBP
.text:00408c35 8bec MOV EBP,ESP
.text:00408c37 8b5164 MOV EDX,dword ptr [this + 0x64]
.text:00408c3a 8d4204 LEA EAX,[EDX + 0x4]
.text:00408c3d 894164 MOV dword ptr [this + 0x64],EAX
.text:00408c40 8b12 MOV EDX,dword ptr [EDX]
.text:00408c42 85d2 TEST EDX,EDX
.text:00408c44 7514 JNZ LAB_00408c5a
.text:00408c46 e8b9560000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00408c4b c70016000000 MOV dword ptr [EAX],0x16
.text:00408c51 e8cd550000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00408c56 32c0 XOR AL,AL
.text:00408c58 eb0f JMP LAB_00408c69
LAB_00408c5a: ;XREF[1,0]: 00408c44
.text:00408c5a 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00408c5d 8b08 MOV this,dword ptr [EAX]
.text:00408c5f 8b4004 MOV EAX,dword ptr [EAX + 0x4]
.text:00408c62 894204 MOV dword ptr [EDX + 0x4],EAX
.text:00408c65 b001 MOV AL,0x1
.text:00408c67 890a MOV dword ptr [EDX],this
LAB_00408c69: ;XREF[1,0]: 00408c58
.text:00408c69 5d POP EBP
.text:00408c6a c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00408c6d(void * this, undefined4 * param_1)
;this void * ECX
;param_1 undefined4 * 4 ;XREF[1,0]: 00408c95
;XREF[1,0]: 0040858d
.text:00408c6d 8bff MOV EDI,EDI
.text:00408c6f 55 PUSH EBP
.text:00408c70 8bec MOV EBP,ESP
.text:00408c72 8b516c MOV EDX,dword ptr [this + 0x6c]
.text:00408c75 8d4204 LEA EAX,[EDX + 0x4]
.text:00408c78 89416c MOV dword ptr [this + 0x6c],EAX
.text:00408c7b 8b12 MOV EDX,dword ptr [EDX]
.text:00408c7d 85d2 TEST EDX,EDX
.text:00408c7f 7514 JNZ LAB_00408c95
.text:00408c81 e87e560000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00408c86 c70016000000 MOV dword ptr [EAX],0x16
.text:00408c8c e892550000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00408c91 32c0 XOR AL,AL
.text:00408c93 eb0f JMP LAB_00408ca4
LAB_00408c95: ;XREF[1,0]: 00408c7f
.text:00408c95 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00408c98 8b08 MOV this,dword ptr [EAX]
.text:00408c9a 8b4004 MOV EAX,dword ptr [EAX + 0x4]
.text:00408c9d 894204 MOV dword ptr [EDX + 0x4],EAX
.text:00408ca0 b001 MOV AL,0x1
.text:00408ca2 890a MOV dword ptr [EDX],this
LAB_00408ca4: ;XREF[1,0]: 00408c93
.text:00408ca4 5d POP EBP
.text:00408ca5 c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_00408ca8(void * this, undefined4 param_1, undefined4 param_2, undefined4 param_3)
;this void * ECX
;param_1 undefined4 4 ;XREF[1,0]: 00408cad
;param_2 undefined4 8 ;XREF[1,0]: 00408cb0
;param_3 undefined4 c ;XREF[1,0]: 00408cbf
;XREF[2,0]: 00408d8b,00408dcf
.text:00408ca8 8bff MOV EDI,EDI
.text:00408caa 55 PUSH EBP
.text:00408cab 8bec MOV EBP,ESP
.text:00408cad 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00408cb0 8b550c MOV EDX,dword ptr [EBP + param_2+0x4]
.text:00408cb3 56 PUSH ESI
.text:00408cb4 8bf1 MOV ESI,this
.text:00408cb6 57 PUSH EDI
.text:00408cb7 6a08 PUSH 0x8
.text:00408cb9 59 POP this
.text:00408cba 8906 MOV dword ptr [ESI],EAX
.text:00408cbc 8d7e2c LEA EDI,[ESI + 0x2c]
.text:00408cbf 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00408cc2 895604 MOV dword ptr [ESI + 0x4],EDX
.text:00408cc5 33d2 XOR EDX,EDX
.text:00408cc7 894608 MOV dword ptr [ESI + 0x8],EAX
.text:00408cca 33c0 XOR EAX,EAX
.text:00408ccc 89560c MOV dword ptr [ESI + 0xc],EDX
.text:00408ccf f3ab STOSD.REP ES:EDI
.text:00408cd1 5f POP EDI
.text:00408cd2 895610 MOV dword ptr [ESI + 0x10],EDX
.text:00408cd5 8bc6 MOV EAX,ESI
.text:00408cd7 66895614 MOV word ptr [ESI + 0x14],DX
.text:00408cdb 885616 MOV byte ptr [ESI + 0x16],DL
.text:00408cde 895618 MOV dword ptr [ESI + 0x18],EDX
.text:00408ce1 89561c MOV dword ptr [ESI + 0x1c],EDX
.text:00408ce4 895620 MOV dword ptr [ESI + 0x20],EDX
.text:00408ce7 885624 MOV byte ptr [ESI + 0x24],DL
.text:00408cea 895628 MOV dword ptr [ESI + 0x28],EDX
.text:00408ced 5e POP ESI
.text:00408cee 5d POP EBP
.text:00408cef c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_00408cf2(void * this, undefined4 * param_1)
;this void * ECX
;param_1 undefined4 * 4 ;XREF[1,0]: 00408cf8
;XREF[2,0]: 0040805f,004083bf
.text:00408cf2 8bff MOV EDI,EDI
.text:00408cf4 55 PUSH EBP
.text:00408cf5 8bec MOV EBP,ESP
.text:00408cf7 56 PUSH ESI
.text:00408cf8 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00408cfb 57 PUSH EDI
.text:00408cfc 8bf9 MOV EDI,this
.text:00408cfe 8b06 MOV EAX,dword ptr [ESI]
.text:00408d00 8907 MOV dword ptr [EDI],EAX
.text:00408d02 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00408d05 8b560c MOV EDX,dword ptr [ESI + 0xc]
.text:00408d08 894708 MOV dword ptr [EDI + 0x8],EAX
.text:00408d0b 89570c MOV dword ptr [EDI + 0xc],EDX
.text:00408d0e 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:00408d11 8b4e14 MOV this,dword ptr [ESI + 0x14]
.text:00408d14 894710 MOV dword ptr [EDI + 0x10],EAX
.text:00408d17 894f14 MOV dword ptr [EDI + 0x14],this
.text:00408d1a 8b4618 MOV EAX,dword ptr [ESI + 0x18]
.text:00408d1d 894718 MOV dword ptr [EDI + 0x18],EAX
.text:00408d20 8bc7 MOV EAX,EDI
.text:00408d22 832600 AND dword ptr [ESI],0x0
.text:00408d25 83661800 AND dword ptr [ESI + 0x18],0x0
.text:00408d29 5f POP EDI
.text:00408d2a 5e POP ESI
.text:00408d2b 5d POP EBP
.text:00408d2c c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_00408d2f(void * this, undefined4 param_1, undefined4 param_2, undefined4 param_3, undefined * param_4)
;this void * ECX
;param_1 undefined4 4 ;XREF[1,0]: 00408d34
;param_2 undefined4 8 ;XREF[1,0]: 00408d44
;param_3 undefined4 c ;XREF[1,0]: 00408d3f
;param_4 undefined * 10 ;XREF[1,0]: 00408d4a
;XREF[1,0]: 00406b3a
.text:00408d2f 8bff MOV EDI,EDI
.text:00408d31 55 PUSH EBP
.text:00408d32 8bec MOV EBP,ESP
.text:00408d34 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00408d37 83611000 AND dword ptr [this + 0x10],0x0
.text:00408d3b 83611400 AND dword ptr [this + 0x14],0x0
.text:00408d3f 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00408d42 8901 MOV dword ptr [this],EAX
.text:00408d44 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00408d47 894108 MOV dword ptr [this + 0x8],EAX
.text:00408d4a 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:00408d4d 89510c MOV dword ptr [this + 0xc],EDX
.text:00408d50 894118 MOV dword ptr [this + 0x18],EAX
.text:00408d53 85c0 TEST EAX,EAX
.text:00408d55 7403 JZ LAB_00408d5a
.text:00408d57 c60001 MOV byte ptr [EAX],0x1
LAB_00408d5a: ;XREF[1,0]: 00408d55
.text:00408d5a 8bc1 MOV EAX,this
.text:00408d5c 5d POP EBP
.text:00408d5d c21000 RET 0x10
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_00408d60(void * this, undefined4 * param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6)
;this void * ECX
;param_1 undefined4 * 4 ;XREF[1,0]: 00408d65
;param_2 undefined4 8 ;XREF[1,0]: 00408d73
;param_3 undefined4 c ;XREF[1,0]: 00408d6a
;param_4 undefined4 10 ;XREF[1,0]: 00408d70
;param_5 undefined4 14 ;XREF[1,0]: 00408d90
;param_6 undefined4 18 ;XREF[1,0]: 00408d9a
;XREF[1,0]: 00408eec
.text:00408d60 8bff MOV EDI,EDI
.text:00408d62 55 PUSH EBP
.text:00408d63 8bec MOV EBP,ESP
.text:00408d65 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00408d68 53 PUSH EBX
.text:00408d69 56 PUSH ESI
.text:00408d6a 8b7510 MOV ESI,dword ptr [EBP + param_3+0x4]
.text:00408d6d 8bd9 MOV EBX,this
.text:00408d6f 57 PUSH EDI
.text:00408d70 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00408d73 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00408d76 893b MOV dword ptr [EBX],EDI
.text:00408d78 8d4b10 LEA this,[EBX + 0x10]
.text:00408d7b 897304 MOV dword ptr [EBX + 0x4],ESI
.text:00408d7e 8b10 MOV EDX,dword ptr [EAX]
.text:00408d80 8b4004 MOV EAX,dword ptr [EAX + 0x4]
.text:00408d83 56 PUSH ESI
.text:00408d84 57 PUSH EDI
.text:00408d85 895308 MOV dword ptr [EBX + 0x8],EDX
.text:00408d88 89430c MOV dword ptr [EBX + 0xc],EAX
.text:00408d8b e818ffffff CALL FUN_00408ca8 ;void * FUN_00408ca8(void * this, und...
.text:00408d90 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:00408d93 83636800 AND dword ptr [EBX + 0x68],0x0
.text:00408d97 894360 MOV dword ptr [EBX + 0x60],EAX
.text:00408d9a 8b451c MOV EAX,dword ptr [EBP + param_6+0x4]
.text:00408d9d 5f POP EDI
.text:00408d9e 894364 MOV dword ptr [EBX + 0x64],EAX
.text:00408da1 8bc3 MOV EAX,EBX
.text:00408da3 5e POP ESI
.text:00408da4 5b POP EBX
.text:00408da5 5d POP EBP
.text:00408da6 c21800 RET 0x18
;************************************************************************************************
;* Library Function - Single Match *
;* public: __thiscall __crt_stdio_input::input_processor_>(input_processor_> * this, string_input_adapter * param_1, __uint64 param_2, char * param_3, __crt_locale_pointers * param_4, char * param_5)
;this input_proce... ECX
;param_1 string_inpu... 4 ;XREF[1,0]: 00408db6
;param_2 __uint64 c ;XREF[1,1]: 00408db1,00408dbc
;param_3 char * 14 ;XREF[1,0]: 00408dd4
;param_4 __crt_local... 18 ;XREF[1,0]: 00408dde
;param_5 char * 1c
;XREF[1,0]: 00406a30
.text:00408da9 8bff MOV EDI,EDI
.text:00408dab 55 PUSH EBP
.text:00408dac 8bec MOV EBP,ESP
.text:00408dae 8b550c MOV EDX,dword ptr [EBP + Stack[0x8]+0x4]
.text:00408db1 8b4510 MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00408db4 53 PUSH EBX
.text:00408db5 56 PUSH ESI
.text:00408db6 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00408db9 8bd9 MOV EBX,this
.text:00408dbb 57 PUSH EDI
.text:00408dbc ff7514 PUSH dword ptr [EBP + param_2+0x8]
.text:00408dbf 8913 MOV dword ptr [EBX],EDX
.text:00408dc1 8d7b08 LEA EDI,[EBX + 0x8]
.text:00408dc4 894304 MOV dword ptr [EBX + 0x4],EAX
.text:00408dc7 8d4b18 LEA this,[EBX + 0x18]
.text:00408dca a5 MOVSD ES:EDI,ESI
.text:00408dcb 50 PUSH EAX
.text:00408dcc 52 PUSH EDX
.text:00408dcd a5 MOVSD ES:EDI,ESI
.text:00408dce a5 MOVSD ES:EDI,ESI
.text:00408dcf e8d4feffff CALL FUN_00408ca8 ;void * FUN_00408ca8(void * this, und...
.text:00408dd4 8b4518 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00408dd7 83637000 AND dword ptr [EBX + 0x70],0x0
.text:00408ddb 894368 MOV dword ptr [EBX + 0x68],EAX
.text:00408dde 8b451c MOV EAX,dword ptr [EBP + param_4+0x4]
.text:00408de1 5f POP EDI
.text:00408de2 89436c MOV dword ptr [EBX + 0x6c],EAX
.text:00408de5 8bc3 MOV EAX,EBX
.text:00408de7 5e POP ESI
.text:00408de8 5b POP EBX
.text:00408de9 5d POP EBP
.text:00408dea c21800 RET 0x18
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_00408ded(void * this, LPVOID * param_1)
;this void * ECX
;param_1 LPVOID * 4 ;XREF[1,0]: 00408df6
;XREF[12,0]: 004069fc,00408ebb,004107d0,004112b1
; 004116e2,00411db1,0041295a,004177c2
; 00417a01,00417a85,00418837,00418b35
.text:00408ded 8bff MOV EDI,EDI
.text:00408def 55 PUSH EBP
.text:00408df0 8bec MOV EBP,ESP
.text:00408df2 53 PUSH EBX
.text:00408df3 57 PUSH EDI
.text:00408df4 8bf9 MOV EDI,this
.text:00408df6 8b4d08 MOV this,dword ptr [EBP + param_1+0x4]
.text:00408df9 c6470c00 MOV byte ptr [EDI + 0xc],0x0
.text:00408dfd 8d5f04 LEA EBX,[EDI + 0x4]
.text:00408e00 85c9 TEST this,this
.text:00408e02 7407 JZ LAB_00408e0b
.text:00408e04 8b01 MOV EAX,dword ptr [this]
.text:00408e06 8b4904 MOV this,dword ptr [this + 0x4]
.text:00408e09 eb14 JMP LAB_00408e1f
LAB_00408e0b: ;XREF[1,0]: 00408e02
.text:00408e0b 833d603e4... CMP dword ptr [.data:DAT_00423e60],0x0 ;= ??
.text:00408e12 7512 JNZ LAB_00408e26
.text:00408e14 a1f0314200 MOV EAX,[.data:PTR_PTR_DAT_004231f0] ;= 00423138
.text:00408e19 8b0df4314200 MOV this,dword ptr [.data:PTR_DAT_004231f4] ;= 00423200
LAB_00408e1f: ;XREF[1,0]: 00408e09
.text:00408e1f 8903 MOV dword ptr [EBX],EAX=>.data:PTR_DAT_00...;= 0041d860
.text:00408e21 894b04 MOV dword ptr [EBX +...,this=>.data:DAT_0...
.text:00408e24 eb41 JMP LAB_00408e67
LAB_00408e26: ;XREF[1,0]: 00408e12
.text:00408e26 56 PUSH ESI
.text:00408e27 e87d760000 CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:00408e2c 8907 MOV dword ptr [EDI],EAX
.text:00408e2e 8d7708 LEA ESI,[EDI + 0x8]
.text:00408e31 53 PUSH EBX
.text:00408e32 50 PUSH EAX
.text:00408e33 8b484c MOV this,dword ptr [EAX + 0x4c]
.text:00408e36 890b MOV dword ptr [EBX],this
.text:00408e38 8b4848 MOV this,dword ptr [EAX + 0x48]
.text:00408e3b 890e MOV dword ptr [ESI],this
.text:00408e3d e8af620000 CALL ___acrt_update_locale_info ;undefined ___acrt_update_locale_info...
.text:00408e42 56 PUSH ESI
.text:00408e43 ff37 PUSH dword ptr [EDI]
.text:00408e45 e805630000 CALL FUN_0040f14f ;undefined FUN_0040f14f(int param_1, ...
.text:00408e4a 8b0f MOV this,dword ptr [EDI]
.text:00408e4c 83c410 ADD ESP,0x10
.text:00408e4f 8b8150030000 MOV EAX,dword ptr [this + 0x350]
.text:00408e55 5e POP ESI
.text:00408e56 a802 TEST AL,0x2
.text:00408e58 750d JNZ LAB_00408e67
.text:00408e5a 83c802 OR EAX,0x2
.text:00408e5d 898150030000 MOV dword ptr [this + 0x350],EAX
.text:00408e63 c6470c01 MOV byte ptr [EDI + 0xc],0x1
LAB_00408e67: ;XREF[2,0]: 00408e24,00408e58
.text:00408e67 8bc7 MOV EAX,EDI
.text:00408e69 5f POP EDI
.text:00408e6a 5b POP EBX
.text:00408e6b 5d POP EBP
.text:00408e6c c20400 RET 0x4
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* public: bool __thiscall ::operator()(void)const *
;* public: bool __thiscall ::operator()(void)const *
;* public: bool __thiscall ::operator()(void)const *
;* public: bool __thiscall ::operator()(void)const *
;* 6 names - too many to list *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined FID_conflict:operator()(input_adapter_character_source_> * * param_1)
;param_1 input_adapt... ECX
;XREF[6,0]: 00406fc0,0040710f,004076ce,004076da
; 00407812,0040782c
.text:00408e6f 8bff MOV EDI,EDI
.text:00408e71 56 PUSH ESI
.text:00408e72 8bf1 MOV ESI,param_1
.text:00408e74 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00408e77 8b0e MOV param_1,dword ptr [ESI]
.text:00408e79 0fb600 MOVZX EAX,byte ptr [EAX]
.text:00408e7c 50 PUSH EAX
.text:00408e7d e896370000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00408e82 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00408e85 c60000 MOV byte ptr [EAX],0x0
.text:00408e88 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00408e8b 8b0e MOV param_1,dword ptr [ESI]
.text:00408e8d ff7004 PUSH dword ptr [EAX + 0x4]
.text:00408e90 ff30 PUSH dword ptr [EAX]
.text:00408e92 e8c1310000 CALL restore_state ;undefined4 restore_state(void * this...
.text:00408e97 5e POP ESI
.text:00408e98 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: int __thiscall ::operator()(void)const *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int operator()( * this)
;this ;local_8 undefined4 -8 ;XREF[2,0]: 00408eab,00408f0d
;local_78 undefined1 -78 ;XREF[2,0]: 00408ec3,00408ef1
;local_7c undefined4 -7c ;XREF[1,0]: 00408ec6
;local_80 undefined4 -80 ;XREF[2,0]: 00408ecc,00408ee8
;local_84 undefined1 -84 ;XREF[1,0]: 00408ef9
;local_8c undefined1 -8c ;XREF[1,0]: 00408ed4
;local_90 undefined4 -90 ;XREF[2,0]: 00408eb1,00408f00
;XREF[1,0]: 004068e1
.text:00408e99 8bff MOV EDI,EDI
.text:00408e9b 55 PUSH EBP
.text:00408e9c 8bec MOV EBP,ESP
.text:00408e9e 81ec8c000000 SUB ESP,0x8c
.text:00408ea4 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00408ea9 33c5 XOR EAX,EBP
.text:00408eab 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00408eae 56 PUSH ESI
.text:00408eaf 8bf1 MOV ESI,this
.text:00408eb1 8d8d74ffffff LEA this=>local_90,[EBP + 0xffffff74]
.text:00408eb7 8b06 MOV EAX,dword ptr [ESI]
.text:00408eb9 ff30 PUSH dword ptr [EAX]
.text:00408ebb e82dffffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:00408ec0 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00408ec3 8d4d8c LEA this=>local_78,[EBP + -0x74]
.text:00408ec6 83658800 AND dword ptr [EBP + local_7c+0x4],0x0
.text:00408eca 8b00 MOV EAX,dword ptr [EAX]
.text:00408ecc 894584 MOV dword ptr [EBP + local_80+0x4],EAX
.text:00408ecf 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:00408ed2 ff30 PUSH dword ptr [EAX]
.text:00408ed4 8d8578ffffff LEA EAX=>local_8c,[EBP + 0xffffff78]
.text:00408eda 50 PUSH EAX
.text:00408edb 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:00408ede ff30 PUSH dword ptr [EAX]
.text:00408ee0 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00408ee3 ff7004 PUSH dword ptr [EAX + 0x4]
.text:00408ee6 ff30 PUSH dword ptr [EAX]
.text:00408ee8 8d4584 LEA EAX=>local_80,[EBP + -0x7c]
.text:00408eeb 50 PUSH EAX
.text:00408eec e86ffeffff CALL FUN_00408d60 ;void * FUN_00408d60(void * this, und...
.text:00408ef1 8d4d8c LEA this=>local_78,[EBP + -0x74]
.text:00408ef4 e8b32b0000 CALL __crt_stdio_input::input_processor;int process(input_processor .text:00408ef9 807d8000 CMP byte ptr [EBP + local_84+0x4],0x0
.text:00408efd 5e POP ESI
.text:00408efe 740d JZ LAB_00408f0d
.text:00408f00 8b8d74ffffff MOV this,dword ptr [EBP + local_90+0x4]
.text:00408f06 83a150030... AND dword ptr [this + 0x350],0xfffffffd
LAB_00408f0d: ;XREF[1,0]: 00408efe
.text:00408f0d 8b4dfc MOV this,dword ptr [EBP + local_8+0x4]
.text:00408f10 33cd XOR this,EBP
.text:00408f12 e80e92ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00408f17 c9 LEAVE
.text:00408f18 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* public: bool __thiscall ::operator()(void)const *
;* public: bool __thiscall ::operator()(void)const *
;* public: bool __thiscall ::operator()(void)const *
;* public: bool __thiscall ::operator()(void)const *
;* 6 names - too many to list *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined FID_conflict:operator()(input_adapter_character_source_> * * param_1)
;param_1 input_adapt... ECX
;XREF[6,0]: 00407422,00407571,0040778d,00407799
; 0040791a,00407934
.text:00408f19 8bff MOV EDI,EDI
.text:00408f1b 56 PUSH ESI
.text:00408f1c 8bf1 MOV ESI,param_1
.text:00408f1e 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00408f21 8b0e MOV param_1,dword ptr [ESI]
.text:00408f23 0fb600 MOVZX EAX,byte ptr [EAX]
.text:00408f26 50 PUSH EAX
.text:00408f27 e833370000 CALL __crt_strtox::input_adapter_character...;void unget(input_adapter_character_s...
.text:00408f2c 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00408f2f c60000 MOV byte ptr [EAX],0x0
.text:00408f32 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00408f35 8b0e MOV param_1,dword ptr [ESI]
.text:00408f37 ff7004 PUSH dword ptr [EAX + 0x4]
.text:00408f3a ff30 PUSH dword ptr [EAX]
.text:00408f3c e817310000 CALL restore_state ;undefined4 restore_state(void * this...
.text:00408f41 5e POP ESI
.text:00408f42 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: bool __thiscall __crt_stdio_input::format_string_parser::advance(void) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;bool advance(format_string_parser * this)
;this format_stri... ECX
;XREF[2,0]: 0040bae3,0040bb6e
.text:00408f43 8bff MOV EDI,EDI
.text:00408f45 53 PUSH EBX
.text:00408f46 56 PUSH ESI
.text:00408f47 8bf1 MOV ESI,this
.text:00408f49 33db XOR EBX,EBX
.text:00408f4b 395e0c CMP dword ptr [ESI + 0xc],EBX
.text:00408f4e 7529 JNZ LAB_00408f79
.text:00408f50 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00408f53 895e10 MOV dword ptr [ESI + 0x10],EBX
.text:00408f56 66895e14 MOV word ptr [ESI + 0x14],BX
.text:00408f5a 885e16 MOV byte ptr [ESI + 0x16],BL
.text:00408f5d 895e18 MOV dword ptr [ESI + 0x18],EBX
.text:00408f60 895e1c MOV dword ptr [ESI + 0x1c],EBX
.text:00408f63 895e20 MOV dword ptr [ESI + 0x20],EBX
.text:00408f66 885e24 MOV byte ptr [ESI + 0x24],BL
.text:00408f69 895e28 MOV dword ptr [ESI + 0x28],EBX
.text:00408f6c 8a00 MOV AL,byte ptr [EAX]
.text:00408f6e 84c0 TEST AL,AL
.text:00408f70 750c JNZ LAB_00408f7e
.text:00408f72 c74610010... MOV dword ptr [ESI + 0x10],0x1
LAB_00408f79: ;XREF[4,0]: 00408f4e,00408fe0,00408ff9,0040902f
.text:00408f79 32c0 XOR AL,AL
LAB_00408f7b: ;XREF[2,0]: 00408fb1,00409056
.text:00408f7b 5e POP ESI
.text:00408f7c 5b POP EBX
.text:00408f7d c3 RET
LAB_00408f7e: ;XREF[1,0]: 00408f70
.text:00408f7e 0fb6c0 MOVZX EAX,AL
.text:00408f81 50 PUSH EAX
.text:00408f82 e809790000 CALL _isspace ;int _isspace(int _C)
.text:00408f87 59 POP this
.text:00408f88 8b4e08 MOV this,dword ptr [ESI + 0x8]
.text:00408f8b 85c0 TEST EAX,EAX
.text:00408f8d 7424 JZ LAB_00408fb3
.text:00408f8f c74610020... MOV dword ptr [ESI + 0x10],0x2
.text:00408f96 0fb601 MOVZX EAX,byte ptr [this]
.text:00408f99 eb09 JMP LAB_00408fa4
LAB_00408f9b: ;XREF[1,0]: 00408fad
.text:00408f9b ff4608 INC dword ptr [ESI + 0x8]
.text:00408f9e 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00408fa1 0fb600 MOVZX EAX,byte ptr [EAX]
LAB_00408fa4: ;XREF[1,0]: 00408f99
.text:00408fa4 50 PUSH EAX
.text:00408fa5 e8e6780000 CALL _isspace ;int _isspace(int _C)
.text:00408faa 59 POP this
.text:00408fab 85c0 TEST EAX,EAX
.text:00408fad 75ec JNZ LAB_00408f9b
LAB_00408faf: ;XREF[1,0]: 0040900d
.text:00408faf b001 MOV AL,0x1
.text:00408fb1 ebc8 JMP LAB_00408f7b
LAB_00408fb3: ;XREF[1,0]: 00408f8d
.text:00408fb3 803925 CMP byte ptr [this],0x25
.text:00408fb6 757c JNZ LAB_00409034
.text:00408fb8 8d4101 LEA EAX,[ECX + this+0x1]
.text:00408fbb 803825 CMP byte ptr [EAX],0x25
.text:00408fbe 7474 JZ LAB_00409034
.text:00408fc0 c74610040... MOV dword ptr [ESI + 0x10],0x4
.text:00408fc7 894608 MOV dword ptr [ESI + 0x8],EAX
.text:00408fca 80382a CMP byte ptr [EAX],0x2a
.text:00408fcd 7508 JNZ LAB_00408fd7
.text:00408fcf 40 INC EAX
.text:00408fd0 c6461601 MOV byte ptr [ESI + 0x16],0x1
.text:00408fd4 894608 MOV dword ptr [ESI + 0x8],EAX
LAB_00408fd7: ;XREF[1,0]: 00408fcd
.text:00408fd7 8bce MOV this,ESI
.text:00408fd9 e81b320000 CALL FUN_0040c1f9 ;int FUN_0040c1f9(int param_1)
.text:00408fde 84c0 TEST AL,AL
.text:00408fe0 7497 JZ LAB_00408f79
.text:00408fe2 8bce MOV this,ESI
.text:00408fe4 e8a4320000 CALL FUN_0040c28d ;undefined FUN_0040c28d(int param_1)
.text:00408fe9 8bce MOV this,ESI
.text:00408feb e80f340000 CALL __crt_stdio_input::format_string_pars...;void scan_optional_wide_modifier(for...
.text:00408ff0 8bce MOV this,ESI
.text:00408ff2 e886300000 CALL FUN_0040c07d ;uint FUN_0040c07d(int param_1)
.text:00408ff7 84c0 TEST AL,AL
.text:00408ff9 0f847affffff JZ LAB_00408f79
.text:00408fff 6b4e280c IMUL this,dword ptr [ESI + 0x28],0xc
.text:00409003 8b4620 MOV EAX,dword ptr [ESI + 0x20]
.text:00409006 389c01e8c... CMP byte ptr [this +...,BL ;= 01h
.text:0040900d 75a0 JNZ LAB_00408faf
.text:0040900f 895e10 MOV dword ptr [ESI + 0x10],EBX
.text:00409012 66895e14 MOV word ptr [ESI + 0x14],BX
.text:00409016 885e16 MOV byte ptr [ESI + 0x16],BL
.text:00409019 895e18 MOV dword ptr [ESI + 0x18],EBX
.text:0040901c 895e1c MOV dword ptr [ESI + 0x1c],EBX
.text:0040901f 895e20 MOV dword ptr [ESI + 0x20],EBX
.text:00409022 885e24 MOV byte ptr [ESI + 0x24],BL
.text:00409025 895e28 MOV dword ptr [ESI + 0x28],EBX
.text:00409028 c7460c160... MOV dword ptr [ESI + 0xc],0x16
.text:0040902f e945ffffff JMP LAB_00408f79
LAB_00409034: ;XREF[2,0]: 00408fb6,00408fbe
.text:00409034 c74610030... MOV dword ptr [ESI + 0x10],0x3
.text:0040903b 8a01 MOV AL,byte ptr [this]
.text:0040903d 884614 MOV byte ptr [ESI + 0x14],AL
.text:00409040 33c0 XOR EAX,EAX
.text:00409042 803925 CMP byte ptr [this],0x25
.text:00409045 53 PUSH EBX
.text:00409046 0f94c0 SETZ AL
.text:00409049 41 INC this
.text:0040904a 03c1 ADD EAX,this
.text:0040904c 8bce MOV this,ESI
.text:0040904e 894608 MOV dword ptr [ESI + 0x8],EAX
.text:00409051 e857330000 CALL __crt_stdio_input::format_string_pars...;bool scan_optional_literal_character...
.text:00409056 e920ffffff JMP LAB_00408f7b
;************************************************************************************************
;* Library Function - Single Match *
;* public: double & __thiscall __crt_strtox::floating_point_value::as_double(void)const *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;double * as_double(floating_point_value * this)
;this floating_po... ECX
;XREF[3,0]: 004090b3,00409415,004095de
.text:0040905b 80790400 CMP byte ptr [this + 0x4],0x0
.text:0040905f 7403 JZ LAB_00409064
.text:00409061 8b01 MOV EAX,dword ptr [this]
.text:00409063 c3 RET
LAB_00409064: ;XREF[1,0]: 0040905f
.text:00409064 6a00 PUSH 0x0
.text:00409066 68db010000 PUSH 0x1db
.text:0040906b 6890c74100 PUSH .rdata:u_minkernel\crts\ucrt\inc\core...;= u"minkernel\\crts\\ucrt\\inc\\core...
.text:00409070 68f8c74100 PUSH .rdata:u___crt_strtox::floating_point...;= u"__crt_strtox::floating_point_val...
.text:00409075 6854c84100 PUSH .rdata:u__is_double_0041c854 ;= u"_is_double"
.text:0040907a e8b4510000 CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:0040907f cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* public: float & __thiscall __crt_strtox::floating_point_value::as_float(void)const *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;float * as_float(floating_point_value * this)
;this floating_po... ECX
;XREF[3,0]: 004090cf,00409428,004095f5
.text:00409080 80790400 CMP byte ptr [this + 0x4],0x0
.text:00409084 7503 JNZ LAB_00409089
.text:00409086 8b01 MOV EAX,dword ptr [this]
.text:00409088 c3 RET
LAB_00409089: ;XREF[1,0]: 00409084
.text:00409089 6a00 PUSH 0x0
.text:0040908b 68e1010000 PUSH 0x1e1
.text:00409090 6890c74100 PUSH .rdata:u_minkernel\crts\ucrt\inc\core...;= u"minkernel\\crts\\ucrt\\inc\\core...
.text:00409095 6870c84100 PUSH .rdata:u___crt_strtox::floating_point...;= u"__crt_strtox::floating_point_val...
.text:0040909a 68ccc84100 PUSH .rdata:u_!_is_double_0041c8cc ;= u"!_is_double"
.text:0040909f e88f510000 CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:004090a4 cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl __crt_strtox::assemble_floating_point_infinity(bool,class __crt_strtox::floatin...*
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;void assemble_floating_point_infinity(bool param_1, floating_point_value * param_2)
;param_1 bool 4 ;XREF[2,0]: 004090ba,004090d4
;param_2 floating_po... 8 ;XREF[1,0]: 004090aa
;XREF[2,0]: 004093da,0040a288
.text:004090a5 8bff MOV EDI,EDI
.text:004090a7 55 PUSH EBP
.text:004090a8 8bec MOV EBP,ESP
.text:004090aa 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:004090ad 80790400 CMP byte ptr [ECX + 0x4],0x0
.text:004090b1 741c JZ LAB_004090cf
.text:004090b3 e8a3ffffff CALL __crt_strtox::floating_point_value::a...;double * as_double(floating_point_va...
.text:004090b8 8bc8 MOV ECX,EAX
.text:004090ba 0fb64508 MOVZX EAX,byte ptr [EBP + param_1+0x4]
.text:004090be 99 CDQ
.text:004090bf c1e01f SHL EAX,0x1f
.text:004090c2 0d0000f07f OR EAX,0x7ff00000
.text:004090c7 832100 AND dword ptr [ECX],0x0
.text:004090ca 894104 MOV dword ptr [ECX + 0x4],EAX
.text:004090cd 5d POP EBP
.text:004090ce c3 RET
LAB_004090cf: ;XREF[1,0]: 004090b1
.text:004090cf e8acffffff CALL __crt_strtox::floating_point_value::a...;float * as_float(floating_point_valu...
.text:004090d4 0fb64d08 MOVZX ECX,byte ptr [EBP + param_1+0x4]
.text:004090d8 c1e11f SHL ECX,0x1f
.text:004090db 81c90000807f OR ECX,0x7f800000
.text:004090e1 8908 MOV dword ptr [EAX],ECX
.text:004090e3 5d POP EBP
.text:004090e4 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;SLD_STATUS FUN_004090e5(uint param_1, uint param_2, int param_3, bool param_4, char param_5, floating_point_value * param_6)
;param_1 uint 4 ;XREF[1,0]: 004090f5
;param_2 uint 8 ;XREF[1,0]: 004090ef
;param_3 int c
;param_4 bool 10
;param_5 char 14
;param_6 floating_po... 18
;XREF[3,0]: 004095c3,0040b35b,0040b444
.text:004090e5 8bff MOV EDI,EDI
.text:004090e7 55 PUSH EBP
.text:004090e8 8bec MOV EBP,ESP
.text:004090ea 83ec24 SUB ESP,0x24
.text:004090ed 53 PUSH EBX
.text:004090ee 56 PUSH ESI
.text:004090ef 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:004090f2 33db XOR EBX,EBX
.text:004090f4 57 PUSH EDI
.text:004090f5 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:004090f8 3bf3 CMP ESI,EBX
.text:004090fa 7714 JA LAB_00409110
.text:004090fc 83ffff CMP EDI,-0x1
.text:004090ff 770f JA LAB_00409110
.text:00409101 0fbdcf BSR ECX,EDI
.text:00409104 895ddc MOV dword ptr [EBP + -0x24],EBX
.text:00409107 7403 JZ LAB_0040910c
.text:00409109 41 INC ECX
.text:0040910a eb14 JMP LAB_00409120
LAB_0040910c: ;XREF[1,0]: 00409107
.text:0040910c 8bcb MOV ECX,EBX
.text:0040910e eb10 JMP LAB_00409120
LAB_00409110: ;XREF[2,0]: 004090fa,004090ff
.text:00409110 0fbdce BSR ECX,ESI
.text:00409113 895ddc MOV dword ptr [EBP + -0x24],EBX
.text:00409116 7403 JZ LAB_0040911b
.text:00409118 41 INC ECX
.text:00409119 eb02 JMP LAB_0040911d
LAB_0040911b: ;XREF[1,0]: 00409116
.text:0040911b 8bcb MOV ECX,EBX
LAB_0040911d: ;XREF[1,0]: 00409119
.text:0040911d 83c120 ADD ECX,0x20
LAB_00409120: ;XREF[2,0]: 0040910a,0040910e
.text:00409120 8b451c MOV EAX,dword ptr [EBP + 0x1c]
.text:00409123 8a5004 MOV DL,byte ptr [EAX + 0x4]
.text:00409126 8855ff MOV byte ptr [EBP + -0x1],DL
.text:00409129 33d2 XOR EDX,EDX
.text:0040912b 3855ff CMP byte ptr [EBP + -0x1],DL
.text:0040912e 0f94c2 SETZ DL
.text:00409131 33c0 XOR EAX,EAX
.text:00409133 4a DEC EDX
.text:00409134 83e21d AND EDX,0x1d
.text:00409137 83c218 ADD EDX,0x18
.text:0040913a 2bd1 SUB EDX,ECX
.text:0040913c 8b4d10 MOV ECX,dword ptr [EBP + 0x10]
.text:0040913f 2bca SUB ECX,EDX
.text:00409141 8955f4 MOV dword ptr [EBP + -0xc],EDX
.text:00409144 3845ff CMP byte ptr [EBP + -0x1],AL
.text:00409147 894df8 MOV dword ptr [EBP + -0x8],ECX
.text:0040914a 0f94c0 SETZ AL
.text:0040914d 48 DEC EAX
.text:0040914e 2580030000 AND EAX,0x380
.text:00409153 83c07f ADD EAX,0x7f
.text:00409156 8945ec MOV dword ptr [EBP + -0x14],EAX
.text:00409159 3bc8 CMP ECX,EAX
.text:0040915b 8b451c MOV EAX,dword ptr [EBP + 0x1c]
.text:0040915e 0f8f72020000 JG LAB_004093d6
.text:00409164 33c0 XOR EAX,EAX
.text:00409166 3845ff CMP byte ptr [EBP + -0x1],AL
.text:00409169 0f94c0 SETZ AL
.text:0040916c 48 DEC EAX
.text:0040916d 2580fcffff AND EAX,0xfffffc80
.text:00409172 83c082 ADD EAX,-0x7e
.text:00409175 3bc8 CMP ECX,EAX
.text:00409177 0f8d3f010000 JGE LAB_004092bc
.text:0040917d 8b45ec MOV EAX,dword ptr [EBP + -0x14]
.text:00409180 8bc8 MOV ECX,EAX
.text:00409182 8b5510 MOV EDX,dword ptr [EBP + 0x10]
.text:00409185 f7d9 NEG ECX
.text:00409187 4a DEC EDX
.text:00409188 894df8 MOV dword ptr [EBP + -0x8],ECX
.text:0040918b 03d0 ADD EDX,EAX
.text:0040918d 8955ec MOV dword ptr [EBP + -0x14],EDX
.text:00409190 85d2 TEST EDX,EDX
.text:00409192 0f891c010000 JNS LAB_004092b4
.text:00409198 8bc2 MOV EAX,EDX
.text:0040919a f7d8 NEG EAX
.text:0040919c 8945f0 MOV dword ptr [EBP + -0x10],EAX
.text:0040919f 83f840 CMP EAX,0x40
.text:004091a2 0f83f8000000 JNC LAB_004092a0
.text:004091a8 8d48ff LEA ECX,[EAX + -0x1]
.text:004091ab 33d2 XOR EDX,EDX
.text:004091ad 33c0 XOR EAX,EAX
.text:004091af 40 INC EAX
.text:004091b0 e8db150100 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:004091b5 8b4df0 MOV ECX,dword ptr [EBP + -0x10]
.text:004091b8 8945e8 MOV dword ptr [EBP + -0x18],EAX
.text:004091bb 83c0ff ADD EAX,-0x1
.text:004091be 8955e4 MOV dword ptr [EBP + -0x1c],EDX
.text:004091c1 83d2ff ADC EDX,-0x1
.text:004091c4 8945e0 MOV dword ptr [EBP + -0x20],EAX
.text:004091c7 33c0 XOR EAX,EAX
.text:004091c9 8955dc MOV dword ptr [EBP + -0x24],EDX
.text:004091cc 40 INC EAX
.text:004091cd 33d2 XOR EDX,EDX
.text:004091cf e8bc150100 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:004091d4 23c7 AND EAX,EDI
.text:004091d6 c645fd01 MOV byte ptr [EBP + -0x3],0x1
.text:004091da 23d6 AND EDX,ESI
.text:004091dc 0bc2 OR EAX,EDX
.text:004091de 7503 JNZ LAB_004091e3
.text:004091e0 885dfd MOV byte ptr [EBP + -0x3],BL
LAB_004091e3: ;XREF[1,0]: 004091de
.text:004091e3 8b45e8 MOV EAX,dword ptr [EBP + -0x18]
.text:004091e6 8b4de4 MOV ECX,dword ptr [EBP + -0x1c]
.text:004091e9 23c7 AND EAX,EDI
.text:004091eb 23ce AND ECX,ESI
.text:004091ed 0bc1 OR EAX,ECX
.text:004091ef 7407 JZ LAB_004091f8
.text:004091f1 b101 MOV CL,0x1
.text:004091f3 884dff MOV byte ptr [EBP + -0x1],CL
.text:004091f6 eb05 JMP LAB_004091fd
LAB_004091f8: ;XREF[1,0]: 004091ef
.text:004091f8 8acb MOV CL,BL
.text:004091fa 885dff MOV byte ptr [EBP + -0x1],BL
LAB_004091fd: ;XREF[1,0]: 004091f6
.text:004091fd 385d18 CMP byte ptr [EBP + 0x18],BL
.text:00409200 7415 JZ LAB_00409217
.text:00409202 8b45e0 MOV EAX,dword ptr [EBP + -0x20]
.text:00409205 8b55dc MOV EDX,dword ptr [EBP + -0x24]
.text:00409208 23c7 AND EAX,EDI
.text:0040920a 23d6 AND EDX,ESI
.text:0040920c 0bc2 OR EAX,EDX
.text:0040920e 7507 JNZ LAB_00409217
.text:00409210 8ac3 MOV AL,BL
.text:00409212 885dfe MOV byte ptr [EBP + -0x2],BL
.text:00409215 eb05 JMP LAB_0040921c
LAB_00409217: ;XREF[2,0]: 00409200,0040920e
.text:00409217 b001 MOV AL,0x1
.text:00409219 8845fe MOV byte ptr [EBP + -0x2],AL
LAB_0040921c: ;XREF[1,0]: 00409215
.text:0040921c 84c9 TEST CL,CL
.text:0040921e 7504 JNZ LAB_00409224
.text:00409220 84c0 TEST AL,AL
.text:00409222 7435 JZ LAB_00409259
LAB_00409224: ;XREF[1,0]: 0040921e
.text:00409224 e82b780000 CALL _fegetround ;undefined _fegetround(void)
.text:00409229 85c0 TEST EAX,EAX
.text:0040922b 741b JZ LAB_00409248
.text:0040922d 3d00010000 CMP EAX,0x100
.text:00409232 740f JZ LAB_00409243
.text:00409234 3d00020000 CMP EAX,0x200
.text:00409239 751e JNZ LAB_00409259
.text:0040923b 8a5d14 MOV BL,byte ptr [EBP + 0x14]
.text:0040923e 80f301 XOR BL,0x1
.text:00409241 eb16 JMP LAB_00409259
LAB_00409243: ;XREF[1,0]: 00409232
.text:00409243 8a5d14 MOV BL,byte ptr [EBP + 0x14]
.text:00409246 eb11 JMP LAB_00409259
LAB_00409248: ;XREF[1,0]: 0040922b
.text:00409248 385dff CMP byte ptr [EBP + -0x1],BL
.text:0040924b 740c JZ LAB_00409259
.text:0040924d 385dfe CMP byte ptr [EBP + -0x2],BL
.text:00409250 7505 JNZ LAB_00409257
.text:00409252 385dfd CMP byte ptr [EBP + -0x3],BL
.text:00409255 7402 JZ LAB_00409259
LAB_00409257: ;XREF[1,0]: 00409250
.text:00409257 b301 MOV BL,0x1
LAB_00409259: ;XREF[6,0]: 00409222,00409239,00409241,00409246
; 0040924b,00409255
.text:00409259 8b4df0 MOV ECX,dword ptr [EBP + -0x10]
.text:0040925c 8bc7 MOV EAX,EDI
.text:0040925e 8bd6 MOV EDX,ESI
.text:00409260 e84b150100 CALL __aullshr ;ulonglong __aullshr(byte param_1, ui...
.text:00409265 8bf8 MOV EDI,EAX
.text:00409267 8bf2 MOV ESI,EDX
.text:00409269 0fb6c3 MOVZX EAX,BL
.text:0040926c 99 CDQ
.text:0040926d 03f8 ADD EDI,EAX
.text:0040926f 8bc7 MOV EAX,EDI
.text:00409271 13f2 ADC ESI,EDX
.text:00409273 0bc6 OR EAX,ESI
.text:00409275 7429 JZ LAB_004092a0
.text:00409277 8b4d1c MOV ECX,dword ptr [EBP + 0x1c]
.text:0040927a e8d2210000 CALL FUN_0040b451 ;undefined8 FUN_0040b451(int param_1)
.text:0040927f 3bf2 CMP ESI,EDX
.text:00409281 0f8274010000 JC LAB_004093fb
.text:00409287 7708 JA LAB_00409291
.text:00409289 3bf8 CMP EDI,EAX
.text:0040928b 0f866a010000 JBE LAB_004093fb
LAB_00409291: ;XREF[1,0]: 00409287
.text:00409291 8b5d10 MOV EBX,dword ptr [EBP + 0x10]
.text:00409294 2b5dec SUB EBX,dword ptr [EBP + -0x14]
.text:00409297 2b5df4 SUB EBX,dword ptr [EBP + -0xc]
.text:0040929a 4b DEC EBX
.text:0040929b e95e010000 JMP LAB_004093fe
LAB_004092a0: ;XREF[2,0]: 004091a2,00409275
.text:004092a0 ff751c PUSH dword ptr [EBP + 0x1c]
.text:004092a3 ff7514 PUSH dword ptr [EBP + 0x14]
.text:004092a6 e825030000 CALL __crt_strtox::assemble_floating_point...;void assemble_floating_point_zero(bo...
.text:004092ab 59 POP ECX
.text:004092ac 59 POP ECX
.text:004092ad 6a02 PUSH 0x2
.text:004092af e92f010000 JMP LAB_004093e3
LAB_004092b4: ;XREF[1,0]: 00409192
.text:004092b4 8b4dec MOV ECX,dword ptr [EBP + -0x14]
.text:004092b7 e932010000 JMP LAB_004093ee
LAB_004092bc: ;XREF[1,0]: 00409177
.text:004092bc 85d2 TEST EDX,EDX
.text:004092be 0f8925010000 JNS LAB_004093e9
.text:004092c4 f7da NEG EDX
.text:004092c6 8955f4 MOV dword ptr [EBP + -0xc],EDX
.text:004092c9 83fa40 CMP EDX,0x40
.text:004092cc 7209 JC LAB_004092d7
.text:004092ce 8bfb MOV EDI,EBX
.text:004092d0 8bf3 MOV ESI,EBX
.text:004092d2 e9c9000000 JMP LAB_004093a0
LAB_004092d7: ;XREF[1,0]: 004092cc
.text:004092d7 33c0 XOR EAX,EAX
.text:004092d9 8d4aff LEA ECX,[EDX + -0x1]
.text:004092dc 40 INC EAX
.text:004092dd 33d2 XOR EDX,EDX
.text:004092df e8ac140100 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:004092e4 8b4df4 MOV ECX,dword ptr [EBP + -0xc]
.text:004092e7 8945dc MOV dword ptr [EBP + -0x24],EAX
.text:004092ea 83c0ff ADD EAX,-0x1
.text:004092ed 8955e0 MOV dword ptr [EBP + -0x20],EDX
.text:004092f0 83d2ff ADC EDX,-0x1
.text:004092f3 8945e4 MOV dword ptr [EBP + -0x1c],EAX
.text:004092f6 33c0 XOR EAX,EAX
.text:004092f8 8955e8 MOV dword ptr [EBP + -0x18],EDX
.text:004092fb 40 INC EAX
.text:004092fc 33d2 XOR EDX,EDX
.text:004092fe e88d140100 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:00409303 23c7 AND EAX,EDI
.text:00409305 c645ff01 MOV byte ptr [EBP + -0x1],0x1
.text:00409309 23d6 AND EDX,ESI
.text:0040930b 0bc2 OR EAX,EDX
.text:0040930d 7503 JNZ LAB_00409312
.text:0040930f 885dff MOV byte ptr [EBP + -0x1],BL
LAB_00409312: ;XREF[1,0]: 0040930d
.text:00409312 8b45dc MOV EAX,dword ptr [EBP + -0x24]
.text:00409315 8b4de0 MOV ECX,dword ptr [EBP + -0x20]
.text:00409318 23c7 AND EAX,EDI
.text:0040931a 23ce AND ECX,ESI
.text:0040931c 0bc1 OR EAX,ECX
.text:0040931e 7407 JZ LAB_00409327
.text:00409320 b101 MOV CL,0x1
.text:00409322 884dfd MOV byte ptr [EBP + -0x3],CL
.text:00409325 eb05 JMP LAB_0040932c
LAB_00409327: ;XREF[1,0]: 0040931e
.text:00409327 8acb MOV CL,BL
.text:00409329 885dfd MOV byte ptr [EBP + -0x3],BL
LAB_0040932c: ;XREF[1,0]: 00409325
.text:0040932c 385d18 CMP byte ptr [EBP + 0x18],BL
.text:0040932f 7415 JZ LAB_00409346
.text:00409331 8b45e4 MOV EAX,dword ptr [EBP + -0x1c]
.text:00409334 8b55e8 MOV EDX,dword ptr [EBP + -0x18]
.text:00409337 23c7 AND EAX,EDI
.text:00409339 23d6 AND EDX,ESI
.text:0040933b 0bc2 OR EAX,EDX
.text:0040933d 7507 JNZ LAB_00409346
.text:0040933f 8ac3 MOV AL,BL
.text:00409341 885dfe MOV byte ptr [EBP + -0x2],BL
.text:00409344 eb05 JMP LAB_0040934b
LAB_00409346: ;XREF[2,0]: 0040932f,0040933d
.text:00409346 b001 MOV AL,0x1
.text:00409348 8845fe MOV byte ptr [EBP + -0x2],AL
LAB_0040934b: ;XREF[1,0]: 00409344
.text:0040934b 84c9 TEST CL,CL
.text:0040934d 7504 JNZ LAB_00409353
.text:0040934f 84c0 TEST AL,AL
.text:00409351 7435 JZ LAB_00409388
LAB_00409353: ;XREF[1,0]: 0040934d
.text:00409353 e8fc760000 CALL _fegetround ;undefined _fegetround(void)
.text:00409358 85c0 TEST EAX,EAX
.text:0040935a 741b JZ LAB_00409377
.text:0040935c 3d00010000 CMP EAX,0x100
.text:00409361 740f JZ LAB_00409372
.text:00409363 3d00020000 CMP EAX,0x200
.text:00409368 751e JNZ LAB_00409388
.text:0040936a 8a5d14 MOV BL,byte ptr [EBP + 0x14]
.text:0040936d 80f301 XOR BL,0x1
.text:00409370 eb16 JMP LAB_00409388
LAB_00409372: ;XREF[1,0]: 00409361
.text:00409372 8a5d14 MOV BL,byte ptr [EBP + 0x14]
.text:00409375 eb11 JMP LAB_00409388
LAB_00409377: ;XREF[1,0]: 0040935a
.text:00409377 385dfd CMP byte ptr [EBP + -0x3],BL
.text:0040937a 740c JZ LAB_00409388
.text:0040937c 385dfe CMP byte ptr [EBP + -0x2],BL
.text:0040937f 7505 JNZ LAB_00409386
.text:00409381 385dff CMP byte ptr [EBP + -0x1],BL
.text:00409384 7402 JZ LAB_00409388
LAB_00409386: ;XREF[1,0]: 0040937f
.text:00409386 b301 MOV BL,0x1
LAB_00409388: ;XREF[6,0]: 00409351,00409368,00409370,00409375
; 0040937a,00409384
.text:00409388 8b4df4 MOV ECX,dword ptr [EBP + -0xc]
.text:0040938b 8bc7 MOV EAX,EDI
.text:0040938d 8bd6 MOV EDX,ESI
.text:0040938f e81c140100 CALL __aullshr ;ulonglong __aullshr(byte param_1, ui...
.text:00409394 8bf8 MOV EDI,EAX
.text:00409396 8bf2 MOV ESI,EDX
.text:00409398 0fb6c3 MOVZX EAX,BL
.text:0040939b 99 CDQ
.text:0040939c 03f8 ADD EDI,EAX
.text:0040939e 13f2 ADC ESI,EDX
LAB_004093a0: ;XREF[1,0]: 004092d2
.text:004093a0 8b4d1c MOV ECX,dword ptr [EBP + 0x1c]
.text:004093a3 e8ed260000 CALL FUN_0040ba95 ;undefined8 FUN_0040ba95(int param_1)
.text:004093a8 3bf2 CMP ESI,EDX
.text:004093aa 724f JC LAB_004093fb
.text:004093ac 7704 JA LAB_004093b2
.text:004093ae 3bf8 CMP EDI,EAX
.text:004093b0 7649 JBE LAB_004093fb
LAB_004093b2: ;XREF[1,0]: 004093ac
.text:004093b2 8b4d1c MOV ECX,dword ptr [EBP + 0x1c]
.text:004093b5 33c0 XOR EAX,EAX
.text:004093b7 8b5df8 MOV EBX,dword ptr [EBP + -0x8]
.text:004093ba 0facf701 SHRD EDI,ESI,0x1
.text:004093be d1ee SHR ESI,0x1
.text:004093c0 43 INC EBX
.text:004093c1 384104 CMP byte ptr [ECX + 0x4],AL
.text:004093c4 0f94c0 SETZ AL
.text:004093c7 48 DEC EAX
.text:004093c8 2580030000 AND EAX,0x380
.text:004093cd 83c07f ADD EAX,0x7f
.text:004093d0 3bd8 CMP EBX,EAX
.text:004093d2 7e2a JLE LAB_004093fe
.text:004093d4 8bc1 MOV EAX,ECX
LAB_004093d6: ;XREF[1,0]: 0040915e
.text:004093d6 50 PUSH EAX
.text:004093d7 ff7514 PUSH dword ptr [EBP + 0x14]
.text:004093da e8c6fcffff CALL __crt_strtox::assemble_floating_point...;void assemble_floating_point_infinit...
.text:004093df 59 POP ECX
.text:004093e0 59 POP ECX
.text:004093e1 6a03 PUSH 0x3
LAB_004093e3: ;XREF[1,0]: 004092af
.text:004093e3 58 POP EAX
LAB_004093e4: ;XREF[1,0]: 0040943c
.text:004093e4 5f POP EDI
.text:004093e5 5e POP ESI
.text:004093e6 5b POP EBX
.text:004093e7 c9 LEAVE
.text:004093e8 c3 RET
LAB_004093e9: ;XREF[1,0]: 004092be
.text:004093e9 7e10 JLE LAB_004093fb
.text:004093eb 8b4df4 MOV ECX,dword ptr [EBP + -0xc]
LAB_004093ee: ;XREF[1,0]: 004092b7
.text:004093ee 8bd6 MOV EDX,ESI
.text:004093f0 8bc7 MOV EAX,EDI
.text:004093f2 e899130100 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:004093f7 8bf2 MOV ESI,EDX
.text:004093f9 8bf8 MOV EDI,EAX
LAB_004093fb: ;XREF[5,0]: 00409281,0040928b,004093aa,004093b0
; 004093e9
.text:004093fb 8b5df8 MOV EBX,dword ptr [EBP + -0x8]
LAB_004093fe: ;XREF[2,0]: 0040929b,004093d2
.text:004093fe 8b4d1c MOV ECX,dword ptr [EBP + 0x1c]
.text:00409401 e84b200000 CALL FUN_0040b451 ;undefined8 FUN_0040b451(int param_1)
.text:00409406 23f8 AND EDI,EAX
.text:00409408 23f2 AND ESI,EDX
.text:0040940a 8b451c MOV EAX,dword ptr [EBP + 0x1c]
.text:0040940d 8bc8 MOV ECX,EAX
.text:0040940f 80780400 CMP byte ptr [EAX + 0x4],0x0
.text:00409413 7413 JZ LAB_00409428
.text:00409415 e841fcffff CALL __crt_strtox::floating_point_value::a...;double * as_double(floating_point_va...
.text:0040941a 50 PUSH EAX
.text:0040941b 56 PUSH ESI
.text:0040941c 57 PUSH EDI
.text:0040941d 53 PUSH EBX
.text:0040941e ff7514 PUSH dword ptr [EBP + 0x14]
.text:00409421 e845d5ffff CALL __crt_strtox::assemble_floating_point...;SLD_STATUS assemble_floating_point_v...
.text:00409426 eb11 JMP LAB_00409439
LAB_00409428: ;XREF[1,0]: 00409413
.text:00409428 e853fcffff CALL __crt_strtox::floating_point_value::a...;float * as_float(floating_point_valu...
.text:0040942d 50 PUSH EAX
.text:0040942e 56 PUSH ESI
.text:0040942f 57 PUSH EDI
.text:00409430 53 PUSH EBX
.text:00409431 ff7514 PUSH dword ptr [EBP + 0x14]
.text:00409434 e802d5ffff CALL __crt_strtox::assemble_floating_point...;SLD_STATUS assemble_floating_point_v...
LAB_00409439: ;XREF[1,0]: 00409426
.text:00409439 83c414 ADD ESP,0x14
.text:0040943c eba6 JMP LAB_004093e4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040943e(uint * param_1, uint param_2, bool param_3, byte param_4, floating_point_value * param_5)
;param_1 uint * 4 ;XREF[4,0]: 00409463,004094b2,00409557,00409594
;param_2 uint 8 ;XREF[1,0]: 0040944e
;param_3 bool c ;XREF[3,0]: 00409486,004094ff,004095bb
;param_4 byte 10 ;XREF[3,0]: 0040947c,004094d6,0040957d
;param_5 floating_po... 14 ;XREF[2,0]: 00409449,004095b5
;local_8 undefined4 -8 ;XREF[5,0]: 00409516,00409519,0040951c,00409542,00409566
;local_c undefined4 -c ;XREF[8,0]: 004094af,004094c4,00409524,0040953f,00409554
; 00409570,00409578,004095af
;local_10 undefined4 -10 ;XREF[9,0]: 004094bf,004094d3,00409505,00409531,00409547
; 0040955a,00409575,00409581,004095b2
;local_14 undefined4 -14 ;XREF[10,0]: 004094a0,004094ab,004094dc,004094f8,004094fc
; 0040950e,0040953c,0040958d,004095a7,004095b8
;local_18 undefined4 -18 ;XREF[2,0]: 00409529,0040955f
;local_1c undefined4 -1c ;XREF[5,0]: 004094b9,004094cd,00409502,0040954a,00409586
;local_20 undefined4 -20 ;XREF[2,0]: 0040952c,004095be
;XREF[1,0]: 0040b394
.text:0040943e 8bff MOV EDI,EDI
.text:00409440 55 PUSH EBP
.text:00409441 8bec MOV EBP,ESP
.text:00409443 83ec1c SUB ESP,0x1c
.text:00409446 33d2 XOR EDX,EDX
.text:00409448 53 PUSH EBX
.text:00409449 8b5d18 MOV EBX,dword ptr [EBP + param_5+0x4]
.text:0040944c 56 PUSH ESI
.text:0040944d 57 PUSH EDI
.text:0040944e 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00409451 385304 CMP byte ptr [EBX + 0x4],DL
.text:00409454 0f94c2 SETZ DL
.text:00409457 4a DEC EDX
.text:00409458 83e21d AND EDX,0x1d
.text:0040945b 83c217 ADD EDX,0x17
.text:0040945e 83ff40 CMP EDI,0x40
.text:00409461 7735 JA LAB_00409498
.text:00409463 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00409466 833e00 CMP dword ptr [ESI],0x0
.text:00409469 760d JBE LAB_00409478
.text:0040946b 833e01 CMP dword ptr [ESI],0x1
.text:0040946e 8b4e04 MOV ECX,dword ptr [ESI + 0x4]
.text:00409471 7607 JBE LAB_0040947a
.text:00409473 8b7608 MOV ESI,dword ptr [ESI + 0x8]
.text:00409476 eb04 JMP LAB_0040947c
LAB_00409478: ;XREF[1,0]: 00409469
.text:00409478 33c9 XOR ECX,ECX
LAB_0040947a: ;XREF[1,0]: 00409471
.text:0040947a 33f6 XOR ESI,ESI
LAB_0040947c: ;XREF[1,0]: 00409476
.text:0040947c 8a4514 MOV AL,byte ptr [EBP + param_4+0x4]
.text:0040947f 3401 XOR AL,0x1
.text:00409481 53 PUSH EBX
.text:00409482 0fb6c0 MOVZX EAX,AL
.text:00409485 50 PUSH EAX
.text:00409486 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00409489 33c0 XOR EAX,EAX
.text:0040948b 03c1 ADD EAX,ECX
.text:0040948d 52 PUSH EDX
.text:0040948e 83d600 ADC ESI,0x0
.text:00409491 56 PUSH ESI
.text:00409492 50 PUSH EAX
.text:00409493 e92b010000 JMP LAB_004095c3
LAB_00409498: ;XREF[1,0]: 00409461
.text:00409498 8bc7 MOV EAX,EDI
.text:0040949a c1ef05 SHR EDI,0x5
.text:0040949d 83e01f AND EAX,0x1f
.text:004094a0 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:004094a3 8d77fe LEA ESI,[EDI + -0x2]
.text:004094a6 8bc6 MOV EAX,ESI
.text:004094a8 c1e005 SHL EAX,0x5
.text:004094ab 837df000 CMP dword ptr [EBP + local_14+0x4],0x0
.text:004094af 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:004094b2 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004094b5 8b4cb004 MOV ECX,dword ptr [EAX + ESI*0x4 + 0x4]
.text:004094b9 894de8 MOV dword ptr [EBP + local_1c+0x4],ECX
.text:004094bc 8b0cb8 MOV ECX,dword ptr [EAX + EDI*0x4]
.text:004094bf 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:004094c2 754a JNZ LAB_0040950e
.text:004094c4 0355f8 ADD EDX,dword ptr [EBP + local_c+0x4]
.text:004094c7 33ff XOR EDI,EDI
.text:004094c9 037cb004 ADD EDI,dword ptr [EAX + ESI*0x4 + 0x4]
.text:004094cd 8955e8 MOV dword ptr [EBP + local_1c+0x4],EDX
.text:004094d0 83d100 ADC ECX,0x0
.text:004094d3 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:004094d6 8a4d14 MOV CL,byte ptr [EBP + param_4+0x4]
.text:004094d9 80f101 XOR CL,0x1
.text:004094dc 884df0 MOV byte ptr [EBP + local_14+0x4],CL
.text:004094df 85f6 TEST ESI,ESI
.text:004094e1 7418 JZ LAB_004094fb
.text:004094e3 8d5004 LEA EDX,[EAX + 0x4]
LAB_004094e6: ;XREF[1,0]: 004094f6
.text:004094e6 833a00 CMP dword ptr [EDX],0x0
.text:004094e9 8d5204 LEA EDX,[EDX + 0x4]
.text:004094ec 0f95c0 SETNZ AL
.text:004094ef fec8 DEC AL
.text:004094f1 22c8 AND CL,AL
.text:004094f3 83ee01 SUB ESI,0x1
.text:004094f6 75ee JNZ LAB_004094e6
.text:004094f8 884df0 MOV byte ptr [EBP + local_14+0x4],CL
LAB_004094fb: ;XREF[1,0]: 004094e1
.text:004094fb 53 PUSH EBX
.text:004094fc ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:004094ff ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00409502 ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:00409505 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:00409508 57 PUSH EDI
.text:00409509 e9b5000000 JMP LAB_004095c3
LAB_0040950e: ;XREF[1,0]: 004094c2
.text:0040950e 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00409511 33db XOR EBX,EBX
.text:00409513 8bc8 MOV ECX,EAX
.text:00409515 43 INC EBX
.text:00409516 895dfc MOV dword ptr [EBP + local_8+0x4],EBX
.text:00409519 d365fc SHL dword ptr [EBP + local_8+0x4],CL
.text:0040951c ff4dfc DEC dword ptr [EBP + local_8+0x4]
.text:0040951f 6a40 PUSH 0x40
.text:00409521 59 POP ECX
.text:00409522 2bc8 SUB ECX,EAX
.text:00409524 0345f8 ADD EAX,dword ptr [EBP + local_c+0x4]
.text:00409527 03c2 ADD EAX,EDX
.text:00409529 894dec MOV dword ptr [EBP + local_18+0x4],ECX
.text:0040952c 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:0040952f 33d2 XOR EDX,EDX
.text:00409531 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00409534 8d49e0 LEA ECX,[ECX + -0x20]
.text:00409537 e854120100 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:0040953c 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:0040953f 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00409542 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00409545 f7d0 NOT EAX
.text:00409547 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:0040954a 2345e8 AND EAX,dword ptr [EBP + local_1c+0x4]
.text:0040954d 33d2 XOR EDX,EDX
.text:0040954f e85c120100 CALL __aullshr ;ulonglong __aullshr(byte param_1, ui...
.text:00409554 0145f8 ADD dword ptr [EBP + local_c+0x4],EAX
.text:00409557 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040955a 1155f4 ADC dword ptr [EBP + local_10+0x4],EDX
.text:0040955d 33d2 XOR EDX,EDX
.text:0040955f 8b4dec MOV ECX,dword ptr [EBP + local_18+0x4]
.text:00409562 8b44b804 MOV EAX,dword ptr [EAX + EDI*0x4 + 0x4]
.text:00409566 8b7dfc MOV EDI,dword ptr [EBP + local_8+0x4]
.text:00409569 23c7 AND EAX,EDI
.text:0040956b e820120100 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:00409570 8b4df8 MOV ECX,dword ptr [EBP + local_c+0x4]
.text:00409573 03c8 ADD ECX,EAX
.text:00409575 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00409578 894df8 MOV dword ptr [EBP + local_c+0x4],ECX
.text:0040957b 13c2 ADC EAX,EDX
.text:0040957d 807d1400 CMP byte ptr [EBP + param_4+0x4],0x0
.text:00409581 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00409584 7505 JNZ LAB_0040958b
.text:00409586 857de8 TEST dword ptr [EBP + local_1c+0x4],EDI
.text:00409589 7402 JZ LAB_0040958d
LAB_0040958b: ;XREF[1,0]: 00409584
.text:0040958b 32db XOR BL,BL
LAB_0040958d: ;XREF[1,0]: 00409589
.text:0040958d 885df0 MOV byte ptr [EBP + local_14+0x4],BL
.text:00409590 85f6 TEST ESI,ESI
.text:00409592 7421 JZ LAB_004095b5
.text:00409594 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00409597 83c104 ADD ECX,0x4
LAB_0040959a: ;XREF[1,0]: 004095ad
.text:0040959a 833900 CMP dword ptr [ECX],0x0
.text:0040959d 8d4904 LEA ECX,[ECX + 0x4]
.text:004095a0 0f95c0 SETNZ AL
.text:004095a3 fec8 DEC AL
.text:004095a5 22d8 AND BL,AL
.text:004095a7 885df0 MOV byte ptr [EBP + local_14+0x4],BL
.text:004095aa 83ee01 SUB ESI,0x1
.text:004095ad 75eb JNZ LAB_0040959a
.text:004095af 8b4df8 MOV ECX,dword ptr [EBP + local_c+0x4]
.text:004095b2 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
LAB_004095b5: ;XREF[1,0]: 00409592
.text:004095b5 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:004095b8 ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:004095bb ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004095be ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:004095c1 50 PUSH EAX
.text:004095c2 51 PUSH ECX
LAB_004095c3: ;XREF[2,0]: 00409493,00409509
.text:004095c3 e81dfbffff CALL FUN_004090e5 ;SLD_STATUS FUN_004090e5(uint param_1...
.text:004095c8 83c418 ADD ESP,0x18
.text:004095cb 5f POP EDI
.text:004095cc 5e POP ESI
.text:004095cd 5b POP EBX
.text:004095ce c9 LEAVE
.text:004095cf c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl __crt_strtox::assemble_floating_point_zero(bool,class __crt_strtox::floating_po...*
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;void assemble_floating_point_zero(bool param_1, floating_point_value * param_2)
;param_1 bool 4 ;XREF[2,0]: 004095e5,004095fa
;param_2 floating_po... 8 ;XREF[1,0]: 004095d5
;XREF[2,0]: 004092a6,0040ae9a
.text:004095d0 8bff MOV EDI,EDI
.text:004095d2 55 PUSH EBP
.text:004095d3 8bec MOV EBP,ESP
.text:004095d5 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:004095d8 80790400 CMP byte ptr [ECX + 0x4],0x0
.text:004095dc 7417 JZ LAB_004095f5
.text:004095de e878faffff CALL __crt_strtox::floating_point_value::a...;double * as_double(floating_point_va...
.text:004095e3 8bc8 MOV ECX,EAX
.text:004095e5 0fb64508 MOVZX EAX,byte ptr [EBP + param_1+0x4]
.text:004095e9 99 CDQ
.text:004095ea c1e01f SHL EAX,0x1f
.text:004095ed 832100 AND dword ptr [ECX],0x0
.text:004095f0 894104 MOV dword ptr [ECX + 0x4],EAX
.text:004095f3 5d POP EBP
.text:004095f4 c3 RET
LAB_004095f5: ;XREF[1,0]: 004095dc
.text:004095f5 e886faffff CALL __crt_strtox::floating_point_value::a...;float * as_float(floating_point_valu...
.text:004095fa 0fb64d08 MOVZX ECX,byte ptr [EBP + param_1+0x4]
.text:004095fe c1e11f SHL ECX,0x1f
.text:00409601 8908 MOV dword ptr [EAX],ECX
.text:00409603 5d POP EBP
.text:00409604 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00409605(uint * param_1, floating_point_value * param_2)
;param_1 uint * 4 ;XREF[1,0]: 0040961f
;param_2 floating_po... 8 ;XREF[1,0]: 0040961a
;local_8 undefined4 -8 ;XREF[1,0]: 00409617
;local_1d0 undefined4 -1d0 ;XREF[16,0]: 004096c4,004096cf,0040974d,004098dc,004098e5
; 004099d5,004099de,00409c77,00409c80,00409cdc
; 00409e61,00409e6a,00409f5a,00409f63,0040a201
; 0040a20a
;local_1d4 undefined4 -1d4 ;XREF[27,0]: 00409721,00409799,004098a2,0040992b,00409966
; 00409982,00409a1f,00409a2f,00409a67,00409acb
; 00409ad4,00409b9e,00409c15,00409c44,00409d36
; 00409e27,00409eb0,00409eeb,00409f07,00409fa4
; 00409fb4,00409fec,0040a05e,0040a10c,0040a182
; 0040a1bd,0040a260
;local_1d8 undefined4 -1d8 ;XREF[56,0]: 00409692,004096ea,004096fc,00409703,00409714
; 00409735,00409754,00409773,0040977a,0040978f
; 004097aa,00409890,004098b1,004098fa,0040990c
; 00409919,0040993d,00409948,00409971,0040999f
; 004099b2,004099f7,00409b8d,00409bb1,00409c0b
; 00409c26,00409c56,00409c91,00409cab,00409cb8
; 00409ce8,00409d0a,00409d17,00409d2c,00409d47
; 00409e15,00409e36,00409e7f,00409e91,00409e9e
; 00409ec2,00409ecd,00409ef6,00409f24,00409f37
; 00409f7c,0040a0fb,0040a122,0040a17a,0040a196
; 0040a1b0,0040a1df,0040a223,0040a235,0040a242
; 0040a252
;local_740 undefined4 -740 ;XREF[7,0]: 00409b1e,00409b39,00409b42,00409b53,0040a09c
; 0040a0b1,0040a0cc
;local_744 undefined1 -744 ;XREF[5,0]: 00409896,00409b18,00409b97,0040a096,0040a105
;local_748 undefined4 -748 ;XREF[13,0]: 0040988a,00409a59,00409a80,00409abf,00409aee
; 00409b3c,00409b5f,00409fde,0040a005,0040a049
; 0040a077,0040a0b4,0040a0ce
;local_914 undefined4 -914 ;XREF[16,0]: 0040971a,00409789,00409831,0040985b,0040987d
; 00409923,0040997b,004099a5,00409a14,00409a3f
; 00409db6,00409de0,00409e02,00409f00,00409f99
; 00409fc4
;local_918 undefined4 -918 ;XREF[8,0]: 0040970e,00409782,0040982b,00409869,00409931
; 00409999,00409db0,00409dee
;local_91c undefined4 -91c ;XREF[27,0]: 00409684,004097df,004098b7,004098bf,00409913
; 00409953,004099b9,00409b21,00409b46,00409b67
; 00409bba,00409c2f,00409cb2,00409cc0,00409cee
; 00409d11,00409d50,00409d5c,00409e3c,00409e44
; 00409e98,00409ed8,00409f3e,0040a128,0040a19c
; 0040a23c,0040a297
;local_920 undefined4 -920 ;XREF[12,0]: 00409a8b,00409ae1,00409af7,00409b0f,00409b4d
; 00409b57,0040a01a,0040a061,0040a081,0040a0ba
; 0040a0c2,0040a0d4
;local_924 undefined4 -924 ;XREF[8,0]: 00409698,0040973b,004097c1,00409cc6,0040a014
; 0040a02d,0040a071,0040a088
;local_928 undefined4 -928 ;XREF[6,0]: 0040981e,00409845,00409bca,00409faa,0040a058
; 0040a0ec
;local_92c undefined4 -92c ;XREF[3,0]: 00409a94,00409afd,00409b05
;local_930 undefined4 -930 ;XREF[6,0]: 004097f6,00409bc4,00409bd0,00409fbc,00409fca
; 0040a04f
;local_934 undefined4 -934 ;XREF[3,0]: 0040965f,00409d66,0040a151
;local_938 undefined4 -938 ;XREF[4,0]: 00409a51,00409b78,00409fd6,0040a0e6
;local_93c undefined4 -93c ;XREF[6,0]: 00409a25,00409ace,00409b7e,00409da3,00409dca
; 0040a13c
;local_940 undefined4 -940 ;XREF[10,0]: 00409668,004096e0,004097c7,00409a37,00409a45
; 00409ac5,00409d7b,0040a136,0040a142,0040a2bf
;local_944 undefined4 -944 ;XREF[1,0]: 0040968c
;local_948 undefined4 -948 ;XREF[2,0]: 004097d9,00409bdc
;local_94c undefined4 -94c ;XREF[1,0]: 0040a2a8
;local_950 undefined4 -950 ;XREF[2,0]: 0040962c,0040a271
;local_954 undefined4 -954 ;XREF[2,0]: 0040963f,0040a2c5
;local_958 undefined4 -958 ;XREF[2,0]: 00409633,0040a27a
;local_95c undefined4 -95c ;XREF[3,0]: 00409672,0040969e,004097cd
;local_960 undefined4 -960 ;XREF[1,0]: 0040967a
;local_b2c undefined1 -b2c ;XREF[9,0]: 00409c05,00409c3c,00409d26,00409e1b,00409ea8
; 00409f2a,0040a174,0040a1b6,0040a259
;local_b30 undefined4 -b30 ;XREF[10,0]: 00409bfe,00409c4a,00409d1f,00409e0f,00409eb6
; 00409f1e,0040a16e,0040a1aa,0040a1d8,0040a24c
;XREF[2,0]: 00406a79,00406a9a
.text:00409605 8bff MOV EDI,EDI
.text:00409607 55 PUSH EBP
.text:00409608 8bec MOV EBP,ESP
.text:0040960a 81ec2c0b0000 SUB ESP,0xb2c
.text:00409610 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00409615 33c5 XOR EAX,EBP
.text:00409617 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040961a 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040961d 33c0 XOR EAX,EAX
.text:0040961f 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00409622 53 PUSH EBX
.text:00409623 56 PUSH ESI
.text:00409624 384104 CMP byte ptr [ECX + 0x4],AL
.text:00409627 8b1a MOV EBX,dword ptr [EDX]
.text:00409629 0f94c0 SETZ AL
.text:0040962c 8995b4f6ffff MOV dword ptr [EBP + local_950+0x4],EDX
.text:00409632 48 DEC EAX
.text:00409633 898dacf6ffff MOV dword ptr [EBP + local_958+0x4],ECX
.text:00409639 83e01d AND EAX,0x1d
.text:0040963c 83c019 ADD EAX,0x19
.text:0040963f 8985b0f6ffff MOV dword ptr [EBP + local_954+0x4],EAX
.text:00409645 57 PUSH EDI
.text:00409646 85db TEST EBX,EBX
.text:00409648 7902 JNS LAB_0040964c
.text:0040964a 33db XOR EBX,EBX
LAB_0040964c: ;XREF[1,0]: 00409648
.text:0040964c 8b4204 MOV EAX,dword ptr [EDX + 0x4]
.text:0040964f 8bcb MOV ECX,EBX
.text:00409651 3bd8 CMP EBX,EAX
.text:00409653 7202 JC LAB_00409657
.text:00409655 8bc8 MOV ECX,EAX
LAB_00409657: ;XREF[1,0]: 00409653
.text:00409657 2bd9 SUB EBX,ECX
.text:00409659 8d7a08 LEA EDI,[EDX + 0x8]
.text:0040965c 83c008 ADD EAX,0x8
.text:0040965f 899dd0f6ffff MOV dword ptr [EBP + local_934+0x4],EBX
.text:00409665 83c108 ADD ECX,0x8
.text:00409668 89bdc4f6ffff MOV dword ptr [EBP + local_940+0x4],EDI
.text:0040966e 03ca ADD ECX,EDX
.text:00409670 03c2 ADD EAX,EDX
.text:00409672 898da8f6ffff MOV dword ptr [EBP + local_95c+0x4],ECX
.text:00409678 33db XOR EBX,EBX
.text:0040967a 8985a4f6ffff MOV dword ptr [EBP + local_960+0x4],EAX
.text:00409680 33f6 XOR ESI,ESI
.text:00409682 2bc1 SUB EAX,ECX
.text:00409684 899de8f6ffff MOV dword ptr [EBP + local_91c+0x4],EBX
.text:0040968a 33c9 XOR ECX,ECX
.text:0040968c 8985c0f6ffff MOV dword ptr [EBP + local_944+0x4],EAX
.text:00409692 899d2cfeffff MOV dword ptr [EBP + local_1d8+0x4],EBX
.text:00409698 89b5e0f6ffff MOV dword ptr [EBP + local_924+0x4],ESI
.text:0040969e 3bbda8f6ffff CMP EDI,dword ptr [EBP + local_95c+0x4]
.text:004096a4 0f84ae060000 JZ LAB_00409d58
LAB_004096aa: ;XREF[1,0]: 004097d3
.text:004096aa 83f909 CMP ECX,0x9
.text:004096ad 0f8504010000 JNZ LAB_004097b7
.text:004096b3 85db TEST EBX,EBX
.text:004096b5 0f8486000000 JZ LAB_00409741
.text:004096bb 33c9 XOR ECX,ECX
.text:004096bd bf00ca9a3b MOV EDI,0x3b9aca00
.text:004096c2 33f6 XOR ESI,ESI
LAB_004096c4: ;XREF[1,0]: 004096de
.text:004096c4 8b84b530f... MOV EAX,dword ptr [EBP + ESI*0x4 + local_...
.text:004096cb f7e7 MUL EDI
.text:004096cd 03c1 ADD EAX,ECX
.text:004096cf 8984b530f... MOV dword ptr [EBP +...,EAX
.text:004096d6 83d200 ADC EDX,0x0
.text:004096d9 46 INC ESI
.text:004096da 8bca MOV ECX,EDX
.text:004096dc 3bf3 CMP ESI,EBX
.text:004096de 75e4 JNZ LAB_004096c4
.text:004096e0 8bbdc4f6ffff MOV EDI,dword ptr [EBP + local_940+0x4]
.text:004096e6 85c9 TEST ECX,ECX
.text:004096e8 744b JZ LAB_00409735
.text:004096ea 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:004096f0 83f873 CMP EAX,0x73
.text:004096f3 7316 JNC LAB_0040970b
.text:004096f5 898c8530f... MOV dword ptr [EBP +...,ECX
.text:004096fc 8b9d2cfeffff MOV EBX,dword ptr [EBP + local_1d8+0x4]
.text:00409702 43 INC EBX
.text:00409703 899d2cfeffff MOV dword ptr [EBP + local_1d8+0x4],EBX
.text:00409709 eb30 JMP LAB_0040973b
LAB_0040970b: ;XREF[1,0]: 004096f3
.text:0040970b 33c0 XOR EAX,EAX
.text:0040970d 50 PUSH EAX
.text:0040970e 8985ecf6ffff MOV dword ptr [EBP + local_918+0x4],EAX
.text:00409714 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:0040971a 8d85f0f6ffff LEA EAX=>local_914,[EBP + 0xfffff6f0]
.text:00409720 50 PUSH EAX
.text:00409721 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:00409727 68cc010000 PUSH 0x1cc
.text:0040972c 50 PUSH EAX
.text:0040972d e8f2320000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00409732 83c410 ADD ESP,0x10
LAB_00409735: ;XREF[1,0]: 004096e8
.text:00409735 8b9d2cfeffff MOV EBX,dword ptr [EBP + local_1d8+0x4]
LAB_0040973b: ;XREF[1,0]: 00409709
.text:0040973b 8bb5e0f6ffff MOV ESI,dword ptr [EBP + local_924+0x4]
LAB_00409741: ;XREF[1,0]: 004096b5
.text:00409741 85f6 TEST ESI,ESI
.text:00409743 746e JZ LAB_004097b3
.text:00409745 33d2 XOR EDX,EDX
.text:00409747 85db TEST EBX,EBX
.text:00409749 741c JZ LAB_00409767
LAB_0040974b: ;XREF[1,0]: 00409761
.text:0040974b 33c0 XOR EAX,EAX
.text:0040974d 01b49530f... ADD dword ptr [EBP +...,ESI
.text:00409754 8b9d2cfeffff MOV EBX,dword ptr [EBP + local_1d8+0x4]
.text:0040975a 13c0 ADC EAX,EAX
.text:0040975c 42 INC EDX
.text:0040975d 8bf0 MOV ESI,EAX
.text:0040975f 3bd3 CMP EDX,EBX
.text:00409761 75e8 JNZ LAB_0040974b
.text:00409763 85c0 TEST EAX,EAX
.text:00409765 744c JZ LAB_004097b3
LAB_00409767: ;XREF[1,0]: 00409749
.text:00409767 83fb73 CMP EBX,0x73
.text:0040976a 7316 JNC LAB_00409782
.text:0040976c 89b49d30f... MOV dword ptr [EBP +...,ESI
.text:00409773 8b9d2cfeffff MOV EBX,dword ptr [EBP + local_1d8+0x4]
.text:00409779 43 INC EBX
.text:0040977a 899d2cfeffff MOV dword ptr [EBP + local_1d8+0x4],EBX
.text:00409780 eb31 JMP LAB_004097b3
LAB_00409782: ;XREF[1,0]: 0040976a
.text:00409782 83a5ecf6f... AND dword ptr [EBP + local_918+0x4],0x0
.text:00409789 8d85f0f6ffff LEA EAX=>local_914,[EBP + 0xfffff6f0]
.text:0040978f 83a52cfef... AND dword ptr [EBP + local_1d8+0x4],0x0
.text:00409796 6a00 PUSH 0x0
.text:00409798 50 PUSH EAX
.text:00409799 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:0040979f 68cc010000 PUSH 0x1cc
.text:004097a4 50 PUSH EAX
.text:004097a5 e87a320000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:004097aa 8b9d2cfeffff MOV EBX,dword ptr [EBP + local_1d8+0x4]
.text:004097b0 83c410 ADD ESP,0x10
LAB_004097b3: ;XREF[3,0]: 00409743,00409765,00409780
.text:004097b3 33f6 XOR ESI,ESI
.text:004097b5 33c9 XOR ECX,ECX
LAB_004097b7: ;XREF[1,0]: 004096ad
.text:004097b7 0fb607 MOVZX EAX,byte ptr [EDI]
.text:004097ba 6bf60a IMUL ESI,ESI,0xa
.text:004097bd 03f0 ADD ESI,EAX
.text:004097bf 41 INC ECX
.text:004097c0 47 INC EDI
.text:004097c1 89b5e0f6ffff MOV dword ptr [EBP + local_924+0x4],ESI
.text:004097c7 89bdc4f6ffff MOV dword ptr [EBP + local_940+0x4],EDI
.text:004097cd 3bbda8f6ffff CMP EDI,dword ptr [EBP + local_95c+0x4]
.text:004097d3 0f85d1feffff JNZ LAB_004096aa
.text:004097d9 898dbcf6ffff MOV dword ptr [EBP + local_948+0x4],ECX
.text:004097df 899de8f6ffff MOV dword ptr [EBP + local_91c+0x4],EBX
.text:004097e5 85c9 TEST ECX,ECX
.text:004097e7 0f846f050000 JZ LAB_00409d5c
.text:004097ed 6a0a PUSH 0xa
.text:004097ef 33d2 XOR EDX,EDX
.text:004097f1 8bc1 MOV EAX,ECX
.text:004097f3 5e POP ESI
.text:004097f4 f7f6 DIV ESI
.text:004097f6 8985d4f6ffff MOV dword ptr [EBP + local_930+0x4],EAX
.text:004097fc 85c0 TEST EAX,EAX
.text:004097fe 0f84de030000 JZ LAB_00409be2
LAB_00409804: ;XREF[1,0]: 00409bd6
.text:00409804 83f826 CMP EAX,0x26
.text:00409807 7603 JBE LAB_0040980c
.text:00409809 6a26 PUSH 0x26
.text:0040980b 58 POP EAX
LAB_0040980c: ;XREF[1,0]: 00409807
; FWD[2,0]: 0041c6ce,0041c766
.text:0040980c 0fb60c85c... MOVZX ECX,byte ptr [EAX*0x4 + 0x41c6ce]=>.r...;= 0Bh
; FWD[2,0]: 0041c6cf,0041c767
.text:00409814 0fb63485c... MOVZX ESI,byte ptr [EAX*0x4 + 0x41c6cf]=>.r...;= 1Dh
.text:0040981c 8bf9 MOV EDI,ECX
.text:0040981e 8985dcf6ffff MOV dword ptr [EBP + local_928+0x4],EAX
.text:00409824 c1e702 SHL EDI,0x2
.text:00409827 57 PUSH EDI
.text:00409828 8d0431 LEA EAX,[ECX + ESI*0x1]
.text:0040982b 8985ecf6ffff MOV dword ptr [EBP + local_918+0x4],EAX
.text:00409831 8d85f0f6ffff LEA EAX=>local_914,[EBP + 0xfffff6f0]
.text:00409837 6a00 PUSH 0x0
.text:00409839 50 PUSH EAX
.text:0040983a e8f18dffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040983f 8bc6 MOV EAX,ESI
.text:00409841 c1e002 SHL EAX,0x2
.text:00409844 50 PUSH EAX
.text:00409845 8b85dcf6ffff MOV EAX,dword ptr [EBP + local_928+0x4]
.text:0040984b 0fb70485c... MOVZX EAX,word ptr [EAX*0x4 + 0x41c6cc]=>.r...;= 0225h
.text:00409853 8d0485c8b... LEA EAX,[EAX*0x4 + 0x41bdc8]=>.rdata:DAT_...
.text:0040985a 50 PUSH EAX=>.rdata:DAT_0041c65c
.text:0040985b 8d85f0f6ffff LEA EAX=>local_914,[EBP + 0xfffff6f0]
.text:00409861 03c7 ADD EAX,EDI
.text:00409863 50 PUSH EAX
.text:00409864 e84798ffff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:00409869 8b85ecf6ffff MOV EAX,dword ptr [EBP + local_918+0x4]
.text:0040986f 33c9 XOR ECX,ECX
.text:00409871 41 INC ECX
.text:00409872 83c418 ADD ESP,0x18
.text:00409875 3bc1 CMP EAX,ECX
.text:00409877 0f87e1000000 JA LAB_0040995e
.text:0040987d 8bbdf0f6ffff MOV EDI,dword ptr [EBP + local_914+0x4]
.text:00409883 85ff TEST EDI,EDI
.text:00409885 7543 JNZ LAB_004098ca
.text:00409887 33c0 XOR EAX,EAX
.text:00409889 50 PUSH EAX
.text:0040988a 8985bcf8ffff MOV dword ptr [EBP + local_748+0x4],EAX
.text:00409890 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:00409896 8d85c0f8ffff LEA EAX=>local_744,[EBP + 0xfffff8c0]
.text:0040989c 50 PUSH EAX
.text:0040989d 68cc010000 PUSH 0x1cc
LAB_004098a2: ;XREF[1,0]: 004099ad
.text:004098a2 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:004098a8 50 PUSH EAX
.text:004098a9 e876310000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:004098ae 83c410 ADD ESP,0x10
LAB_004098b1: ;XREF[2,0]: 004098f8,004099f1
.text:004098b1 8b8d2cfeffff MOV ECX,dword ptr [EBP + local_1d8+0x4]
.text:004098b7 898de8f6ffff MOV dword ptr [EBP + local_91c+0x4],ECX
LAB_004098bd: ;XREF[1,0]: 0040991f
.text:004098bd b001 MOV AL,0x1
LAB_004098bf: ;XREF[4,0]: 004098d0,00409959,004099c1,004099c9
.text:004098bf 8b9de8f6ffff MOV EBX,dword ptr [EBP + local_91c+0x4]
.text:004098c5 e9f6020000 JMP LAB_00409bc0
LAB_004098ca: ;XREF[1,0]: 00409885
.text:004098ca 3bf9 CMP EDI,ECX
.text:004098cc 7504 JNZ LAB_004098d2
LAB_004098ce: ;XREF[1,0]: 004098d4
.text:004098ce 8ac1 MOV AL,CL
.text:004098d0 ebed JMP LAB_004098bf
LAB_004098d2: ;XREF[1,0]: 004098cc
.text:004098d2 85db TEST EBX,EBX
.text:004098d4 74f8 JZ LAB_004098ce
.text:004098d6 33c9 XOR ECX,ECX
.text:004098d8 33f6 XOR ESI,ESI
LAB_004098da: ;XREF[1,0]: 004098f4
.text:004098da 8bc7 MOV EAX,EDI
.text:004098dc f7a4b530f... MUL dword ptr [EBP + ESI*0x4 + local_1d0]
.text:004098e3 03c1 ADD EAX,ECX
.text:004098e5 8984b530f... MOV dword ptr [EBP +...,EAX
.text:004098ec 83d200 ADC EDX,0x0
.text:004098ef 46 INC ESI
.text:004098f0 8bca MOV ECX,EDX
.text:004098f2 3bf3 CMP ESI,EBX
.text:004098f4 75e4 JNZ LAB_004098da
.text:004098f6 85c9 TEST ECX,ECX
.text:004098f8 74b7 JZ LAB_004098b1
.text:004098fa 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:00409900 83f873 CMP EAX,0x73
.text:00409903 731c JNC LAB_00409921
.text:00409905 898c8530f... MOV dword ptr [EBP +...,ECX
LAB_0040990c: ;XREF[1,0]: 00409a0d
.text:0040990c 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:00409912 40 INC EAX
.text:00409913 8985e8f6ffff MOV dword ptr [EBP + local_91c+0x4],EAX
.text:00409919 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:0040991f eb9c JMP LAB_004098bd
LAB_00409921: ;XREF[2,0]: 00409903,00409a00
.text:00409921 33db XOR EBX,EBX
.text:00409923 8d85f0f6ffff LEA EAX=>local_914,[EBP + 0xfffff6f0]
.text:00409929 53 PUSH EBX
.text:0040992a 50 PUSH EAX
.text:0040992b 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:00409931 899decf6ffff MOV dword ptr [EBP + local_918+0x4],EBX
.text:00409937 68cc010000 PUSH 0x1cc
.text:0040993c 50 PUSH EAX
.text:0040993d 899d2cfeffff MOV dword ptr [EBP + local_1d8+0x4],EBX
.text:00409943 e8dc300000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00409948 8b8d2cfeffff MOV ECX,dword ptr [EBP + local_1d8+0x4]
.text:0040994e 83c410 ADD ESP,0x10
.text:00409951 8ac3 MOV AL,BL
.text:00409953 898de8f6ffff MOV dword ptr [EBP + local_91c+0x4],ECX
.text:00409959 e961ffffff JMP LAB_004098bf
LAB_0040995e: ;XREF[1,0]: 00409877
.text:0040995e 3bd9 CMP EBX,ECX
.text:00409960 0f87ac000000 JA LAB_00409a12
.text:00409966 8b9d30feffff MOV EBX,dword ptr [EBP + local_1d4+0x4]
.text:0040996c becc010000 MOV ESI,0x1cc
.text:00409971 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:00409977 c1e002 SHL EAX,0x2
.text:0040997a 50 PUSH EAX
.text:0040997b 8d85f0f6ffff LEA EAX=>local_914,[EBP + 0xfffff6f0]
.text:00409981 50 PUSH EAX
.text:00409982 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:00409988 56 PUSH ESI
.text:00409989 50 PUSH EAX
.text:0040998a e895300000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040998f 83c410 ADD ESP,0x10
.text:00409992 33c0 XOR EAX,EAX
.text:00409994 85db TEST EBX,EBX
.text:00409996 751a JNZ LAB_004099b2
.text:00409998 50 PUSH EAX
.text:00409999 8985ecf6ffff MOV dword ptr [EBP + local_918+0x4],EAX
.text:0040999f 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:004099a5 8d85f0f6ffff LEA EAX=>local_914,[EBP + 0xfffff6f0]
.text:004099ab 50 PUSH EAX
.text:004099ac 56 PUSH ESI
.text:004099ad e9f0feffff JMP LAB_004098a2
LAB_004099b2: ;XREF[1,0]: 00409996
.text:004099b2 8b8d2cfeffff MOV ECX,dword ptr [EBP + local_1d8+0x4]
.text:004099b8 40 INC EAX
.text:004099b9 898de8f6ffff MOV dword ptr [EBP + local_91c+0x4],ECX
.text:004099bf 3bd8 CMP EBX,EAX
.text:004099c1 0f84f8feffff JZ LAB_004098bf
.text:004099c7 85c9 TEST ECX,ECX
.text:004099c9 0f84f0feffff JZ LAB_004098bf
.text:004099cf 33f6 XOR ESI,ESI
.text:004099d1 33ff XOR EDI,EDI
LAB_004099d3: ;XREF[1,0]: 004099ed
.text:004099d3 8bc3 MOV EAX,EBX
.text:004099d5 f7a4bd30f... MUL dword ptr [EBP + EDI*0x4 + local_1d0]
.text:004099dc 03c6 ADD EAX,ESI
.text:004099de 8984bd30f... MOV dword ptr [EBP +...,EAX
.text:004099e5 83d200 ADC EDX,0x0
.text:004099e8 47 INC EDI
.text:004099e9 8bf2 MOV ESI,EDX
.text:004099eb 3bf9 CMP EDI,ECX
.text:004099ed 75e4 JNZ LAB_004099d3
.text:004099ef 85f6 TEST ESI,ESI
.text:004099f1 0f84bafeffff JZ LAB_004098b1
.text:004099f7 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:004099fd 83f873 CMP EAX,0x73
.text:00409a00 0f831bffffff JNC LAB_00409921
.text:00409a06 89b48530f... MOV dword ptr [EBP +...,ESI
.text:00409a0d e9fafeffff JMP LAB_0040990c
LAB_00409a12: ;XREF[1,0]: 00409960
.text:00409a12 3bc3 CMP EAX,EBX
.text:00409a14 8d95f0f6ffff LEA EDX=>local_914,[EBP + 0xfffff6f0]
.text:00409a1a 0f92c1 SETC CL
.text:00409a1d 7206 JC LAB_00409a25
.text:00409a1f 8d9530feffff LEA EDX=>local_1d4,[EBP + 0xfffffe30]
LAB_00409a25: ;XREF[1,0]: 00409a1d
.text:00409a25 8995c8f6ffff MOV dword ptr [EBP + local_93c+0x4],EDX
.text:00409a2b 84c9 TEST CL,CL
.text:00409a2d 7410 JZ LAB_00409a3f
.text:00409a2f 8db530feffff LEA ESI=>local_1d4,[EBP + 0xfffffe30]
.text:00409a35 8bc8 MOV ECX,EAX
.text:00409a37 89b5c4f6ffff MOV dword ptr [EBP + local_940+0x4],ESI
.text:00409a3d eb10 JMP LAB_00409a4f
LAB_00409a3f: ;XREF[1,0]: 00409a2d
.text:00409a3f 8d8df0f6ffff LEA ECX=>local_914,[EBP + 0xfffff6f0]
.text:00409a45 898dc4f6ffff MOV dword ptr [EBP + local_940+0x4],ECX
.text:00409a4b 8bcb MOV ECX,EBX
.text:00409a4d 8bd8 MOV EBX,EAX
LAB_00409a4f: ;XREF[1,0]: 00409a3d
.text:00409a4f 33c0 XOR EAX,EAX
.text:00409a51 898dccf6ffff MOV dword ptr [EBP + local_938+0x4],ECX
.text:00409a57 33ff XOR EDI,EDI
.text:00409a59 8985bcf8ffff MOV dword ptr [EBP + local_748+0x4],EAX
.text:00409a5f 85c9 TEST ECX,ECX
.text:00409a61 0f8426010000 JZ LAB_00409b8d
LAB_00409a67: ;XREF[1,0]: 00409b87
.text:00409a67 833cba00 CMP dword ptr [EDX + EDI*0x4]=>local_1d4,0x0
.text:00409a6b 751e JNZ LAB_00409a8b
.text:00409a6d 3bf8 CMP EDI,EAX
.text:00409a6f 0f850f010000 JNZ LAB_00409b84
.text:00409a75 83a4bdc0f... AND dword ptr [EBP +...,0x0
.text:00409a7d 8d4701 LEA EAX,[EDI + 0x1]
.text:00409a80 8985bcf8ffff MOV dword ptr [EBP + local_748+0x4],EAX
.text:00409a86 e9f9000000 JMP LAB_00409b84
LAB_00409a8b: ;XREF[1,0]: 00409a6b
.text:00409a8b 83a5e4f6f... AND dword ptr [EBP + local_920+0x4],0x0
.text:00409a92 33d2 XOR EDX,EDX
.text:00409a94 8995d8f6ffff MOV dword ptr [EBP + local_92c+0x4],EDX
.text:00409a9a 8bf7 MOV ESI,EDI
.text:00409a9c 85db TEST EBX,EBX
.text:00409a9e 0f84cb000000 JZ LAB_00409b6f
LAB_00409aa4: ;XREF[1,0]: 00409b0d
.text:00409aa4 83fe73 CMP ESI,0x73
.text:00409aa7 7466 JZ LAB_00409b0f
.text:00409aa9 8bce MOV ECX,ESI
.text:00409aab c1e102 SHL ECX,0x2
.text:00409aae 3bf0 CMP ESI,EAX
.text:00409ab0 7513 JNZ LAB_00409ac5
.text:00409ab2 83a40dc0f... AND dword ptr [EBP +...,0x0
.text:00409aba 8d4701 LEA EAX,[EDI + 0x1]
.text:00409abd 03c2 ADD EAX,EDX
.text:00409abf 8985bcf8ffff MOV dword ptr [EBP + local_748+0x4],EAX
LAB_00409ac5: ;XREF[1,0]: 00409ab0
.text:00409ac5 8b85c4f6ffff MOV EAX,dword ptr [EBP + local_940+0x4]
.text:00409acb 8b0490 MOV EAX=>local_1d4,dword ptr [EAX + EDX*0x4]
.text:00409ace 8b95c8f6ffff MOV EDX,dword ptr [EBP + local_93c+0x4]
.text:00409ad4 f724ba MUL dword ptr [EDX + EDI*0x4]=>local_1d4
.text:00409ad7 03840dc0f... ADD EAX,dword ptr [EBP + ECX*0x1 + 0xffff...
.text:00409ade 83d200 ADC EDX,0x0
.text:00409ae1 0385e4f6ffff ADD EAX,dword ptr [EBP + local_920+0x4]
.text:00409ae7 89840dc0f... MOV dword ptr [EBP +...,EAX
.text:00409aee 8b85bcf8ffff MOV EAX,dword ptr [EBP + local_748+0x4]
.text:00409af4 83d200 ADC EDX,0x0
.text:00409af7 8995e4f6ffff MOV dword ptr [EBP + local_920+0x4],EDX
.text:00409afd 8b95d8f6ffff MOV EDX,dword ptr [EBP + local_92c+0x4]
.text:00409b03 42 INC EDX
.text:00409b04 46 INC ESI
.text:00409b05 8995d8f6ffff MOV dword ptr [EBP + local_92c+0x4],EDX
.text:00409b0b 3bd3 CMP EDX,EBX
.text:00409b0d 7595 JNZ LAB_00409aa4
LAB_00409b0f: ;XREF[1,0]: 00409aa7
.text:00409b0f 83bde4f6f... CMP dword ptr [EBP + local_920+0x4],0x0
.text:00409b16 7457 JZ LAB_00409b6f
.text:00409b18 8d95c0f8ffff LEA EDX=>local_744,[EBP + 0xfffff8c0]
.text:00409b1e 8d14b2 LEA EDX=>local_740,[EDX + ESI*0x4]
.text:00409b21 8995e8f6ffff MOV dword ptr [EBP + local_91c+0x4],EDX
LAB_00409b27: ;XREF[1,0]: 00409b6d
.text:00409b27 83fe73 CMP ESI,0x73
.text:00409b2a 0f840a010000 JZ LAB_00409c3a
.text:00409b30 8d4e01 LEA ECX,[ESI + 0x1]
.text:00409b33 3bf0 CMP ESI,EAX
.text:00409b35 8bf1 MOV ESI,ECX
.text:00409b37 7509 JNZ LAB_00409b42
.text:00409b39 832200 AND dword ptr [EDX]=>local_740,0x0
.text:00409b3c 898dbcf8ffff MOV dword ptr [EBP + local_748+0x4],ECX
LAB_00409b42: ;XREF[1,0]: 00409b37
.text:00409b42 8b0a MOV ECX,dword ptr [EDX]=>local_740
.text:00409b44 33c0 XOR EAX,EAX
.text:00409b46 8385e8f6f... ADD dword ptr [EBP + local_91c+0x4],0x4
.text:00409b4d 038de4f6ffff ADD ECX,dword ptr [EBP + local_920+0x4]
.text:00409b53 890a MOV dword ptr [EDX]=>local_740,ECX
.text:00409b55 13c0 ADC EAX,EAX
.text:00409b57 8985e4f6ffff MOV dword ptr [EBP + local_920+0x4],EAX
.text:00409b5d 85c0 TEST EAX,EAX
.text:00409b5f 8b85bcf8ffff MOV EAX,dword ptr [EBP + local_748+0x4]
.text:00409b65 7408 JZ LAB_00409b6f
.text:00409b67 8b95e8f6ffff MOV EDX,dword ptr [EBP + local_91c+0x4]
.text:00409b6d ebb8 JMP LAB_00409b27
LAB_00409b6f: ;XREF[3,0]: 00409a9e,00409b16,00409b65
.text:00409b6f 83fe73 CMP ESI,0x73
.text:00409b72 0f84c2000000 JZ LAB_00409c3a
.text:00409b78 8b8dccf6ffff MOV ECX,dword ptr [EBP + local_938+0x4]
.text:00409b7e 8b95c8f6ffff MOV EDX,dword ptr [EBP + local_93c+0x4]
LAB_00409b84: ;XREF[2,0]: 00409a6f,00409a86
.text:00409b84 47 INC EDI
.text:00409b85 3bf9 CMP EDI,ECX
.text:00409b87 0f85dafeffff JNZ LAB_00409a67
LAB_00409b8d: ;XREF[1,0]: 00409a61
.text:00409b8d 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:00409b93 c1e002 SHL EAX,0x2
.text:00409b96 50 PUSH EAX
.text:00409b97 8d85c0f8ffff LEA EAX=>local_744,[EBP + 0xfffff8c0]
.text:00409b9d 50 PUSH EAX
.text:00409b9e 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:00409ba4 68cc010000 PUSH 0x1cc
.text:00409ba9 50 PUSH EAX
.text:00409baa e8752e0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00409baf b001 MOV AL,0x1
LAB_00409bb1: ;XREF[1,0]: 00409c63
.text:00409bb1 8b9d2cfeffff MOV EBX,dword ptr [EBP + local_1d8+0x4]
.text:00409bb7 83c410 ADD ESP,0x10
.text:00409bba 899de8f6ffff MOV dword ptr [EBP + local_91c+0x4],EBX
LAB_00409bc0: ;XREF[1,0]: 004098c5
.text:00409bc0 84c0 TEST AL,AL
.text:00409bc2 743a JZ LAB_00409bfe
.text:00409bc4 8b85d4f6ffff MOV EAX,dword ptr [EBP + local_930+0x4]
.text:00409bca 2b85dcf6ffff SUB EAX,dword ptr [EBP + local_928+0x4]
.text:00409bd0 8985d4f6ffff MOV dword ptr [EBP + local_930+0x4],EAX
.text:00409bd6 0f8528fcffff JNZ LAB_00409804
.text:00409bdc 8b8dbcf6ffff MOV ECX,dword ptr [EBP + local_948+0x4]
LAB_00409be2: ;XREF[1,0]: 004097fe
.text:00409be2 8bc1 MOV EAX,ECX
.text:00409be4 33d2 XOR EDX,EDX
.text:00409be6 6a0a PUSH 0xa
.text:00409be8 59 POP ECX
.text:00409be9 f7f1 DIV ECX
.text:00409beb 85d2 TEST EDX,EDX
.text:00409bed 0f84cd000000 JZ LAB_00409cc0
.text:00409bf3 8b3c9564c... MOV EDI,dword ptr [EDX*0x4 + 0x41c764]=>....;= 0000000Ah
.text:00409bfa 85ff TEST EDI,EDI
.text:00409bfc 756a JNZ LAB_00409c68
LAB_00409bfe: ;XREF[2,0]: 00409bc2,00409c9e
.text:00409bfe 83a5d4f4f... AND dword ptr [EBP + local_b30+0x4],0x0
.text:00409c05 8d85d8f4ffff LEA EAX=>local_b2c,[EBP + 0xfffff4d8]
.text:00409c0b 83a52cfef... AND dword ptr [EBP + local_1d8+0x4],0x0
.text:00409c12 6a00 PUSH 0x0
.text:00409c14 50 PUSH EAX
.text:00409c15 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:00409c1b 68cc010000 PUSH 0x1cc
.text:00409c20 50 PUSH EAX
.text:00409c21 e8fe2d0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00409c26 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:00409c2c 83c410 ADD ESP,0x10
LAB_00409c2f: ;XREF[1,0]: 00409c99
.text:00409c2f 8985e8f6ffff MOV dword ptr [EBP + local_91c+0x4],EAX
.text:00409c35 e98c000000 JMP LAB_00409cc6
LAB_00409c3a: ;XREF[2,0]: 00409b2a,00409b72
.text:00409c3a 33db XOR EBX,EBX
.text:00409c3c 8d85d8f4ffff LEA EAX=>local_b2c,[EBP + 0xfffff4d8]
.text:00409c42 53 PUSH EBX
.text:00409c43 50 PUSH EAX
.text:00409c44 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:00409c4a 899dd4f4ffff MOV dword ptr [EBP + local_b30+0x4],EBX
.text:00409c50 68cc010000 PUSH 0x1cc
.text:00409c55 50 PUSH EAX
.text:00409c56 899d2cfeffff MOV dword ptr [EBP + local_1d8+0x4],EBX
.text:00409c5c e8c32d0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00409c61 8ac3 MOV AL,BL
.text:00409c63 e949ffffff JMP LAB_00409bb1
LAB_00409c68: ;XREF[1,0]: 00409bfc
.text:00409c68 83ff01 CMP EDI,0x1
.text:00409c6b 7453 JZ LAB_00409cc0
.text:00409c6d 85db TEST EBX,EBX
.text:00409c6f 744f JZ LAB_00409cc0
.text:00409c71 33c9 XOR ECX,ECX
.text:00409c73 33f6 XOR ESI,ESI
LAB_00409c75: ;XREF[1,0]: 00409c8f
.text:00409c75 8bc7 MOV EAX,EDI
.text:00409c77 f7a4b530f... MUL dword ptr [EBP + ESI*0x4 + local_1d0]
.text:00409c7e 03c1 ADD EAX,ECX
.text:00409c80 8984b530f... MOV dword ptr [EBP +...,EAX
.text:00409c87 83d200 ADC EDX,0x0
.text:00409c8a 46 INC ESI
.text:00409c8b 8bca MOV ECX,EDX
.text:00409c8d 3bf3 CMP ESI,EBX
.text:00409c8f 75e4 JNZ LAB_00409c75
.text:00409c91 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:00409c97 85c9 TEST ECX,ECX
.text:00409c99 7494 JZ LAB_00409c2f
.text:00409c9b 83f873 CMP EAX,0x73
.text:00409c9e 0f835affffff JNC LAB_00409bfe
.text:00409ca4 898c8530f... MOV dword ptr [EBP +...,ECX
.text:00409cab 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:00409cb1 40 INC EAX
.text:00409cb2 8985e8f6ffff MOV dword ptr [EBP + local_91c+0x4],EAX
.text:00409cb8 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:00409cbe eb06 JMP LAB_00409cc6
LAB_00409cc0: ;XREF[3,0]: 00409bed,00409c6b,00409c6f
.text:00409cc0 8b85e8f6ffff MOV EAX,dword ptr [EBP + local_91c+0x4]
LAB_00409cc6: ;XREF[2,0]: 00409c35,00409cbe
.text:00409cc6 8bb5e0f6ffff MOV ESI,dword ptr [EBP + local_924+0x4]
.text:00409ccc 85f6 TEST ESI,ESI
.text:00409cce 0f8488000000 JZ LAB_00409d5c
.text:00409cd4 33d2 XOR EDX,EDX
.text:00409cd6 85c0 TEST EAX,EAX
.text:00409cd8 7424 JZ LAB_00409cfe
LAB_00409cda: ;XREF[1,0]: 00409cf8
.text:00409cda 33c0 XOR EAX,EAX
.text:00409cdc 01b49530f... ADD dword ptr [EBP +...,ESI
.text:00409ce3 13c0 ADC EAX,EAX
.text:00409ce5 42 INC EDX
.text:00409ce6 8bf0 MOV ESI,EAX
.text:00409ce8 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:00409cee 8985e8f6ffff MOV dword ptr [EBP + local_91c+0x4],EAX
.text:00409cf4 8bce MOV ECX,ESI
.text:00409cf6 3bd0 CMP EDX,EAX
.text:00409cf8 75e0 JNZ LAB_00409cda
.text:00409cfa 85c9 TEST ECX,ECX
.text:00409cfc 7466 JZ LAB_00409d64
LAB_00409cfe: ;XREF[1,0]: 00409cd8
.text:00409cfe 83f873 CMP EAX,0x73
.text:00409d01 731c JNC LAB_00409d1f
.text:00409d03 89b48530f... MOV dword ptr [EBP +...,ESI
.text:00409d0a 8b9d2cfeffff MOV EBX,dword ptr [EBP + local_1d8+0x4]
.text:00409d10 43 INC EBX
.text:00409d11 899de8f6ffff MOV dword ptr [EBP + local_91c+0x4],EBX
.text:00409d17 899d2cfeffff MOV dword ptr [EBP + local_1d8+0x4],EBX
.text:00409d1d eb47 JMP LAB_00409d66
LAB_00409d1f: ;XREF[1,0]: 00409d01
.text:00409d1f 83a5d4f4f... AND dword ptr [EBP + local_b30+0x4],0x0
.text:00409d26 8d85d8f4ffff LEA EAX=>local_b2c,[EBP + 0xfffff4d8]
.text:00409d2c 83a52cfef... AND dword ptr [EBP + local_1d8+0x4],0x0
.text:00409d33 6a00 PUSH 0x0
.text:00409d35 50 PUSH EAX
.text:00409d36 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:00409d3c 68cc010000 PUSH 0x1cc
.text:00409d41 50 PUSH EAX
.text:00409d42 e8dd2c0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00409d47 8b9d2cfeffff MOV EBX,dword ptr [EBP + local_1d8+0x4]
.text:00409d4d 83c410 ADD ESP,0x10
.text:00409d50 899de8f6ffff MOV dword ptr [EBP + local_91c+0x4],EBX
.text:00409d56 eb0e JMP LAB_00409d66
LAB_00409d58: ;XREF[1,0]: 004096a4
.text:00409d58 8bd9 MOV EBX,ECX
.text:00409d5a eb0a JMP LAB_00409d66
LAB_00409d5c: ;XREF[2,0]: 004097e7,00409cce
.text:00409d5c 8b9de8f6ffff MOV EBX,dword ptr [EBP + local_91c+0x4]
.text:00409d62 eb02 JMP LAB_00409d66
LAB_00409d64: ;XREF[1,0]: 00409cfc
.text:00409d64 8bd8 MOV EBX,EAX
LAB_00409d66: ;XREF[4,0]: 00409d1d,00409d56,00409d5a,00409d62
.text:00409d66 8b85d0f6ffff MOV EAX,dword ptr [EBP + local_934+0x4]
.text:00409d6c 85c0 TEST EAX,EAX
.text:00409d6e 0f8423050000 JZ LAB_0040a297
.text:00409d74 6a0a PUSH 0xa
.text:00409d76 33d2 XOR EDX,EDX
.text:00409d78 59 POP ECX
.text:00409d79 f7f1 DIV ECX
.text:00409d7b 8985c4f6ffff MOV dword ptr [EBP + local_940+0x4],EAX
.text:00409d81 85c0 TEST EAX,EAX
.text:00409d83 0f84c8030000 JZ LAB_0040a151
LAB_00409d89: ;XREF[1,0]: 0040a148
.text:00409d89 83f826 CMP EAX,0x26
.text:00409d8c 7603 JBE LAB_00409d91
.text:00409d8e 6a26 PUSH 0x26
.text:00409d90 58 POP EAX
LAB_00409d91: ;XREF[1,0]: 00409d8c
; FWD[2,0]: 0041c6ce,0041c766
.text:00409d91 0fb60c85c... MOVZX ECX,byte ptr [EAX*0x4 + 0x41c6ce]=>.r...;= 0Bh
; FWD[2,0]: 0041c6cf,0041c767
.text:00409d99 0fb63485c... MOVZX ESI,byte ptr [EAX*0x4 + 0x41c6cf]=>.r...;= 1Dh
.text:00409da1 8bf9 MOV EDI,ECX
.text:00409da3 8985c8f6ffff MOV dword ptr [EBP + local_93c+0x4],EAX
.text:00409da9 c1e702 SHL EDI,0x2
.text:00409dac 57 PUSH EDI
.text:00409dad 8d0431 LEA EAX,[ECX + ESI*0x1]
.text:00409db0 8985ecf6ffff MOV dword ptr [EBP + local_918+0x4],EAX
.text:00409db6 8d85f0f6ffff LEA EAX=>local_914,[EBP + 0xfffff6f0]
.text:00409dbc 6a00 PUSH 0x0
.text:00409dbe 50 PUSH EAX
.text:00409dbf e86c88ffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:00409dc4 8bc6 MOV EAX,ESI
.text:00409dc6 c1e002 SHL EAX,0x2
.text:00409dc9 50 PUSH EAX
.text:00409dca 8b85c8f6ffff MOV EAX,dword ptr [EBP + local_93c+0x4]
.text:00409dd0 0fb70485c... MOVZX EAX,word ptr [EAX*0x4 + 0x41c6cc]=>.r...;= 0225h
.text:00409dd8 8d0485c8b... LEA EAX,[EAX*0x4 + 0x41bdc8]=>.rdata:DAT_...
.text:00409ddf 50 PUSH EAX=>.rdata:DAT_0041c65c
.text:00409de0 8d85f0f6ffff LEA EAX=>local_914,[EBP + 0xfffff6f0]
.text:00409de6 03c7 ADD EAX,EDI
.text:00409de8 50 PUSH EAX
.text:00409de9 e8c292ffff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:00409dee 8b85ecf6ffff MOV EAX,dword ptr [EBP + local_918+0x4]
.text:00409df4 33c9 XOR ECX,ECX
.text:00409df6 41 INC ECX
.text:00409df7 83c418 ADD ESP,0x18
.text:00409dfa 3bc1 CMP EAX,ECX
.text:00409dfc 0f87e1000000 JA LAB_00409ee3
.text:00409e02 8bbdf0f6ffff MOV EDI,dword ptr [EBP + local_914+0x4]
.text:00409e08 85ff TEST EDI,EDI
.text:00409e0a 7543 JNZ LAB_00409e4f
.text:00409e0c 33c0 XOR EAX,EAX
.text:00409e0e 50 PUSH EAX
.text:00409e0f 8985d4f4ffff MOV dword ptr [EBP + local_b30+0x4],EAX
.text:00409e15 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:00409e1b 8d85d8f4ffff LEA EAX=>local_b2c,[EBP + 0xfffff4d8]
.text:00409e21 50 PUSH EAX
.text:00409e22 68cc010000 PUSH 0x1cc
LAB_00409e27: ;XREF[1,0]: 00409f32
.text:00409e27 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:00409e2d 50 PUSH EAX
.text:00409e2e e8f12b0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00409e33 83c410 ADD ESP,0x10
LAB_00409e36: ;XREF[2,0]: 00409e7d,00409f76
.text:00409e36 8b8d2cfeffff MOV ECX,dword ptr [EBP + local_1d8+0x4]
.text:00409e3c 898de8f6ffff MOV dword ptr [EBP + local_91c+0x4],ECX
LAB_00409e42: ;XREF[1,0]: 00409ea4
.text:00409e42 b001 MOV AL,0x1
LAB_00409e44: ;XREF[4,0]: 00409e55,00409ede,00409f46,00409f4e
.text:00409e44 8b9de8f6ffff MOV EBX,dword ptr [EBP + local_91c+0x4]
.text:00409e4a e9df020000 JMP LAB_0040a12e
LAB_00409e4f: ;XREF[1,0]: 00409e0a
.text:00409e4f 3bf9 CMP EDI,ECX
.text:00409e51 7504 JNZ LAB_00409e57
LAB_00409e53: ;XREF[1,0]: 00409e59
.text:00409e53 8ac1 MOV AL,CL
.text:00409e55 ebed JMP LAB_00409e44
LAB_00409e57: ;XREF[1,0]: 00409e51
.text:00409e57 85db TEST EBX,EBX
.text:00409e59 74f8 JZ LAB_00409e53
.text:00409e5b 33c9 XOR ECX,ECX
.text:00409e5d 33f6 XOR ESI,ESI
LAB_00409e5f: ;XREF[1,0]: 00409e79
.text:00409e5f 8bc7 MOV EAX,EDI
.text:00409e61 f7a4b530f... MUL dword ptr [EBP + ESI*0x4 + local_1d0]
.text:00409e68 03c1 ADD EAX,ECX
.text:00409e6a 8984b530f... MOV dword ptr [EBP +...,EAX
.text:00409e71 83d200 ADC EDX,0x0
.text:00409e74 46 INC ESI
.text:00409e75 8bca MOV ECX,EDX
.text:00409e77 3bf3 CMP ESI,EBX
.text:00409e79 75e4 JNZ LAB_00409e5f
.text:00409e7b 85c9 TEST ECX,ECX
.text:00409e7d 74b7 JZ LAB_00409e36
.text:00409e7f 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:00409e85 83f873 CMP EAX,0x73
.text:00409e88 731c JNC LAB_00409ea6
.text:00409e8a 898c8530f... MOV dword ptr [EBP +...,ECX
LAB_00409e91: ;XREF[1,0]: 00409f92
.text:00409e91 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:00409e97 40 INC EAX
.text:00409e98 8985e8f6ffff MOV dword ptr [EBP + local_91c+0x4],EAX
.text:00409e9e 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:00409ea4 eb9c JMP LAB_00409e42
LAB_00409ea6: ;XREF[2,0]: 00409e88,00409f85
.text:00409ea6 33db XOR EBX,EBX
.text:00409ea8 8d85d8f4ffff LEA EAX=>local_b2c,[EBP + 0xfffff4d8]
.text:00409eae 53 PUSH EBX
.text:00409eaf 50 PUSH EAX
.text:00409eb0 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:00409eb6 899dd4f4ffff MOV dword ptr [EBP + local_b30+0x4],EBX
.text:00409ebc 68cc010000 PUSH 0x1cc
.text:00409ec1 50 PUSH EAX
.text:00409ec2 899d2cfeffff MOV dword ptr [EBP + local_1d8+0x4],EBX
.text:00409ec8 e8572b0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00409ecd 8b8d2cfeffff MOV ECX,dword ptr [EBP + local_1d8+0x4]
.text:00409ed3 83c410 ADD ESP,0x10
.text:00409ed6 8ac3 MOV AL,BL
.text:00409ed8 898de8f6ffff MOV dword ptr [EBP + local_91c+0x4],ECX
.text:00409ede e961ffffff JMP LAB_00409e44
LAB_00409ee3: ;XREF[1,0]: 00409dfc
.text:00409ee3 3bd9 CMP EBX,ECX
.text:00409ee5 0f87ac000000 JA LAB_00409f97
.text:00409eeb 8b9d30feffff MOV EBX,dword ptr [EBP + local_1d4+0x4]
.text:00409ef1 becc010000 MOV ESI,0x1cc
.text:00409ef6 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:00409efc c1e002 SHL EAX,0x2
.text:00409eff 50 PUSH EAX
.text:00409f00 8d85f0f6ffff LEA EAX=>local_914,[EBP + 0xfffff6f0]
.text:00409f06 50 PUSH EAX
.text:00409f07 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:00409f0d 56 PUSH ESI
.text:00409f0e 50 PUSH EAX
.text:00409f0f e8102b0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00409f14 83c410 ADD ESP,0x10
.text:00409f17 33c0 XOR EAX,EAX
.text:00409f19 85db TEST EBX,EBX
.text:00409f1b 751a JNZ LAB_00409f37
.text:00409f1d 50 PUSH EAX
.text:00409f1e 8985d4f4ffff MOV dword ptr [EBP + local_b30+0x4],EAX
.text:00409f24 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:00409f2a 8d85d8f4ffff LEA EAX=>local_b2c,[EBP + 0xfffff4d8]
.text:00409f30 50 PUSH EAX
.text:00409f31 56 PUSH ESI
.text:00409f32 e9f0feffff JMP LAB_00409e27
LAB_00409f37: ;XREF[1,0]: 00409f1b
.text:00409f37 8b8d2cfeffff MOV ECX,dword ptr [EBP + local_1d8+0x4]
.text:00409f3d 40 INC EAX
.text:00409f3e 898de8f6ffff MOV dword ptr [EBP + local_91c+0x4],ECX
.text:00409f44 3bd8 CMP EBX,EAX
.text:00409f46 0f84f8feffff JZ LAB_00409e44
.text:00409f4c 85c9 TEST ECX,ECX
.text:00409f4e 0f84f0feffff JZ LAB_00409e44
.text:00409f54 33f6 XOR ESI,ESI
.text:00409f56 33ff XOR EDI,EDI
LAB_00409f58: ;XREF[1,0]: 00409f72
.text:00409f58 8bc3 MOV EAX,EBX
.text:00409f5a f7a4bd30f... MUL dword ptr [EBP + EDI*0x4 + local_1d0]
.text:00409f61 03c6 ADD EAX,ESI
.text:00409f63 8984bd30f... MOV dword ptr [EBP +...,EAX
.text:00409f6a 83d200 ADC EDX,0x0
.text:00409f6d 47 INC EDI
.text:00409f6e 8bf2 MOV ESI,EDX
.text:00409f70 3bf9 CMP EDI,ECX
.text:00409f72 75e4 JNZ LAB_00409f58
.text:00409f74 85f6 TEST ESI,ESI
.text:00409f76 0f84bafeffff JZ LAB_00409e36
.text:00409f7c 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:00409f82 83f873 CMP EAX,0x73
.text:00409f85 0f831bffffff JNC LAB_00409ea6
.text:00409f8b 89b48530f... MOV dword ptr [EBP +...,ESI
.text:00409f92 e9fafeffff JMP LAB_00409e91
LAB_00409f97: ;XREF[1,0]: 00409ee5
.text:00409f97 3bc3 CMP EAX,EBX
.text:00409f99 8d95f0f6ffff LEA EDX=>local_914,[EBP + 0xfffff6f0]
.text:00409f9f 0f92c1 SETC CL
.text:00409fa2 7206 JC LAB_00409faa
.text:00409fa4 8d9530feffff LEA EDX=>local_1d4,[EBP + 0xfffffe30]
LAB_00409faa: ;XREF[1,0]: 00409fa2
.text:00409faa 8995dcf6ffff MOV dword ptr [EBP + local_928+0x4],EDX
.text:00409fb0 84c9 TEST CL,CL
.text:00409fb2 7410 JZ LAB_00409fc4
.text:00409fb4 8db530feffff LEA ESI=>local_1d4,[EBP + 0xfffffe30]
.text:00409fba 8bc8 MOV ECX,EAX
.text:00409fbc 89b5d4f6ffff MOV dword ptr [EBP + local_930+0x4],ESI
.text:00409fc2 eb10 JMP LAB_00409fd4
LAB_00409fc4: ;XREF[1,0]: 00409fb2
.text:00409fc4 8d8df0f6ffff LEA ECX=>local_914,[EBP + 0xfffff6f0]
.text:00409fca 898dd4f6ffff MOV dword ptr [EBP + local_930+0x4],ECX
.text:00409fd0 8bcb MOV ECX,EBX
.text:00409fd2 8bd8 MOV EBX,EAX
LAB_00409fd4: ;XREF[1,0]: 00409fc2
.text:00409fd4 33c0 XOR EAX,EAX
.text:00409fd6 898dccf6ffff MOV dword ptr [EBP + local_938+0x4],ECX
.text:00409fdc 33ff XOR EDI,EDI
.text:00409fde 8985bcf8ffff MOV dword ptr [EBP + local_748+0x4],EAX
.text:00409fe4 85c9 TEST ECX,ECX
.text:00409fe6 0f840f010000 JZ LAB_0040a0fb
LAB_00409fec: ;XREF[1,0]: 0040a0f5
.text:00409fec 833cba00 CMP dword ptr [EDX + EDI*0x4]=>local_1d4,0x0
.text:00409ff0 751e JNZ LAB_0040a010
.text:00409ff2 3bf8 CMP EDI,EAX
.text:00409ff4 0f85f8000000 JNZ LAB_0040a0f2
.text:00409ffa 83a4bdc0f... AND dword ptr [EBP +...,0x0
.text:0040a002 8d4701 LEA EAX,[EDI + 0x1]
.text:0040a005 8985bcf8ffff MOV dword ptr [EBP + local_748+0x4],EAX
.text:0040a00b e9e2000000 JMP LAB_0040a0f2
LAB_0040a010: ;XREF[1,0]: 00409ff0
.text:0040a010 33d2 XOR EDX,EDX
.text:0040a012 8bf7 MOV ESI,EDI
.text:0040a014 2195e0f6ffff AND dword ptr [EBP + local_924+0x4],EDX
.text:0040a01a 8995e4f6ffff MOV dword ptr [EBP + local_920+0x4],EDX
.text:0040a020 85db TEST EBX,EBX
.text:0040a022 0f84b5000000 JZ LAB_0040a0dd
LAB_0040a028: ;XREF[1,0]: 0040a090
.text:0040a028 83fe73 CMP ESI,0x73
.text:0040a02b 7465 JZ LAB_0040a092
.text:0040a02d 8b95e0f6ffff MOV EDX,dword ptr [EBP + local_924+0x4]
.text:0040a033 8bce MOV ECX,ESI
.text:0040a035 c1e102 SHL ECX,0x2
.text:0040a038 3bf0 CMP ESI,EAX
.text:0040a03a 7513 JNZ LAB_0040a04f
.text:0040a03c 83a40dc0f... AND dword ptr [EBP +...,0x0
.text:0040a044 8d4201 LEA EAX,[EDX + 0x1]
.text:0040a047 03c7 ADD EAX,EDI
.text:0040a049 8985bcf8ffff MOV dword ptr [EBP + local_748+0x4],EAX
LAB_0040a04f: ;XREF[1,0]: 0040a03a
.text:0040a04f 8b85d4f6ffff MOV EAX,dword ptr [EBP + local_930+0x4]
.text:0040a055 8b0490 MOV EAX,dword ptr [EAX + EDX*0x4]
.text:0040a058 8b95dcf6ffff MOV EDX,dword ptr [EBP + local_928+0x4]
.text:0040a05e f724ba MUL dword ptr [EDX + EDI*0x4]=>local_1d4
.text:0040a061 0385e4f6ffff ADD EAX,dword ptr [EBP + local_920+0x4]
.text:0040a067 83d200 ADC EDX,0x0
.text:0040a06a 01840dc0f... ADD dword ptr [EBP +...,EAX
.text:0040a071 8b8de0f6ffff MOV ECX,dword ptr [EBP + local_924+0x4]
.text:0040a077 8b85bcf8ffff MOV EAX,dword ptr [EBP + local_748+0x4]
.text:0040a07d 83d200 ADC EDX,0x0
.text:0040a080 41 INC ECX
.text:0040a081 8995e4f6ffff MOV dword ptr [EBP + local_920+0x4],EDX
.text:0040a087 46 INC ESI
.text:0040a088 898de0f6ffff MOV dword ptr [EBP + local_924+0x4],ECX
.text:0040a08e 3bcb CMP ECX,EBX
.text:0040a090 7596 JNZ LAB_0040a028
LAB_0040a092: ;XREF[1,0]: 0040a02b
.text:0040a092 85d2 TEST EDX,EDX
.text:0040a094 7447 JZ LAB_0040a0dd
.text:0040a096 8d95c0f8ffff LEA EDX=>local_744,[EBP + 0xfffff8c0]
.text:0040a09c 8d14b2 LEA EDX=>local_740,[EDX + ESI*0x4]
LAB_0040a09f: ;XREF[1,0]: 0040a0db
.text:0040a09f 83fe73 CMP ESI,0x73
.text:0040a0a2 0f84ff000000 JZ LAB_0040a1a7
.text:0040a0a8 8d4e01 LEA ECX,[ESI + 0x1]
.text:0040a0ab 3bf0 CMP ESI,EAX
.text:0040a0ad 8bf1 MOV ESI,ECX
.text:0040a0af 7509 JNZ LAB_0040a0ba
.text:0040a0b1 832200 AND dword ptr [EDX]=>local_740,0x0
.text:0040a0b4 898dbcf8ffff MOV dword ptr [EBP + local_748+0x4],ECX
LAB_0040a0ba: ;XREF[1,0]: 0040a0af
.text:0040a0ba 8b85e4f6ffff MOV EAX,dword ptr [EBP + local_920+0x4]
.text:0040a0c0 8bca MOV ECX,EDX
.text:0040a0c2 83a5e4f6f... AND dword ptr [EBP + local_920+0x4],0x0
.text:0040a0c9 83c204 ADD EDX,0x4
.text:0040a0cc 0101 ADD dword ptr [ECX]=>local_740,EAX
.text:0040a0ce 8b85bcf8ffff MOV EAX,dword ptr [EBP + local_748+0x4]
.text:0040a0d4 8395e4f6f... ADC dword ptr [EBP + local_920+0x4],0x0
.text:0040a0db 75c2 JNZ LAB_0040a09f
LAB_0040a0dd: ;XREF[2,0]: 0040a022,0040a094
.text:0040a0dd 83fe73 CMP ESI,0x73
.text:0040a0e0 0f84c1000000 JZ LAB_0040a1a7
.text:0040a0e6 8b8dccf6ffff MOV ECX,dword ptr [EBP + local_938+0x4]
.text:0040a0ec 8b95dcf6ffff MOV EDX,dword ptr [EBP + local_928+0x4]
LAB_0040a0f2: ;XREF[2,0]: 00409ff4,0040a00b
.text:0040a0f2 47 INC EDI
.text:0040a0f3 3bf9 CMP EDI,ECX
.text:0040a0f5 0f85f1feffff JNZ LAB_00409fec
LAB_0040a0fb: ;XREF[1,0]: 00409fe6
.text:0040a0fb 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:0040a101 c1e002 SHL EAX,0x2
.text:0040a104 50 PUSH EAX
.text:0040a105 8d85c0f8ffff LEA EAX=>local_744,[EBP + 0xfffff8c0]
.text:0040a10b 50 PUSH EAX
.text:0040a10c 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:0040a112 68cc010000 PUSH 0x1cc
.text:0040a117 50 PUSH EAX
.text:0040a118 e807290000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a11d 83c410 ADD ESP,0x10
.text:0040a120 b001 MOV AL,0x1
LAB_0040a122: ;XREF[1,0]: 0040a1d3
.text:0040a122 8b9d2cfeffff MOV EBX,dword ptr [EBP + local_1d8+0x4]
.text:0040a128 899de8f6ffff MOV dword ptr [EBP + local_91c+0x4],EBX
LAB_0040a12e: ;XREF[1,0]: 00409e4a
.text:0040a12e 84c0 TEST AL,AL
.text:0040a130 0f84a2000000 JZ LAB_0040a1d8
.text:0040a136 8b85c4f6ffff MOV EAX,dword ptr [EBP + local_940+0x4]
.text:0040a13c 2b85c8f6ffff SUB EAX,dword ptr [EBP + local_93c+0x4]
.text:0040a142 8985c4f6ffff MOV dword ptr [EBP + local_940+0x4],EAX
.text:0040a148 0f853bfcffff JNZ LAB_00409d89
.text:0040a14e 6a0a PUSH 0xa
.text:0040a150 59 POP ECX
LAB_0040a151: ;XREF[1,0]: 00409d83
.text:0040a151 8b85d0f6ffff MOV EAX,dword ptr [EBP + local_934+0x4]
.text:0040a157 33d2 XOR EDX,EDX
.text:0040a159 f7f1 DIV ECX
.text:0040a15b 85d2 TEST EDX,EDX
.text:0040a15d 0f8434010000 JZ LAB_0040a297
.text:0040a163 8b3c9564c... MOV EDI,dword ptr [EDX*0x4 + .rdata:DAT_0...;= 0225h
.text:0040a16a 85ff TEST EDI,EDI
.text:0040a16c 757c JNZ LAB_0040a1ea
.text:0040a16e 21bdd4f4ffff AND dword ptr [EBP + local_b30+0x4],EDI
.text:0040a174 8d85d8f4ffff LEA EAX=>local_b2c,[EBP + 0xfffff4d8]
.text:0040a17a 21bd2cfeffff AND dword ptr [EBP + local_1d8+0x4],EDI
.text:0040a180 57 PUSH EDI
.text:0040a181 50 PUSH EAX
.text:0040a182 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:0040a188 68cc010000 PUSH 0x1cc
.text:0040a18d 50 PUSH EAX
.text:0040a18e e891280000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a193 83c410 ADD ESP,0x10
LAB_0040a196: ;XREF[1,0]: 0040a21d
.text:0040a196 8b8d2cfeffff MOV ECX,dword ptr [EBP + local_1d8+0x4]
.text:0040a19c 898de8f6ffff MOV dword ptr [EBP + local_91c+0x4],ECX
.text:0040a1a2 e9f6000000 JMP LAB_0040a29d
LAB_0040a1a7: ;XREF[2,0]: 0040a0a2,0040a0e0
.text:0040a1a7 33c0 XOR EAX,EAX
.text:0040a1a9 50 PUSH EAX
.text:0040a1aa 8985d4f4ffff MOV dword ptr [EBP + local_b30+0x4],EAX
.text:0040a1b0 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:0040a1b6 8d85d8f4ffff LEA EAX=>local_b2c,[EBP + 0xfffff4d8]
.text:0040a1bc 50 PUSH EAX
.text:0040a1bd 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:0040a1c3 68cc010000 PUSH 0x1cc
.text:0040a1c8 50 PUSH EAX
.text:0040a1c9 e856280000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a1ce 83c410 ADD ESP,0x10
.text:0040a1d1 32c0 XOR AL,AL
.text:0040a1d3 e94affffff JMP LAB_0040a122
LAB_0040a1d8: ;XREF[1,0]: 0040a130
.text:0040a1d8 83a5d4f4f... AND dword ptr [EBP + local_b30+0x4],0x0
.text:0040a1df 83a52cfef... AND dword ptr [EBP + local_1d8+0x4],0x0
.text:0040a1e6 6a00 PUSH 0x0
.text:0040a1e8 eb6f JMP LAB_0040a259
LAB_0040a1ea: ;XREF[1,0]: 0040a16c
.text:0040a1ea 83ff01 CMP EDI,0x1
.text:0040a1ed 0f84a4000000 JZ LAB_0040a297
.text:0040a1f3 85db TEST EBX,EBX
.text:0040a1f5 0f849c000000 JZ LAB_0040a297
.text:0040a1fb 33f6 XOR ESI,ESI
.text:0040a1fd 33c9 XOR ECX,ECX
LAB_0040a1ff: ;XREF[1,0]: 0040a219
.text:0040a1ff 8bc7 MOV EAX,EDI
.text:0040a201 f7a48d30f... MUL dword ptr [EBP + ECX*0x4 + local_1d0]
.text:0040a208 03c6 ADD EAX,ESI
.text:0040a20a 89848d30f... MOV dword ptr [EBP +...,EAX
.text:0040a211 83d200 ADC EDX,0x0
.text:0040a214 41 INC ECX
.text:0040a215 8bf2 MOV ESI,EDX
.text:0040a217 3bcb CMP ECX,EBX
.text:0040a219 75e4 JNZ LAB_0040a1ff
.text:0040a21b 85f6 TEST ESI,ESI
.text:0040a21d 0f8473ffffff JZ LAB_0040a196
.text:0040a223 8b852cfeffff MOV EAX,dword ptr [EBP + local_1d8+0x4]
.text:0040a229 83f873 CMP EAX,0x73
.text:0040a22c 731c JNC LAB_0040a24a
.text:0040a22e 89b48530f... MOV dword ptr [EBP +...,ESI
.text:0040a235 8b8d2cfeffff MOV ECX,dword ptr [EBP + local_1d8+0x4]
.text:0040a23b 41 INC ECX
.text:0040a23c 898de8f6ffff MOV dword ptr [EBP + local_91c+0x4],ECX
.text:0040a242 898d2cfeffff MOV dword ptr [EBP + local_1d8+0x4],ECX
.text:0040a248 eb53 JMP LAB_0040a29d
LAB_0040a24a: ;XREF[1,0]: 0040a22c
.text:0040a24a 33c0 XOR EAX,EAX
.text:0040a24c 8985d4f4ffff MOV dword ptr [EBP + local_b30+0x4],EAX
.text:0040a252 89852cfeffff MOV dword ptr [EBP + local_1d8+0x4],EAX
.text:0040a258 50 PUSH EAX
LAB_0040a259: ;XREF[1,0]: 0040a1e8
.text:0040a259 8d85d8f4ffff LEA EAX=>local_b2c,[EBP + 0xfffff4d8]
.text:0040a25f 50 PUSH EAX
.text:0040a260 8d8530feffff LEA EAX=>local_1d4,[EBP + 0xfffffe30]
.text:0040a266 68cc010000 PUSH 0x1cc
.text:0040a26b 50 PUSH EAX
.text:0040a26c e8b3270000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a271 8b85b4f6ffff MOV EAX,dword ptr [EBP + local_950+0x4]
.text:0040a277 83c410 ADD ESP,0x10
.text:0040a27a ffb5acf6ffff PUSH dword ptr [EBP + local_958+0x4]
.text:0040a280 0fb680080... MOVZX EAX,byte ptr [EAX + 0x308]
.text:0040a287 50 PUSH EAX
.text:0040a288 e818eeffff CALL __crt_strtox::assemble_floating_point...;void assemble_floating_point_infinit...
.text:0040a28d 59 POP ECX
.text:0040a28e 59 POP ECX
.text:0040a28f 6a03 PUSH 0x3
LAB_0040a291: ;XREF[1,0]: 0040aea3
.text:0040a291 58 POP EAX
.text:0040a292 e905110000 JMP LAB_0040b39c
LAB_0040a297: ;XREF[4,0]: 00409d6e,0040a15d,0040a1ed,0040a1f5
.text:0040a297 8b8de8f6ffff MOV ECX,dword ptr [EBP + local_91c+0x4]
LAB_0040a29d: ;XREF[2,0]: 0040a1a2,0040a248
.text:0040a29d 85c9 TEST ECX,ECX
.text:0040a29f 741e JZ LAB_0040a2bf
.text:0040a2a1 8b848d2cf... MOV EAX,dword ptr [EBP + ECX*0x4 + 0xffff...
.text:0040a2a8 83a5b8f6f... AND dword ptr [EBP + local_94c+0x4],0x0
.text:0040a2af 0fbdc0 BSR EAX,EAX
.text:0040a2b2 7403 JZ LAB_0040a2b7
.text:0040a2b4 40 INC EAX
.text:0040a2b5 eb02 JMP LAB_0040a2b9
LAB_0040a2b7: ;XREF[1,0]: 0040a2b2
.text:0040a2b7 33c0 XOR EAX,EAX
LAB_0040a2b9: ;XREF[1,0]: 0040a2b5
.text:0040a2b9 49 DEC ECX
.text:0040a2ba c1e105 SHL ECX,0x5
.text:0040a2bd 03c8 ADD ECX,EAX
LAB_0040a2bf: ;XREF[1,0]: 0040a29f
.text:0040a2bf 898dc4f6ffff MOV dword ptr [EBP + local_940+0x4],ECX
.text:0040a2c5 3b8db0f6ffff CMP ECX,dword ptr [EBP + local_954+0x4]
.text:0040a2cb 0f8394100000 JNC LAB_0040b365
.text:0040a2d1 8b85c0f6ffff MOV EAX,dword ptr [EBP + 0xfffff6c0]
.text:0040a2d7 85c0 TEST EAX,EAX
.text:0040a2d9 0f8486100000 JZ LAB_0040b365
.text:0040a2df 8b95a8f6ffff MOV EDX,dword ptr [EBP + 0xfffff6a8]
.text:0040a2e5 33db XOR EBX,EBX
.text:0040a2e7 33f6 XOR ESI,ESI
.text:0040a2e9 899d5cfcffff MOV dword ptr [EBP + 0xfffffc5c],EBX
.text:0040a2ef 33c9 XOR ECX,ECX
.text:0040a2f1 89b5d8f6ffff MOV dword ptr [EBP + 0xfffff6d8],ESI
.text:0040a2f7 8bfa MOV EDI,EDX
.text:0040a2f9 8995e0f6ffff MOV dword ptr [EBP + 0xfffff6e0],EDX
.text:0040a2ff 3b95a4f6ffff CMP EDX,dword ptr [EBP + 0xfffff6a4]
.text:0040a305 0f8436060000 JZ LAB_0040a941
LAB_0040a30b: ;XREF[1,0]: 0040a436
.text:0040a30b 83f909 CMP ECX,0x9
.text:0040a30e 0f8506010000 JNZ LAB_0040a41a
.text:0040a314 85db TEST EBX,EBX
.text:0040a316 0f8486000000 JZ LAB_0040a3a2
.text:0040a31c 33c9 XOR ECX,ECX
.text:0040a31e be00ca9a3b MOV ESI,0x3b9aca00
.text:0040a323 33ff XOR EDI,EDI
LAB_0040a325: ;XREF[1,0]: 0040a33f
.text:0040a325 8b84bd60f... MOV EAX,dword ptr [EBP + EDI*0x4 + 0xffff...
.text:0040a32c f7e6 MUL ESI
.text:0040a32e 03c1 ADD EAX,ECX
.text:0040a330 8984bd60f... MOV dword ptr [EBP +...,EAX
.text:0040a337 83d200 ADC EDX,0x0
.text:0040a33a 47 INC EDI
.text:0040a33b 8bca MOV ECX,EDX
.text:0040a33d 3bfb CMP EDI,EBX
.text:0040a33f 75e4 JNZ LAB_0040a325
.text:0040a341 8bb5d8f6ffff MOV ESI,dword ptr [EBP + 0xfffff6d8]
.text:0040a347 85c9 TEST ECX,ECX
.text:0040a349 744b JZ LAB_0040a396
.text:0040a34b 8b855cfcffff MOV EAX,dword ptr [EBP + 0xfffffc5c]
.text:0040a351 83f873 CMP EAX,0x73
.text:0040a354 7316 JNC LAB_0040a36c
.text:0040a356 898c8560f... MOV dword ptr [EBP +...,ECX
.text:0040a35d 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040a363 43 INC EBX
.text:0040a364 899d5cfcffff MOV dword ptr [EBP + 0xfffffc5c],EBX
.text:0040a36a eb30 JMP LAB_0040a39c
LAB_0040a36c: ;XREF[1,0]: 0040a354
.text:0040a36c 33c0 XOR EAX,EAX
.text:0040a36e 50 PUSH EAX
.text:0040a36f 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
.text:0040a375 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0040a37b 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040a381 50 PUSH EAX
.text:0040a382 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0040a388 68cc010000 PUSH 0x1cc
.text:0040a38d 50 PUSH EAX
.text:0040a38e e891260000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a393 83c410 ADD ESP,0x10
LAB_0040a396: ;XREF[1,0]: 0040a349
.text:0040a396 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
LAB_0040a39c: ;XREF[1,0]: 0040a36a
.text:0040a39c 8bbde0f6ffff MOV EDI,dword ptr [EBP + 0xfffff6e0]
LAB_0040a3a2: ;XREF[1,0]: 0040a316
.text:0040a3a2 85f6 TEST ESI,ESI
.text:0040a3a4 7470 JZ LAB_0040a416
.text:0040a3a6 33c9 XOR ECX,ECX
.text:0040a3a8 85db TEST EBX,EBX
.text:0040a3aa 741e JZ LAB_0040a3ca
LAB_0040a3ac: ;XREF[1,0]: 0040a3c4
.text:0040a3ac 8bc6 MOV EAX,ESI
.text:0040a3ae 33f6 XOR ESI,ESI
.text:0040a3b0 01848d60f... ADD dword ptr [EBP +...,EAX
.text:0040a3b7 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040a3bd 13f6 ADC ESI,ESI
.text:0040a3bf 41 INC ECX
.text:0040a3c0 8bc6 MOV EAX,ESI
.text:0040a3c2 3bcb CMP ECX,EBX
.text:0040a3c4 75e6 JNZ LAB_0040a3ac
.text:0040a3c6 85c0 TEST EAX,EAX
.text:0040a3c8 744c JZ LAB_0040a416
LAB_0040a3ca: ;XREF[1,0]: 0040a3aa
.text:0040a3ca 83fb73 CMP EBX,0x73
.text:0040a3cd 7316 JNC LAB_0040a3e5
.text:0040a3cf 89b49d60f... MOV dword ptr [EBP +...,ESI
.text:0040a3d6 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040a3dc 43 INC EBX
.text:0040a3dd 899d5cfcffff MOV dword ptr [EBP + 0xfffffc5c],EBX
.text:0040a3e3 eb31 JMP LAB_0040a416
LAB_0040a3e5: ;XREF[1,0]: 0040a3cd
.text:0040a3e5 83a5d4f4f... AND dword ptr [EBP + 0xfffff4d4],0x0
.text:0040a3ec 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040a3f2 83a55cfcf... AND dword ptr [EBP + 0xfffffc5c],0x0
.text:0040a3f9 6a00 PUSH 0x0
.text:0040a3fb 50 PUSH EAX
.text:0040a3fc 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0040a402 68cc010000 PUSH 0x1cc
.text:0040a407 50 PUSH EAX
.text:0040a408 e817260000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a40d 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040a413 83c410 ADD ESP,0x10
LAB_0040a416: ;XREF[3,0]: 0040a3a4,0040a3c8,0040a3e3
.text:0040a416 33f6 XOR ESI,ESI
.text:0040a418 33c9 XOR ECX,ECX
LAB_0040a41a: ;XREF[1,0]: 0040a30e
.text:0040a41a 0fb607 MOVZX EAX,byte ptr [EDI]
.text:0040a41d 6bf60a IMUL ESI,ESI,0xa
.text:0040a420 03f0 ADD ESI,EAX
.text:0040a422 41 INC ECX
.text:0040a423 47 INC EDI
.text:0040a424 89b5d8f6ffff MOV dword ptr [EBP + 0xfffff6d8],ESI
.text:0040a42a 89bde0f6ffff MOV dword ptr [EBP + 0xfffff6e0],EDI
.text:0040a430 3bbda4f6ffff CMP EDI,dword ptr [EBP + 0xfffff6a4]
.text:0040a436 0f85cffeffff JNZ LAB_0040a30b
.text:0040a43c 898dbcf6ffff MOV dword ptr [EBP + 0xfffff6bc],ECX
.text:0040a442 85c9 TEST ECX,ECX
.text:0040a444 0f84f1040000 JZ LAB_0040a93b
.text:0040a44a 6a0a PUSH 0xa
.text:0040a44c 33d2 XOR EDX,EDX
.text:0040a44e 8bc1 MOV EAX,ECX
.text:0040a450 5e POP ESI
.text:0040a451 f7f6 DIV ESI
.text:0040a453 8985e0f6ffff MOV dword ptr [EBP + 0xfffff6e0],EAX
.text:0040a459 85c0 TEST EAX,EAX
.text:0040a45b 0f8473030000 JZ LAB_0040a7d4
LAB_0040a461: ;XREF[1,0]: 0040a7c8
.text:0040a461 83f826 CMP EAX,0x26
.text:0040a464 7603 JBE LAB_0040a469
.text:0040a466 6a26 PUSH 0x26
.text:0040a468 58 POP EAX
LAB_0040a469: ;XREF[1,0]: 0040a464
; FWD[2,0]: 0041c6ce,0041c766
.text:0040a469 0fb60c85c... MOVZX ECX,byte ptr [EAX*0x4 + 0x41c6ce]=>.r...;= 0Bh
; FWD[2,0]: 0041c6cf,0041c767
.text:0040a471 0fb63485c... MOVZX ESI,byte ptr [EAX*0x4 + 0x41c6cf]=>.r...;= 1Dh
.text:0040a479 8bf9 MOV EDI,ECX
.text:0040a47b 8985c8f6ffff MOV dword ptr [EBP + 0xfffff6c8],EAX
.text:0040a481 c1e702 SHL EDI,0x2
.text:0040a484 57 PUSH EDI
.text:0040a485 8d0431 LEA EAX,[ECX + ESI*0x1]
.text:0040a488 8985ecf6ffff MOV dword ptr [EBP + 0xfffff6ec],EAX
.text:0040a48e 8d85f0f6ffff LEA EAX,[EBP + 0xfffff6f0]
.text:0040a494 6a00 PUSH 0x0
.text:0040a496 50 PUSH EAX
.text:0040a497 e89481ffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040a49c 8bc6 MOV EAX,ESI
.text:0040a49e c1e002 SHL EAX,0x2
.text:0040a4a1 50 PUSH EAX
.text:0040a4a2 8b85c8f6ffff MOV EAX,dword ptr [EBP + 0xfffff6c8]
.text:0040a4a8 0fb70485c... MOVZX EAX,word ptr [EAX*0x4 + 0x41c6cc]=>.r...;= 0225h
.text:0040a4b0 8d0485c8b... LEA EAX,[EAX*0x4 + 0x41bdc8]=>.rdata:DAT_...
.text:0040a4b7 50 PUSH EAX=>.rdata:DAT_0041c65c
.text:0040a4b8 8d85f0f6ffff LEA EAX,[EBP + 0xfffff6f0]
.text:0040a4be 03c7 ADD EAX,EDI
.text:0040a4c0 50 PUSH EAX
.text:0040a4c1 e8ea8bffff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:0040a4c6 8b85ecf6ffff MOV EAX,dword ptr [EBP + 0xfffff6ec]
.text:0040a4cc 33c9 XOR ECX,ECX
.text:0040a4ce 41 INC ECX
.text:0040a4cf 83c418 ADD ESP,0x18
.text:0040a4d2 3bc1 CMP EAX,ECX
.text:0040a4d4 0f87b3000000 JA LAB_0040a58d
.text:0040a4da 8bbdf0f6ffff MOV EDI,dword ptr [EBP + 0xfffff6f0]
.text:0040a4e0 85ff TEST EDI,EDI
.text:0040a4e2 751a JNZ LAB_0040a4fe
.text:0040a4e4 33c0 XOR EAX,EAX
.text:0040a4e6 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
.text:0040a4ec 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0040a4f2 50 PUSH EAX
.text:0040a4f3 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040a4f9 e993020000 JMP LAB_0040a791
LAB_0040a4fe: ;XREF[1,0]: 0040a4e2
.text:0040a4fe 3bf9 CMP EDI,ECX
.text:0040a500 7507 JNZ LAB_0040a509
LAB_0040a502: ;XREF[1,0]: 0040a50b
.text:0040a502 8ac1 MOV AL,CL
.text:0040a504 e9a5020000 JMP LAB_0040a7ae
LAB_0040a509: ;XREF[1,0]: 0040a500
.text:0040a509 85db TEST EBX,EBX
.text:0040a50b 74f5 JZ LAB_0040a502
.text:0040a50d 33c9 XOR ECX,ECX
.text:0040a50f 33f6 XOR ESI,ESI
LAB_0040a511: ;XREF[1,0]: 0040a52b
.text:0040a511 8bc7 MOV EAX,EDI
.text:0040a513 f7a4b560f... MUL dword ptr [EBP + ESI*0x4 + 0xfffffc60]
.text:0040a51a 03c1 ADD EAX,ECX
.text:0040a51c 8984b560f... MOV dword ptr [EBP +...,EAX
.text:0040a523 83d200 ADC EDX,0x0
.text:0040a526 46 INC ESI
.text:0040a527 8bca MOV ECX,EDX
.text:0040a529 3bf3 CMP ESI,EBX
.text:0040a52b 75e4 JNZ LAB_0040a511
LAB_0040a52d: ;XREF[1,0]: 0040a618
.text:0040a52d 85c9 TEST ECX,ECX
.text:0040a52f 744f JZ LAB_0040a580
.text:0040a531 8b855cfcffff MOV EAX,dword ptr [EBP + 0xfffffc5c]
.text:0040a537 83f873 CMP EAX,0x73
.text:0040a53a 7316 JNC LAB_0040a552
.text:0040a53c 898c8560f... MOV dword ptr [EBP +...,ECX
.text:0040a543 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040a549 43 INC EBX
.text:0040a54a 899d5cfcffff MOV dword ptr [EBP + 0xfffffc5c],EBX
.text:0040a550 eb34 JMP LAB_0040a586
LAB_0040a552: ;XREF[1,0]: 0040a53a
.text:0040a552 33db XOR EBX,EBX
.text:0040a554 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040a55a 53 PUSH EBX
.text:0040a55b 50 PUSH EAX
.text:0040a55c 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0040a562 899dd4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EBX
.text:0040a568 68cc010000 PUSH 0x1cc
.text:0040a56d 50 PUSH EAX
.text:0040a56e 899d5cfcffff MOV dword ptr [EBP + 0xfffffc5c],EBX
.text:0040a574 e8ab240000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a579 8ac3 MOV AL,BL
.text:0040a57b e925020000 JMP LAB_0040a7a5
LAB_0040a580: ;XREF[1,0]: 0040a52f
.text:0040a580 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
LAB_0040a586: ;XREF[1,0]: 0040a550
.text:0040a586 b001 MOV AL,0x1
.text:0040a588 e921020000 JMP LAB_0040a7ae
LAB_0040a58d: ;XREF[1,0]: 0040a4d4
.text:0040a58d 3bd9 CMP EBX,ECX
.text:0040a58f 0f8788000000 JA LAB_0040a61d
.text:0040a595 8bbd60fcffff MOV EDI,dword ptr [EBP + 0xfffffc60]
.text:0040a59b bbcc010000 MOV EBX,0x1cc
.text:0040a5a0 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0040a5a6 c1e002 SHL EAX,0x2
.text:0040a5a9 50 PUSH EAX
.text:0040a5aa 8d85f0f6ffff LEA EAX,[EBP + 0xfffff6f0]
.text:0040a5b0 50 PUSH EAX
.text:0040a5b1 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0040a5b7 53 PUSH EBX
.text:0040a5b8 50 PUSH EAX
.text:0040a5b9 e866240000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a5be 83c410 ADD ESP,0x10
.text:0040a5c1 33c0 XOR EAX,EAX
.text:0040a5c3 85ff TEST EDI,EDI
.text:0040a5c5 751a JNZ LAB_0040a5e1
.text:0040a5c7 50 PUSH EAX
.text:0040a5c8 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
.text:0040a5ce 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0040a5d4 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040a5da 50 PUSH EAX
.text:0040a5db 53 PUSH EBX
.text:0040a5dc e9b6010000 JMP LAB_0040a797
LAB_0040a5e1: ;XREF[1,0]: 0040a5c5
.text:0040a5e1 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040a5e7 40 INC EAX
.text:0040a5e8 3bf8 CMP EDI,EAX
.text:0040a5ea 0f84be010000 JZ LAB_0040a7ae
.text:0040a5f0 85db TEST EBX,EBX
.text:0040a5f2 0f84b6010000 JZ LAB_0040a7ae
.text:0040a5f8 33c9 XOR ECX,ECX
.text:0040a5fa 33f6 XOR ESI,ESI
LAB_0040a5fc: ;XREF[1,0]: 0040a616
.text:0040a5fc 8bc7 MOV EAX,EDI
.text:0040a5fe f7a4b560f... MUL dword ptr [EBP + ESI*0x4 + 0xfffffc60]
.text:0040a605 03c1 ADD EAX,ECX
.text:0040a607 8984b560f... MOV dword ptr [EBP +...,EAX
.text:0040a60e 83d200 ADC EDX,0x0
.text:0040a611 46 INC ESI
.text:0040a612 8bca MOV ECX,EDX
.text:0040a614 3bf3 CMP ESI,EBX
.text:0040a616 75e4 JNZ LAB_0040a5fc
.text:0040a618 e910ffffff JMP LAB_0040a52d
LAB_0040a61d: ;XREF[1,0]: 0040a58f
.text:0040a61d 3bc3 CMP EAX,EBX
.text:0040a61f 8d95f0f6ffff LEA EDX,[EBP + 0xfffff6f0]
.text:0040a625 0f92c1 SETC CL
.text:0040a628 7206 JC LAB_0040a630
.text:0040a62a 8d9560fcffff LEA EDX,[EBP + 0xfffffc60]
LAB_0040a630: ;XREF[1,0]: 0040a628
.text:0040a630 8995dcf6ffff MOV dword ptr [EBP + 0xfffff6dc],EDX
.text:0040a636 84c9 TEST CL,CL
.text:0040a638 7410 JZ LAB_0040a64a
.text:0040a63a 8db560fcffff LEA ESI,[EBP + 0xfffffc60]
.text:0040a640 8bc8 MOV ECX,EAX
.text:0040a642 89b5d0f6ffff MOV dword ptr [EBP + 0xfffff6d0],ESI
.text:0040a648 eb10 JMP LAB_0040a65a
LAB_0040a64a: ;XREF[1,0]: 0040a638
.text:0040a64a 8d8df0f6ffff LEA ECX,[EBP + 0xfffff6f0]
.text:0040a650 898dd0f6ffff MOV dword ptr [EBP + 0xfffff6d0],ECX
.text:0040a656 8bcb MOV ECX,EBX
.text:0040a658 8bd8 MOV EBX,EAX
LAB_0040a65a: ;XREF[1,0]: 0040a648
.text:0040a65a 33c0 XOR EAX,EAX
.text:0040a65c 898dccf6ffff MOV dword ptr [EBP + 0xfffff6cc],ECX
.text:0040a662 33ff XOR EDI,EDI
.text:0040a664 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
.text:0040a66a 85c9 TEST ECX,ECX
.text:0040a66c 0f840f010000 JZ LAB_0040a781
LAB_0040a672: ;XREF[1,0]: 0040a77b
.text:0040a672 833cba00 CMP dword ptr [EDX + EDI*0x4],0x0
.text:0040a676 751e JNZ LAB_0040a696
.text:0040a678 3bf8 CMP EDI,EAX
.text:0040a67a 0f85f8000000 JNZ LAB_0040a778
.text:0040a680 83a4bdc0f... AND dword ptr [EBP +...,0x0
.text:0040a688 8d4701 LEA EAX,[EDI + 0x1]
.text:0040a68b 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
.text:0040a691 e9e2000000 JMP LAB_0040a778
LAB_0040a696: ;XREF[1,0]: 0040a676
.text:0040a696 83a5e4f6f... AND dword ptr [EBP + 0xfffff6e4],0x0
.text:0040a69d 33d2 XOR EDX,EDX
.text:0040a69f 8995d4f6ffff MOV dword ptr [EBP + 0xfffff6d4],EDX
.text:0040a6a5 8bf7 MOV ESI,EDI
.text:0040a6a7 85db TEST EBX,EBX
.text:0040a6a9 0f84b4000000 JZ LAB_0040a763
LAB_0040a6af: ;XREF[1,0]: 0040a711
.text:0040a6af 83fe73 CMP ESI,0x73
.text:0040a6b2 745f JZ LAB_0040a713
.text:0040a6b4 8bce MOV ECX,ESI
.text:0040a6b6 c1e102 SHL ECX,0x2
.text:0040a6b9 3bf0 CMP ESI,EAX
.text:0040a6bb 7513 JNZ LAB_0040a6d0
.text:0040a6bd 83a40dc0f... AND dword ptr [EBP +...,0x0
.text:0040a6c5 8d4701 LEA EAX,[EDI + 0x1]
.text:0040a6c8 03c2 ADD EAX,EDX
.text:0040a6ca 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
LAB_0040a6d0: ;XREF[1,0]: 0040a6bb
.text:0040a6d0 8b85d0f6ffff MOV EAX,dword ptr [EBP + 0xfffff6d0]
.text:0040a6d6 8b0490 MOV EAX,dword ptr [EAX + EDX*0x4]
.text:0040a6d9 8b95dcf6ffff MOV EDX,dword ptr [EBP + 0xfffff6dc]
.text:0040a6df f724ba MUL dword ptr [EDX + EDI*0x4]
.text:0040a6e2 0385e4f6ffff ADD EAX,dword ptr [EBP + 0xfffff6e4]
.text:0040a6e8 83d200 ADC EDX,0x0
.text:0040a6eb 01840dc0f... ADD dword ptr [EBP +...,EAX
.text:0040a6f2 8b85bcf8ffff MOV EAX,dword ptr [EBP + 0xfffff8bc]
.text:0040a6f8 83d200 ADC EDX,0x0
.text:0040a6fb 8995e4f6ffff MOV dword ptr [EBP + 0xfffff6e4],EDX
.text:0040a701 8b95d4f6ffff MOV EDX,dword ptr [EBP + 0xfffff6d4]
.text:0040a707 42 INC EDX
.text:0040a708 46 INC ESI
.text:0040a709 8995d4f6ffff MOV dword ptr [EBP + 0xfffff6d4],EDX
.text:0040a70f 3bd3 CMP EDX,EBX
.text:0040a711 759c JNZ LAB_0040a6af
LAB_0040a713: ;XREF[1,0]: 0040a6b2
.text:0040a713 83bde4f6f... CMP dword ptr [EBP + 0xfffff6e4],0x0
.text:0040a71a 7447 JZ LAB_0040a763
.text:0040a71c 8d95c0f8ffff LEA EDX,[EBP + 0xfffff8c0]
.text:0040a722 8d14b2 LEA EDX,[EDX + ESI*0x4]
LAB_0040a725: ;XREF[1,0]: 0040a761
.text:0040a725 83fe73 CMP ESI,0x73
.text:0040a728 0f8420010000 JZ LAB_0040a84e
.text:0040a72e 8d4e01 LEA ECX,[ESI + 0x1]
.text:0040a731 3bf0 CMP ESI,EAX
.text:0040a733 8bf1 MOV ESI,ECX
.text:0040a735 7509 JNZ LAB_0040a740
.text:0040a737 832200 AND dword ptr [EDX],0x0
.text:0040a73a 898dbcf8ffff MOV dword ptr [EBP + 0xfffff8bc],ECX
LAB_0040a740: ;XREF[1,0]: 0040a735
.text:0040a740 8b85e4f6ffff MOV EAX,dword ptr [EBP + 0xfffff6e4]
.text:0040a746 8bca MOV ECX,EDX
.text:0040a748 83a5e4f6f... AND dword ptr [EBP + 0xfffff6e4],0x0
.text:0040a74f 83c204 ADD EDX,0x4
.text:0040a752 0101 ADD dword ptr [ECX],EAX
.text:0040a754 8b85bcf8ffff MOV EAX,dword ptr [EBP + 0xfffff8bc]
.text:0040a75a 8395e4f6f... ADC dword ptr [EBP + 0xfffff6e4],0x0
.text:0040a761 75c2 JNZ LAB_0040a725
LAB_0040a763: ;XREF[2,0]: 0040a6a9,0040a71a
.text:0040a763 83fe73 CMP ESI,0x73
.text:0040a766 0f84e2000000 JZ LAB_0040a84e
.text:0040a76c 8b8dccf6ffff MOV ECX,dword ptr [EBP + 0xfffff6cc]
.text:0040a772 8b95dcf6ffff MOV EDX,dword ptr [EBP + 0xfffff6dc]
LAB_0040a778: ;XREF[2,0]: 0040a67a,0040a691
.text:0040a778 47 INC EDI
.text:0040a779 3bf9 CMP EDI,ECX
.text:0040a77b 0f85f1feffff JNZ LAB_0040a672
LAB_0040a781: ;XREF[1,0]: 0040a66c
.text:0040a781 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0040a787 c1e002 SHL EAX,0x2
.text:0040a78a 50 PUSH EAX
.text:0040a78b 8d85c0f8ffff LEA EAX,[EBP + 0xfffff8c0]
LAB_0040a791: ;XREF[1,0]: 0040a4f9
.text:0040a791 50 PUSH EAX
.text:0040a792 68cc010000 PUSH 0x1cc
LAB_0040a797: ;XREF[1,0]: 0040a5dc
.text:0040a797 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0040a79d 50 PUSH EAX
.text:0040a79e e881220000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a7a3 b001 MOV AL,0x1
LAB_0040a7a5: ;XREF[1,0]: 0040a57b
.text:0040a7a5 83c410 ADD ESP,0x10
LAB_0040a7a8: ;XREF[1,0]: 0040a87a
.text:0040a7a8 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
LAB_0040a7ae: ;XREF[4,0]: 0040a504,0040a588,0040a5ea,0040a5f2
.text:0040a7ae 84c0 TEST AL,AL
.text:0040a7b0 0f84c9000000 JZ LAB_0040a87f
.text:0040a7b6 8b85e0f6ffff MOV EAX,dword ptr [EBP + 0xfffff6e0]
.text:0040a7bc 2b85c8f6ffff SUB EAX,dword ptr [EBP + 0xfffff6c8]
.text:0040a7c2 8985e0f6ffff MOV dword ptr [EBP + 0xfffff6e0],EAX
.text:0040a7c8 0f8593fcffff JNZ LAB_0040a461
.text:0040a7ce 8b8dbcf6ffff MOV ECX,dword ptr [EBP + 0xfffff6bc]
LAB_0040a7d4: ;XREF[1,0]: 0040a45b
.text:0040a7d4 8bc1 MOV EAX,ECX
.text:0040a7d6 33d2 XOR EDX,EDX
.text:0040a7d8 6a0a PUSH 0xa
.text:0040a7da 59 POP ECX
.text:0040a7db f7f1 DIV ECX
.text:0040a7dd 85d2 TEST EDX,EDX
.text:0040a7df 0f84dc000000 JZ LAB_0040a8c1
.text:0040a7e5 8b3c9564c... MOV EDI,dword ptr [EDX*0x4 + 0x41c764]=>....;= 0000000Ah
.text:0040a7ec 85ff TEST EDI,EDI
.text:0040a7ee 0f849d000000 JZ LAB_0040a891
.text:0040a7f4 83ff01 CMP EDI,0x1
.text:0040a7f7 0f84c4000000 JZ LAB_0040a8c1
.text:0040a7fd 85db TEST EBX,EBX
.text:0040a7ff 0f84bc000000 JZ LAB_0040a8c1
.text:0040a805 33c9 XOR ECX,ECX
.text:0040a807 33f6 XOR ESI,ESI
LAB_0040a809: ;XREF[1,0]: 0040a823
.text:0040a809 8bc7 MOV EAX,EDI
.text:0040a80b f7a4b560f... MUL dword ptr [EBP + ESI*0x4 + 0xfffffc60]
.text:0040a812 03c1 ADD EAX,ECX
.text:0040a814 8984b560f... MOV dword ptr [EBP +...,EAX
.text:0040a81b 83d200 ADC EDX,0x0
.text:0040a81e 46 INC ESI
.text:0040a81f 8bca MOV ECX,EDX
.text:0040a821 3bf3 CMP ESI,EBX
.text:0040a823 75e4 JNZ LAB_0040a809
.text:0040a825 85c9 TEST ECX,ECX
.text:0040a827 0f848e000000 JZ LAB_0040a8bb
.text:0040a82d 8b855cfcffff MOV EAX,dword ptr [EBP + 0xfffffc5c]
.text:0040a833 83f873 CMP EAX,0x73
.text:0040a836 7359 JNC LAB_0040a891
.text:0040a838 898c8560f... MOV dword ptr [EBP +...,ECX
.text:0040a83f 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040a845 43 INC EBX
.text:0040a846 899d5cfcffff MOV dword ptr [EBP + 0xfffffc5c],EBX
.text:0040a84c eb73 JMP LAB_0040a8c1
LAB_0040a84e: ;XREF[2,0]: 0040a728,0040a766
.text:0040a84e 33c0 XOR EAX,EAX
.text:0040a850 50 PUSH EAX
.text:0040a851 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
.text:0040a857 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0040a85d 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040a863 50 PUSH EAX
.text:0040a864 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0040a86a 68cc010000 PUSH 0x1cc
.text:0040a86f 50 PUSH EAX
.text:0040a870 e8af210000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a875 83c410 ADD ESP,0x10
.text:0040a878 32c0 XOR AL,AL
.text:0040a87a e929ffffff JMP LAB_0040a7a8
LAB_0040a87f: ;XREF[1,0]: 0040a7b0
.text:0040a87f 83a5d4f4f... AND dword ptr [EBP + 0xfffff4d4],0x0
.text:0040a886 83a55cfcf... AND dword ptr [EBP + 0xfffffc5c],0x0
.text:0040a88d 6a00 PUSH 0x0
.text:0040a88f eb0f JMP LAB_0040a8a0
LAB_0040a891: ;XREF[2,0]: 0040a7ee,0040a836
.text:0040a891 33c0 XOR EAX,EAX
.text:0040a893 50 PUSH EAX
.text:0040a894 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0040a89a 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
LAB_0040a8a0: ;XREF[1,0]: 0040a88f
.text:0040a8a0 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040a8a6 50 PUSH EAX
.text:0040a8a7 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0040a8ad 68cc010000 PUSH 0x1cc
.text:0040a8b2 50 PUSH EAX
.text:0040a8b3 e86c210000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a8b8 83c410 ADD ESP,0x10
LAB_0040a8bb: ;XREF[1,0]: 0040a827
.text:0040a8bb 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
LAB_0040a8c1: ;XREF[4,0]: 0040a7df,0040a7f7,0040a7ff,0040a84c
.text:0040a8c1 8b95d8f6ffff MOV EDX,dword ptr [EBP + 0xfffff6d8]
.text:0040a8c7 85d2 TEST EDX,EDX
.text:0040a8c9 7470 JZ LAB_0040a93b
.text:0040a8cb 33c9 XOR ECX,ECX
.text:0040a8cd 85db TEST EBX,EBX
.text:0040a8cf 741e JZ LAB_0040a8ef
LAB_0040a8d1: ;XREF[1,0]: 0040a8e9
.text:0040a8d1 8bc2 MOV EAX,EDX
.text:0040a8d3 33d2 XOR EDX,EDX
.text:0040a8d5 01848d60f... ADD dword ptr [EBP +...,EAX
.text:0040a8dc 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040a8e2 13d2 ADC EDX,EDX
.text:0040a8e4 41 INC ECX
.text:0040a8e5 8bc2 MOV EAX,EDX
.text:0040a8e7 3bcb CMP ECX,EBX
.text:0040a8e9 75e6 JNZ LAB_0040a8d1
.text:0040a8eb 85c0 TEST EAX,EAX
.text:0040a8ed 744c JZ LAB_0040a93b
LAB_0040a8ef: ;XREF[1,0]: 0040a8cf
.text:0040a8ef 83fb73 CMP EBX,0x73
.text:0040a8f2 7316 JNC LAB_0040a90a
.text:0040a8f4 89949d60f... MOV dword ptr [EBP +...,EDX
.text:0040a8fb 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040a901 43 INC EBX
.text:0040a902 899d5cfcffff MOV dword ptr [EBP + 0xfffffc5c],EBX
.text:0040a908 eb31 JMP LAB_0040a93b
LAB_0040a90a: ;XREF[1,0]: 0040a8f2
.text:0040a90a 83a5d4f4f... AND dword ptr [EBP + 0xfffff4d4],0x0
.text:0040a911 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040a917 83a55cfcf... AND dword ptr [EBP + 0xfffffc5c],0x0
.text:0040a91e 6a00 PUSH 0x0
.text:0040a920 50 PUSH EAX
.text:0040a921 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0040a927 68cc010000 PUSH 0x1cc
.text:0040a92c 50 PUSH EAX
.text:0040a92d e8f2200000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040a932 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040a938 83c410 ADD ESP,0x10
LAB_0040a93b: ;XREF[4,0]: 0040a444,0040a8c9,0040a8ed,0040a908
.text:0040a93b 8b85c0f6ffff MOV EAX,dword ptr [EBP + 0xfffff6c0]
LAB_0040a941: ;XREF[1,0]: 0040a305
.text:0040a941 8b8db4f6ffff MOV ECX,dword ptr [EBP + 0xfffff6b4]
.text:0040a947 833900 CMP dword ptr [ECX],0x0
.text:0040a94a 7d02 JGE LAB_0040a94e
.text:0040a94c 2b01 SUB EAX,dword ptr [ECX]
LAB_0040a94e: ;XREF[1,0]: 0040a94a
.text:0040a94e 6a0a PUSH 0xa
.text:0040a950 33d2 XOR EDX,EDX
.text:0040a952 8985c0f6ffff MOV dword ptr [EBP + 0xfffff6c0],EAX
.text:0040a958 5e POP ESI
.text:0040a959 f7f6 DIV ESI
.text:0040a95b 83a594faf... AND dword ptr [EBP + 0xfffffa94],0x0
.text:0040a962 33c9 XOR ECX,ECX
.text:0040a964 41 INC ECX
.text:0040a965 8985dcf6ffff MOV dword ptr [EBP + 0xfffff6dc],EAX
.text:0040a96b 898d90faffff MOV dword ptr [EBP + 0xfffffa90],ECX
.text:0040a971 898de4f6ffff MOV dword ptr [EBP + 0xfffff6e4],ECX
.text:0040a977 898d8cfaffff MOV dword ptr [EBP + 0xfffffa8c],ECX
.text:0040a97d 85c0 TEST EAX,EAX
.text:0040a97f 0f84c9030000 JZ LAB_0040ad4e
LAB_0040a985: ;XREF[1,0]: 0040ad3f
.text:0040a985 83f826 CMP EAX,0x26
.text:0040a988 760b JBE LAB_0040a995
.text:0040a98a 6a26 PUSH 0x26
.text:0040a98c 5b POP EBX
.text:0040a98d 899dccf6ffff MOV dword ptr [EBP + 0xfffff6cc],EBX
.text:0040a993 eb08 JMP LAB_0040a99d
LAB_0040a995: ;XREF[1,0]: 0040a988
.text:0040a995 8bd8 MOV EBX,EAX
.text:0040a997 8985ccf6ffff MOV dword ptr [EBP + 0xfffff6cc],EAX
LAB_0040a99d: ;XREF[1,0]: 0040a993
; FWD[2,0]: 0041c6ce,0041c766
.text:0040a99d 0fb60c9dc... MOVZX ECX,byte ptr [EBX*0x4 + 0x41c6ce]=>.r...;= 0Bh
; FWD[2,0]: 0041c6cf,0041c767
.text:0040a9a5 0fb6349dc... MOVZX ESI,byte ptr [EBX*0x4 + 0x41c6cf]=>.r...;= 1Dh
.text:0040a9ad 8bf9 MOV EDI,ECX
.text:0040a9af c1e702 SHL EDI,0x2
.text:0040a9b2 57 PUSH EDI
.text:0040a9b3 6a00 PUSH 0x0
.text:0040a9b5 8d0431 LEA EAX,[ECX + ESI*0x1]
.text:0040a9b8 8985ecf6ffff MOV dword ptr [EBP + 0xfffff6ec],EAX
.text:0040a9be 8d85f0f6ffff LEA EAX,[EBP + 0xfffff6f0]
.text:0040a9c4 50 PUSH EAX
.text:0040a9c5 e8667cffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040a9ca 8bc6 MOV EAX,ESI
.text:0040a9cc c1e002 SHL EAX,0x2
.text:0040a9cf 50 PUSH EAX
.text:0040a9d0 0fb7049dc... MOVZX EAX,word ptr [EBX*0x4 + 0x41c6cc]=>.r...;= 0225h
.text:0040a9d8 8d0485c8b... LEA EAX,[EAX*0x4 + 0x41bdc8]=>.rdata:DAT_...
.text:0040a9df 50 PUSH EAX=>.rdata:DAT_0041c65c
.text:0040a9e0 8d85f0f6ffff LEA EAX,[EBP + 0xfffff6f0]
.text:0040a9e6 03c7 ADD EAX,EDI
.text:0040a9e8 50 PUSH EAX
.text:0040a9e9 e8c286ffff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:0040a9ee 8b85ecf6ffff MOV EAX,dword ptr [EBP + 0xfffff6ec]
.text:0040a9f4 33d2 XOR EDX,EDX
.text:0040a9f6 42 INC EDX
.text:0040a9f7 83c418 ADD ESP,0x18
.text:0040a9fa 3bc2 CMP EAX,EDX
.text:0040a9fc 0f87dd000000 JA LAB_0040aadf
.text:0040aa02 8b9df0f6ffff MOV EBX,dword ptr [EBP + 0xfffff6f0]
.text:0040aa08 85db TEST EBX,EBX
.text:0040aa0a 7543 JNZ LAB_0040aa4f
.text:0040aa0c 33c0 XOR EAX,EAX
.text:0040aa0e 50 PUSH EAX
.text:0040aa0f 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
.text:0040aa15 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:0040aa1b 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040aa21 50 PUSH EAX
.text:0040aa22 68cc010000 PUSH 0x1cc
LAB_0040aa27: ;XREF[1,0]: 0040ab34
.text:0040aa27 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:0040aa2d 50 PUSH EAX
.text:0040aa2e e8f11f0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040aa33 83c410 ADD ESP,0x10
LAB_0040aa36: ;XREF[1,0]: 0040ab74
.text:0040aa36 8bb58cfaffff MOV ESI,dword ptr [EBP + 0xfffffa8c]
.text:0040aa3c 89b5e4f6ffff MOV dword ptr [EBP + 0xfffff6e4],ESI
LAB_0040aa42: ;XREF[1,0]: 0040aaa0
.text:0040aa42 b001 MOV AL,0x1
LAB_0040aa44: ;XREF[3,0]: 0040aa55,0040aada,0040ab4c
.text:0040aa44 8b8de4f6ffff MOV ECX,dword ptr [EBP + 0xfffff6e4]
.text:0040aa4a e9d6020000 JMP LAB_0040ad25
LAB_0040aa4f: ;XREF[1,0]: 0040aa0a
.text:0040aa4f 3bda CMP EBX,EDX
.text:0040aa51 7504 JNZ LAB_0040aa57
LAB_0040aa53: ;XREF[1,0]: 0040aa5f
.text:0040aa53 8ac2 MOV AL,DL
.text:0040aa55 ebed JMP LAB_0040aa44
LAB_0040aa57: ;XREF[1,0]: 0040aa51
.text:0040aa57 8b8de4f6ffff MOV ECX,dword ptr [EBP + 0xfffff6e4]
.text:0040aa5d 85c9 TEST ECX,ECX
.text:0040aa5f 74f2 JZ LAB_0040aa53
.text:0040aa61 33f6 XOR ESI,ESI
.text:0040aa63 33ff XOR EDI,EDI
LAB_0040aa65: ;XREF[1,0]: 0040aa7f
.text:0040aa65 8bc3 MOV EAX,EBX
.text:0040aa67 f7a4bd90f... MUL dword ptr [EBP + EDI*0x4 + 0xfffffa90]
.text:0040aa6e 03c6 ADD EAX,ESI
.text:0040aa70 8984bd90f... MOV dword ptr [EBP +...,EAX
.text:0040aa77 83d200 ADC EDX,0x0
.text:0040aa7a 47 INC EDI
.text:0040aa7b 8bf2 MOV ESI,EDX
.text:0040aa7d 3bf9 CMP EDI,ECX
.text:0040aa7f 75e4 JNZ LAB_0040aa65
.text:0040aa81 e9ec000000 JMP LAB_0040ab72
LAB_0040aa86: ;XREF[1,0]: 0040ab83
.text:0040aa86 89b48590f... MOV dword ptr [EBP +...,ESI
.text:0040aa8d 8b8d8cfaffff MOV ECX,dword ptr [EBP + 0xfffffa8c]
.text:0040aa93 41 INC ECX
.text:0040aa94 898de4f6ffff MOV dword ptr [EBP + 0xfffff6e4],ECX
.text:0040aa9a 898d8cfaffff MOV dword ptr [EBP + 0xfffffa8c],ECX
.text:0040aaa0 eba0 JMP LAB_0040aa42
LAB_0040aaa2: ;XREF[1,0]: 0040ab89
.text:0040aaa2 33db XOR EBX,EBX
.text:0040aaa4 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040aaaa 53 PUSH EBX
.text:0040aaab 50 PUSH EAX
.text:0040aaac 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:0040aab2 899dd4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EBX
.text:0040aab8 68cc010000 PUSH 0x1cc
.text:0040aabd 50 PUSH EAX
.text:0040aabe 899d8cfaffff MOV dword ptr [EBP + 0xfffffa8c],EBX
.text:0040aac4 e85b1f0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040aac9 8ac3 MOV AL,BL
.text:0040aacb 83c410 ADD ESP,0x10
LAB_0040aace: ;XREF[1,0]: 0040ab3c
.text:0040aace 8bb58cfaffff MOV ESI,dword ptr [EBP + 0xfffffa8c]
.text:0040aad4 89b5e4f6ffff MOV dword ptr [EBP + 0xfffff6e4],ESI
.text:0040aada e965ffffff JMP LAB_0040aa44
LAB_0040aadf: ;XREF[1,0]: 0040a9fc
.text:0040aadf 8bb5e4f6ffff MOV ESI,dword ptr [EBP + 0xfffff6e4]
.text:0040aae5 3bf2 CMP ESI,EDX
.text:0040aae7 0f87a1000000 JA LAB_0040ab8e
.text:0040aaed 8b9d90faffff MOV EBX,dword ptr [EBP + 0xfffffa90]
.text:0040aaf3 becc010000 MOV ESI,0x1cc
.text:0040aaf8 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:0040aafe c1e002 SHL EAX,0x2
.text:0040ab01 50 PUSH EAX
.text:0040ab02 8d85f0f6ffff LEA EAX,[EBP + 0xfffff6f0]
.text:0040ab08 50 PUSH EAX
.text:0040ab09 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:0040ab0f 56 PUSH ESI
.text:0040ab10 50 PUSH EAX
.text:0040ab11 e80e1f0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040ab16 83c410 ADD ESP,0x10
.text:0040ab19 33c0 XOR EAX,EAX
.text:0040ab1b 85db TEST EBX,EBX
.text:0040ab1d 751a JNZ LAB_0040ab39
.text:0040ab1f 50 PUSH EAX
.text:0040ab20 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
.text:0040ab26 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:0040ab2c 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040ab32 50 PUSH EAX
.text:0040ab33 56 PUSH ESI
.text:0040ab34 e9eefeffff JMP LAB_0040aa27
LAB_0040ab39: ;XREF[1,0]: 0040ab1d
.text:0040ab39 40 INC EAX
.text:0040ab3a 3bd8 CMP EBX,EAX
.text:0040ab3c 7490 JZ LAB_0040aace
.text:0040ab3e 8b8d8cfaffff MOV ECX,dword ptr [EBP + 0xfffffa8c]
.text:0040ab44 898de4f6ffff MOV dword ptr [EBP + 0xfffff6e4],ECX
.text:0040ab4a 85c9 TEST ECX,ECX
.text:0040ab4c 0f84f2feffff JZ LAB_0040aa44
.text:0040ab52 33f6 XOR ESI,ESI
.text:0040ab54 33ff XOR EDI,EDI
LAB_0040ab56: ;XREF[1,0]: 0040ab70
.text:0040ab56 8bc3 MOV EAX,EBX
.text:0040ab58 f7a4bd90f... MUL dword ptr [EBP + EDI*0x4 + 0xfffffa90]
.text:0040ab5f 03c6 ADD EAX,ESI
.text:0040ab61 8984bd90f... MOV dword ptr [EBP +...,EAX
.text:0040ab68 83d200 ADC EDX,0x0
.text:0040ab6b 47 INC EDI
.text:0040ab6c 8bf2 MOV ESI,EDX
.text:0040ab6e 3bf9 CMP EDI,ECX
.text:0040ab70 75e4 JNZ LAB_0040ab56
LAB_0040ab72: ;XREF[1,0]: 0040aa81
.text:0040ab72 85f6 TEST ESI,ESI
.text:0040ab74 0f84bcfeffff JZ LAB_0040aa36
.text:0040ab7a 8b858cfaffff MOV EAX,dword ptr [EBP + 0xfffffa8c]
.text:0040ab80 83f873 CMP EAX,0x73
.text:0040ab83 0f82fdfeffff JC LAB_0040aa86
.text:0040ab89 e914ffffff JMP LAB_0040aaa2
LAB_0040ab8e: ;XREF[1,0]: 0040aae7
.text:0040ab8e 3bc6 CMP EAX,ESI
.text:0040ab90 8d95f0f6ffff LEA EDX,[EBP + 0xfffff6f0]
.text:0040ab96 0f92c1 SETC CL
.text:0040ab99 7206 JC LAB_0040aba1
.text:0040ab9b 8d9590faffff LEA EDX,[EBP + 0xfffffa90]
LAB_0040aba1: ;XREF[1,0]: 0040ab99
.text:0040aba1 8995d8f6ffff MOV dword ptr [EBP + 0xfffff6d8],EDX
.text:0040aba7 84c9 TEST CL,CL
.text:0040aba9 7410 JZ LAB_0040abbb
.text:0040abab 8dbd90faffff LEA EDI,[EBP + 0xfffffa90]
.text:0040abb1 8bc8 MOV ECX,EAX
.text:0040abb3 89bdd0f6ffff MOV dword ptr [EBP + 0xfffff6d0],EDI
.text:0040abb9 eb10 JMP LAB_0040abcb
LAB_0040abbb: ;XREF[1,0]: 0040aba9
.text:0040abbb 8d8df0f6ffff LEA ECX,[EBP + 0xfffff6f0]
.text:0040abc1 898dd0f6ffff MOV dword ptr [EBP + 0xfffff6d0],ECX
.text:0040abc7 8bce MOV ECX,ESI
.text:0040abc9 8bf0 MOV ESI,EAX
LAB_0040abcb: ;XREF[1,0]: 0040abb9
.text:0040abcb 33c0 XOR EAX,EAX
.text:0040abcd 898dd4f6ffff MOV dword ptr [EBP + 0xfffff6d4],ECX
.text:0040abd3 33db XOR EBX,EBX
.text:0040abd5 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
.text:0040abdb 85c9 TEST ECX,ECX
.text:0040abdd 0f840f010000 JZ LAB_0040acf2
LAB_0040abe3: ;XREF[1,0]: 0040acec
.text:0040abe3 833c9a00 CMP dword ptr [EDX + EBX*0x4],0x0
.text:0040abe7 751e JNZ LAB_0040ac07
.text:0040abe9 3bd8 CMP EBX,EAX
.text:0040abeb 0f85f8000000 JNZ LAB_0040ace9
.text:0040abf1 83a49dc0f... AND dword ptr [EBP +...,0x0
.text:0040abf9 8d4301 LEA EAX,[EBX + 0x1]
.text:0040abfc 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
.text:0040ac02 e9e2000000 JMP LAB_0040ace9
LAB_0040ac07: ;XREF[1,0]: 0040abe7
.text:0040ac07 33d2 XOR EDX,EDX
.text:0040ac09 8bfb MOV EDI,EBX
.text:0040ac0b 2195e0f6ffff AND dword ptr [EBP + 0xfffff6e0],EDX
.text:0040ac11 8995e4f6ffff MOV dword ptr [EBP + 0xfffff6e4],EDX
.text:0040ac17 85f6 TEST ESI,ESI
.text:0040ac19 0f84b5000000 JZ LAB_0040acd4
LAB_0040ac1f: ;XREF[1,0]: 0040ac87
.text:0040ac1f 83ff73 CMP EDI,0x73
.text:0040ac22 7465 JZ LAB_0040ac89
.text:0040ac24 8b95e0f6ffff MOV EDX,dword ptr [EBP + 0xfffff6e0]
.text:0040ac2a 8bcf MOV ECX,EDI
.text:0040ac2c c1e102 SHL ECX,0x2
.text:0040ac2f 3bf8 CMP EDI,EAX
.text:0040ac31 7513 JNZ LAB_0040ac46
.text:0040ac33 83a40dc0f... AND dword ptr [EBP +...,0x0
.text:0040ac3b 8d4201 LEA EAX,[EDX + 0x1]
.text:0040ac3e 03c3 ADD EAX,EBX
.text:0040ac40 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
LAB_0040ac46: ;XREF[1,0]: 0040ac31
.text:0040ac46 8b85d0f6ffff MOV EAX,dword ptr [EBP + 0xfffff6d0]
.text:0040ac4c 8b0490 MOV EAX,dword ptr [EAX + EDX*0x4]
.text:0040ac4f 8b95d8f6ffff MOV EDX,dword ptr [EBP + 0xfffff6d8]
.text:0040ac55 f7249a MUL dword ptr [EDX + EBX*0x4]
.text:0040ac58 0385e4f6ffff ADD EAX,dword ptr [EBP + 0xfffff6e4]
.text:0040ac5e 83d200 ADC EDX,0x0
.text:0040ac61 01840dc0f... ADD dword ptr [EBP +...,EAX
.text:0040ac68 8b8de0f6ffff MOV ECX,dword ptr [EBP + 0xfffff6e0]
.text:0040ac6e 8b85bcf8ffff MOV EAX,dword ptr [EBP + 0xfffff8bc]
.text:0040ac74 83d200 ADC EDX,0x0
.text:0040ac77 41 INC ECX
.text:0040ac78 8995e4f6ffff MOV dword ptr [EBP + 0xfffff6e4],EDX
.text:0040ac7e 47 INC EDI
.text:0040ac7f 898de0f6ffff MOV dword ptr [EBP + 0xfffff6e0],ECX
.text:0040ac85 3bce CMP ECX,ESI
.text:0040ac87 7596 JNZ LAB_0040ac1f
LAB_0040ac89: ;XREF[1,0]: 0040ac22
.text:0040ac89 85d2 TEST EDX,EDX
.text:0040ac8b 7447 JZ LAB_0040acd4
.text:0040ac8d 8d95c0f8ffff LEA EDX,[EBP + 0xfffff8c0]
.text:0040ac93 8d14ba LEA EDX,[EDX + EDI*0x4]
LAB_0040ac96: ;XREF[1,0]: 0040acd2
.text:0040ac96 83ff73 CMP EDI,0x73
.text:0040ac99 0f8415010000 JZ LAB_0040adb4
.text:0040ac9f 8d4f01 LEA ECX,[EDI + 0x1]
.text:0040aca2 3bf8 CMP EDI,EAX
.text:0040aca4 8bf9 MOV EDI,ECX
.text:0040aca6 7509 JNZ LAB_0040acb1
.text:0040aca8 832200 AND dword ptr [EDX],0x0
.text:0040acab 898dbcf8ffff MOV dword ptr [EBP + 0xfffff8bc],ECX
LAB_0040acb1: ;XREF[1,0]: 0040aca6
.text:0040acb1 8b85e4f6ffff MOV EAX,dword ptr [EBP + 0xfffff6e4]
.text:0040acb7 8bca MOV ECX,EDX
.text:0040acb9 83a5e4f6f... AND dword ptr [EBP + 0xfffff6e4],0x0
.text:0040acc0 83c204 ADD EDX,0x4
.text:0040acc3 0101 ADD dword ptr [ECX],EAX
.text:0040acc5 8b85bcf8ffff MOV EAX,dword ptr [EBP + 0xfffff8bc]
.text:0040accb 8395e4f6f... ADC dword ptr [EBP + 0xfffff6e4],0x0
.text:0040acd2 75c2 JNZ LAB_0040ac96
LAB_0040acd4: ;XREF[2,0]: 0040ac19,0040ac8b
.text:0040acd4 83ff73 CMP EDI,0x73
.text:0040acd7 0f84d7000000 JZ LAB_0040adb4
.text:0040acdd 8b8dd4f6ffff MOV ECX,dword ptr [EBP + 0xfffff6d4]
.text:0040ace3 8b95d8f6ffff MOV EDX,dword ptr [EBP + 0xfffff6d8]
LAB_0040ace9: ;XREF[2,0]: 0040abeb,0040ac02
.text:0040ace9 43 INC EBX
.text:0040acea 3bd9 CMP EBX,ECX
.text:0040acec 0f85f1feffff JNZ LAB_0040abe3
LAB_0040acf2: ;XREF[1,0]: 0040abdd
.text:0040acf2 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:0040acf8 c1e002 SHL EAX,0x2
.text:0040acfb 50 PUSH EAX
.text:0040acfc 8d85c0f8ffff LEA EAX,[EBP + 0xfffff8c0]
.text:0040ad02 50 PUSH EAX
.text:0040ad03 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:0040ad09 68cc010000 PUSH 0x1cc
.text:0040ad0e 50 PUSH EAX
.text:0040ad0f e8101d0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040ad14 83c410 ADD ESP,0x10
.text:0040ad17 b001 MOV AL,0x1
LAB_0040ad19: ;XREF[1,0]: 0040ade1
.text:0040ad19 8b8d8cfaffff MOV ECX,dword ptr [EBP + 0xfffffa8c]
.text:0040ad1f 898de4f6ffff MOV dword ptr [EBP + 0xfffff6e4],ECX
LAB_0040ad25: ;XREF[1,0]: 0040aa4a
.text:0040ad25 84c0 TEST AL,AL
.text:0040ad27 0f84b9000000 JZ LAB_0040ade6
.text:0040ad2d 8b85dcf6ffff MOV EAX,dword ptr [EBP + 0xfffff6dc]
.text:0040ad33 2b85ccf6ffff SUB EAX,dword ptr [EBP + 0xfffff6cc]
.text:0040ad39 8985dcf6ffff MOV dword ptr [EBP + 0xfffff6dc],EAX
.text:0040ad3f 0f8540fcffff JNZ LAB_0040a985
.text:0040ad45 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040ad4b 6a0a PUSH 0xa
.text:0040ad4d 5e POP ESI
LAB_0040ad4e: ;XREF[1,0]: 0040a97f
.text:0040ad4e 8b85c0f6ffff MOV EAX,dword ptr [EBP + 0xfffff6c0]
.text:0040ad54 33d2 XOR EDX,EDX
.text:0040ad56 f7f6 DIV ESI
.text:0040ad58 85d2 TEST EDX,EDX
.text:0040ad5a 0f8448010000 JZ LAB_0040aea8
.text:0040ad60 8b049564c... MOV EAX,dword ptr [EDX*0x4 + .rdata:DAT_0...;= 0225h
.text:0040ad67 8985bcf6ffff MOV dword ptr [EBP + 0xfffff6bc],EAX
.text:0040ad6d 85c0 TEST EAX,EAX
.text:0040ad6f 0f8583000000 JNZ LAB_0040adf8
.text:0040ad75 50 PUSH EAX
.text:0040ad76 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
.text:0040ad7c 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:0040ad82 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040ad88 50 PUSH EAX
.text:0040ad89 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:0040ad8f 68cc010000 PUSH 0x1cc
.text:0040ad94 50 PUSH EAX
.text:0040ad95 e88a1c0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040ad9a 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040ada0 83c410 ADD ESP,0x10
LAB_0040ada3: ;XREF[1,0]: 0040ae2f
.text:0040ada3 8b8d8cfaffff MOV ECX,dword ptr [EBP + 0xfffffa8c]
.text:0040ada9 898de4f6ffff MOV dword ptr [EBP + 0xfffff6e4],ECX
.text:0040adaf e9fa000000 JMP LAB_0040aeae
LAB_0040adb4: ;XREF[2,0]: 0040ac99,0040acd7
.text:0040adb4 83a5d4f4f... AND dword ptr [EBP + 0xfffff4d4],0x0
.text:0040adbb 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040adc1 83a58cfaf... AND dword ptr [EBP + 0xfffffa8c],0x0
.text:0040adc8 6a00 PUSH 0x0
.text:0040adca 50 PUSH EAX
.text:0040adcb 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:0040add1 68cc010000 PUSH 0x1cc
.text:0040add6 50 PUSH EAX
.text:0040add7 e8481c0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040addc 83c410 ADD ESP,0x10
.text:0040addf 32c0 XOR AL,AL
.text:0040ade1 e933ffffff JMP LAB_0040ad19
LAB_0040ade6: ;XREF[1,0]: 0040ad27
.text:0040ade6 83a5d4f4f... AND dword ptr [EBP + 0xfffff4d4],0x0
.text:0040aded 83a58cfaf... AND dword ptr [EBP + 0xfffffa8c],0x0
.text:0040adf4 6a00 PUSH 0x0
.text:0040adf6 eb73 JMP LAB_0040ae6b
LAB_0040adf8: ;XREF[1,0]: 0040ad6f
.text:0040adf8 83f801 CMP EAX,0x1
.text:0040adfb 0f84a7000000 JZ LAB_0040aea8
.text:0040ae01 85c9 TEST ECX,ECX
.text:0040ae03 0f849f000000 JZ LAB_0040aea8
.text:0040ae09 33ff XOR EDI,EDI
.text:0040ae0b 33f6 XOR ESI,ESI
LAB_0040ae0d: ;XREF[1,0]: 0040ae2b
.text:0040ae0d f7a4b590f... MUL dword ptr [EBP + ESI*0x4 + 0xfffffa90]
.text:0040ae14 03c7 ADD EAX,EDI
.text:0040ae16 8984b590f... MOV dword ptr [EBP +...,EAX
.text:0040ae1d 8b85bcf6ffff MOV EAX,dword ptr [EBP + 0xfffff6bc]
.text:0040ae23 83d200 ADC EDX,0x0
.text:0040ae26 46 INC ESI
.text:0040ae27 8bfa MOV EDI,EDX
.text:0040ae29 3bf1 CMP ESI,ECX
.text:0040ae2b 75e0 JNZ LAB_0040ae0d
.text:0040ae2d 85ff TEST EDI,EDI
.text:0040ae2f 0f846effffff JZ LAB_0040ada3
.text:0040ae35 8b858cfaffff MOV EAX,dword ptr [EBP + 0xfffffa8c]
.text:0040ae3b 83f873 CMP EAX,0x73
.text:0040ae3e 731c JNC LAB_0040ae5c
.text:0040ae40 89bc8590f... MOV dword ptr [EBP +...,EDI
.text:0040ae47 8b8d8cfaffff MOV ECX,dword ptr [EBP + 0xfffffa8c]
.text:0040ae4d 41 INC ECX
.text:0040ae4e 898de4f6ffff MOV dword ptr [EBP + 0xfffff6e4],ECX
.text:0040ae54 898d8cfaffff MOV dword ptr [EBP + 0xfffffa8c],ECX
.text:0040ae5a eb52 JMP LAB_0040aeae
LAB_0040ae5c: ;XREF[1,0]: 0040ae3e
.text:0040ae5c 33c0 XOR EAX,EAX
.text:0040ae5e 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
.text:0040ae64 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:0040ae6a 50 PUSH EAX
LAB_0040ae6b: ;XREF[1,0]: 0040adf6
.text:0040ae6b 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040ae71 50 PUSH EAX
.text:0040ae72 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:0040ae78 68cc010000 PUSH 0x1cc
.text:0040ae7d 50 PUSH EAX
.text:0040ae7e e8a11b0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040ae83 8b85b4f6ffff MOV EAX,dword ptr [EBP + 0xfffff6b4]
.text:0040ae89 83c410 ADD ESP,0x10
.text:0040ae8c ffb5acf6ffff PUSH dword ptr [EBP + 0xfffff6ac]
.text:0040ae92 0fb680080... MOVZX EAX,byte ptr [EAX + 0x308]
.text:0040ae99 50 PUSH EAX
.text:0040ae9a e831e7ffff CALL __crt_strtox::assemble_floating_point...;void assemble_floating_point_zero(bo...
.text:0040ae9f 59 POP ECX
.text:0040aea0 59 POP ECX
.text:0040aea1 6a02 PUSH 0x2
.text:0040aea3 e9e9f3ffff JMP LAB_0040a291
LAB_0040aea8: ;XREF[3,0]: 0040ad5a,0040adfb,0040ae03
.text:0040aea8 8b8de4f6ffff MOV ECX,dword ptr [EBP + 0xfffff6e4]
LAB_0040aeae: ;XREF[2,0]: 0040adaf,0040ae5a
.text:0040aeae 85db TEST EBX,EBX
.text:0040aeb0 7504 JNZ LAB_0040aeb6
.text:0040aeb2 33f6 XOR ESI,ESI
.text:0040aeb4 eb20 JMP LAB_0040aed6
LAB_0040aeb6: ;XREF[1,0]: 0040aeb0
.text:0040aeb6 8b849d5cf... MOV EAX,dword ptr [EBP + EBX*0x4 + 0xffff...
.text:0040aebd 83a5b8f6f... AND dword ptr [EBP + 0xfffff6b8],0x0
.text:0040aec4 0fbdc0 BSR EAX,EAX
.text:0040aec7 7403 JZ LAB_0040aecc
.text:0040aec9 40 INC EAX
.text:0040aeca eb02 JMP LAB_0040aece
LAB_0040aecc: ;XREF[1,0]: 0040aec7
.text:0040aecc 33c0 XOR EAX,EAX
LAB_0040aece: ;XREF[1,0]: 0040aeca
.text:0040aece 8d73ff LEA ESI,[EBX + -0x1]
.text:0040aed1 c1e605 SHL ESI,0x5
.text:0040aed4 03f0 ADD ESI,EAX
LAB_0040aed6: ;XREF[1,0]: 0040aeb4
.text:0040aed6 85c9 TEST ECX,ECX
.text:0040aed8 7504 JNZ LAB_0040aede
.text:0040aeda 33d2 XOR EDX,EDX
.text:0040aedc eb20 JMP LAB_0040aefe
LAB_0040aede: ;XREF[1,0]: 0040aed8
.text:0040aede 8b848d8cf... MOV EAX,dword ptr [EBP + ECX*0x4 + 0xffff...
.text:0040aee5 83a5b8f6f... AND dword ptr [EBP + 0xfffff6b8],0x0
.text:0040aeec 0fbdc0 BSR EAX,EAX
.text:0040aeef 7403 JZ LAB_0040aef4
.text:0040aef1 40 INC EAX
.text:0040aef2 eb02 JMP LAB_0040aef6
LAB_0040aef4: ;XREF[1,0]: 0040aeef
.text:0040aef4 33c0 XOR EAX,EAX
LAB_0040aef6: ;XREF[1,0]: 0040aef2
.text:0040aef6 8d51ff LEA EDX,[ECX + -0x1]
.text:0040aef9 c1e205 SHL EDX,0x5
.text:0040aefc 03d0 ADD EDX,EAX
LAB_0040aefe: ;XREF[1,0]: 0040aedc
.text:0040aefe 8bc2 MOV EAX,EDX
.text:0040af00 2bc6 SUB EAX,ESI
.text:0040af02 3bf2 CMP ESI,EDX
.text:0040af04 1bd2 SBB EDX,EDX
.text:0040af06 23d0 AND EDX,EAX
.text:0040af08 8995e0f6ffff MOV dword ptr [EBP + 0xfffff6e0],EDX
.text:0040af0e 0f8682010000 JBE LAB_0040b096
.text:0040af14 8bfa MOV EDI,EDX
.text:0040af16 8bf2 MOV ESI,EDX
.text:0040af18 6a20 PUSH 0x20
.text:0040af1a 83e71f AND EDI,0x1f
.text:0040af1d c1ee05 SHR ESI,0x5
.text:0040af20 59 POP ECX
.text:0040af21 33c0 XOR EAX,EAX
.text:0040af23 89b5b8f6ffff MOV dword ptr [EBP + 0xfffff6b8],ESI
.text:0040af29 2bcf SUB ECX,EDI
.text:0040af2b 89bdbcf6ffff MOV dword ptr [EBP + 0xfffff6bc],EDI
.text:0040af31 40 INC EAX
.text:0040af32 898dd8f6ffff MOV dword ptr [EBP + 0xfffff6d8],ECX
.text:0040af38 33d2 XOR EDX,EDX
.text:0040af3a e851f80000 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:0040af3f 8b8c9d5cf... MOV ECX,dword ptr [EBP + EBX*0x4 + 0xffff...
.text:0040af46 48 DEC EAX
.text:0040af47 8985dcf6ffff MOV dword ptr [EBP + 0xfffff6dc],EAX
.text:0040af4d 33d2 XOR EDX,EDX
.text:0040af4f 0fbdc9 BSR ECX,ECX
.text:0040af52 f7d0 NOT EAX
.text:0040af54 8995d0f6ffff MOV dword ptr [EBP + 0xfffff6d0],EDX
.text:0040af5a 8985ccf6ffff MOV dword ptr [EBP + 0xfffff6cc],EAX
.text:0040af60 7403 JZ LAB_0040af65
.text:0040af62 41 INC ECX
.text:0040af63 eb02 JMP LAB_0040af67
LAB_0040af65: ;XREF[1,0]: 0040af60
.text:0040af65 8bca MOV ECX,EDX
LAB_0040af67: ;XREF[1,0]: 0040af63
.text:0040af67 8d041e LEA EAX,[ESI + EBX*0x1]
.text:0040af6a 83f873 CMP EAX,0x73
.text:0040af6d 7639 JBE LAB_0040afa8
.text:0040af6f 8995d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EDX
.text:0040af75 89955cfcffff MOV dword ptr [EBP + 0xfffffc5c],EDX
.text:0040af7b 52 PUSH EDX
LAB_0040af7c: ;XREF[1,0]: 0040afd1
.text:0040af7c 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040af82 50 PUSH EAX
.text:0040af83 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0040af89 68cc010000 PUSH 0x1cc
.text:0040af8e 50 PUSH EAX
.text:0040af8f e8901a0000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040af94 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040af9a 83c410 ADD ESP,0x10
.text:0040af9d 8b8d8cfaffff MOV ECX,dword ptr [EBP + 0xfffffa8c]
.text:0040afa3 e9e8000000 JMP LAB_0040b090
LAB_0040afa8: ;XREF[1,0]: 0040af6d
.text:0040afa8 6a20 PUSH 0x20
.text:0040afaa 58 POP EAX
.text:0040afab 2bc1 SUB EAX,ECX
.text:0040afad 3bc7 CMP EAX,EDI
.text:0040afaf 1bd2 SBB EDX,EDX
.text:0040afb1 f7da NEG EDX
.text:0040afb3 03d6 ADD EDX,ESI
.text:0040afb5 03d3 ADD EDX,EBX
.text:0040afb7 8995c0f6ffff MOV dword ptr [EBP + 0xfffff6c0],EDX
.text:0040afbd 83fa73 CMP EDX,0x73
.text:0040afc0 7611 JBE LAB_0040afd3
.text:0040afc2 33c0 XOR EAX,EAX
.text:0040afc4 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
.text:0040afca 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0040afd0 50 PUSH EAX
.text:0040afd1 eba9 JMP LAB_0040af7c
LAB_0040afd3: ;XREF[1,0]: 0040afc0
.text:0040afd3 8d46ff LEA EAX,[ESI + -0x1]
.text:0040afd6 8d4aff LEA ECX,[EDX + -0x1]
.text:0040afd9 8985c8f6ffff MOV dword ptr [EBP + 0xfffff6c8],EAX
.text:0040afdf 898dd4f6ffff MOV dword ptr [EBP + 0xfffff6d4],ECX
.text:0040afe5 3bc8 CMP ECX,EAX
.text:0040afe7 0f8485000000 JZ LAB_0040b072
.text:0040afed 8bf9 MOV EDI,ECX
.text:0040afef 8d955cfcffff LEA EDX,[EBP + 0xfffffc5c]
.text:0040aff5 2bfe SUB EDI,ESI
.text:0040aff7 8bb5bcf6ffff MOV ESI,dword ptr [EBP + 0xfffff6bc]
.text:0040affd 8d14ba LEA EDX,[EDX + EDI*0x4]
LAB_0040b000: ;XREF[1,0]: 0040b064
.text:0040b000 3bfb CMP EDI,EBX
.text:0040b002 7305 JNC LAB_0040b009
.text:0040b004 8b4204 MOV EAX,dword ptr [EDX + 0x4]
.text:0040b007 eb02 JMP LAB_0040b00b
LAB_0040b009: ;XREF[1,0]: 0040b002
.text:0040b009 33c0 XOR EAX,EAX
LAB_0040b00b: ;XREF[1,0]: 0040b007
.text:0040b00b 8985d0f6ffff MOV dword ptr [EBP + 0xfffff6d0],EAX
.text:0040b011 8d47ff LEA EAX,[EDI + -0x1]
.text:0040b014 3bc3 CMP EAX,EBX
.text:0040b016 7304 JNC LAB_0040b01c
.text:0040b018 8b02 MOV EAX,dword ptr [EDX]
.text:0040b01a eb02 JMP LAB_0040b01e
LAB_0040b01c: ;XREF[1,0]: 0040b016
.text:0040b01c 33c0 XOR EAX,EAX
LAB_0040b01e: ;XREF[1,0]: 0040b01a
.text:0040b01e 2385ccf6ffff AND EAX,dword ptr [EBP + 0xfffff6cc]
.text:0040b024 83ea04 SUB EDX,0x4
.text:0040b027 8b8dd8f6ffff MOV ECX,dword ptr [EBP + 0xfffff6d8]
.text:0040b02d 8b9dd0f6ffff MOV EBX,dword ptr [EBP + 0xfffff6d0]
.text:0040b033 239ddcf6ffff AND EBX,dword ptr [EBP + 0xfffff6dc]
.text:0040b039 d3e8 SHR EAX,CL
.text:0040b03b 8bce MOV ECX,ESI
.text:0040b03d d3e3 SHL EBX,CL
.text:0040b03f 8b8dd4f6ffff MOV ECX,dword ptr [EBP + 0xfffff6d4]
.text:0040b045 0bc3 OR EAX,EBX
.text:0040b047 89848d60f... MOV dword ptr [EBP +...,EAX
.text:0040b04e 49 DEC ECX
.text:0040b04f 4f DEC EDI
.text:0040b050 898dd4f6ffff MOV dword ptr [EBP + 0xfffff6d4],ECX
.text:0040b056 3b8dc8f6ffff CMP ECX,dword ptr [EBP + 0xfffff6c8]
.text:0040b05c 7408 JZ LAB_0040b066
.text:0040b05e 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040b064 eb9a JMP LAB_0040b000
LAB_0040b066: ;XREF[1,0]: 0040b05c
.text:0040b066 8b95c0f6ffff MOV EDX,dword ptr [EBP + 0xfffff6c0]
.text:0040b06c 8bb5b8f6ffff MOV ESI,dword ptr [EBP + 0xfffff6b8]
LAB_0040b072: ;XREF[1,0]: 0040afe7
.text:0040b072 85f6 TEST ESI,ESI
.text:0040b074 740c JZ LAB_0040b082
.text:0040b076 8bce MOV ECX,ESI
.text:0040b078 8dbd60fcffff LEA EDI,[EBP + 0xfffffc60]
.text:0040b07e 33c0 XOR EAX,EAX
.text:0040b080 f3ab STOSD.REP ES:EDI
LAB_0040b082: ;XREF[1,0]: 0040b074
.text:0040b082 8b8de4f6ffff MOV ECX,dword ptr [EBP + 0xfffff6e4]
.text:0040b088 8bda MOV EBX,EDX
.text:0040b08a 899d5cfcffff MOV dword ptr [EBP + 0xfffffc5c],EBX
LAB_0040b090: ;XREF[1,0]: 0040afa3
.text:0040b090 8b95e0f6ffff MOV EDX,dword ptr [EBP + 0xfffff6e0]
LAB_0040b096: ;XREF[1,0]: 0040af0e
.text:0040b096 8b85b0f6ffff MOV EAX,dword ptr [EBP + 0xfffff6b0]
.text:0040b09c 8bb5c4f6ffff MOV ESI,dword ptr [EBP + 0xfffff6c4]
.text:0040b0a2 2bc6 SUB EAX,ESI
.text:0040b0a4 8985b0f6ffff MOV dword ptr [EBP + 0xfffff6b0],EAX
.text:0040b0aa 8bf8 MOV EDI,EAX
.text:0040b0ac 85f6 TEST ESI,ESI
.text:0040b0ae 7435 JZ LAB_0040b0e5
.text:0040b0b0 3bd0 CMP EDX,EAX
.text:0040b0b2 762d JBE LAB_0040b0e1
.text:0040b0b4 8b85a4f6ffff MOV EAX,dword ptr [EBP + 0xfffff6a4]
.text:0040b0ba 3b85a8f6ffff CMP EAX,dword ptr [EBP + 0xfffff6a8]
.text:0040b0c0 ffb5acf6ffff PUSH dword ptr [EBP + 0xfffff6ac]
.text:0040b0c6 0f95c0 SETNZ AL
.text:0040b0c9 0fb6c0 MOVZX EAX,AL
.text:0040b0cc 50 PUSH EAX
.text:0040b0cd 8b85b4f6ffff MOV EAX,dword ptr [EBP + 0xfffff6b4]
.text:0040b0d3 0fb680080... MOVZX EAX,byte ptr [EAX + 0x308]
.text:0040b0da 50 PUSH EAX
.text:0040b0db 56 PUSH ESI
.text:0040b0dc e9ac020000 JMP LAB_0040b38d
LAB_0040b0e1: ;XREF[1,0]: 0040b0b2
.text:0040b0e1 8bf8 MOV EDI,EAX
.text:0040b0e3 2bfa SUB EDI,EDX
LAB_0040b0e5: ;XREF[1,0]: 0040b0ae
.text:0040b0e5 3bd9 CMP EBX,ECX
.text:0040b0e7 7728 JA LAB_0040b111
.text:0040b0e9 721f JC LAB_0040b10a
.text:0040b0eb 8d4bff LEA ECX,[EBX + -0x1]
.text:0040b0ee eb11 JMP LAB_0040b101
LAB_0040b0f0: ;XREF[1,0]: 0040b104
.text:0040b0f0 8b848d60f... MOV EAX,dword ptr [EBP + ECX*0x4 + 0xffff...
.text:0040b0f7 3b848d90f... CMP EAX,dword ptr [EBP + ECX*0x4 + 0xffff...
.text:0040b0fe 7508 JNZ LAB_0040b108
.text:0040b100 49 DEC ECX
LAB_0040b101: ;XREF[1,0]: 0040b0ee
.text:0040b101 83f9ff CMP ECX,-0x1
.text:0040b104 75ea JNZ LAB_0040b0f0
.text:0040b106 eb09 JMP LAB_0040b111
LAB_0040b108: ;XREF[1,0]: 0040b0fe
.text:0040b108 7707 JA LAB_0040b111
LAB_0040b10a: ;XREF[1,0]: 0040b0e9
.text:0040b10a 42 INC EDX
.text:0040b10b 8995e0f6ffff MOV dword ptr [EBP + 0xfffff6e0],EDX
LAB_0040b111: ;XREF[3,0]: 0040b0e7,0040b106,0040b108
.text:0040b111 6a20 PUSH 0x20
.text:0040b113 8bf7 MOV ESI,EDI
.text:0040b115 33c0 XOR EAX,EAX
.text:0040b117 83e71f AND EDI,0x1f
.text:0040b11a c1ee05 SHR ESI,0x5
.text:0040b11d 59 POP ECX
.text:0040b11e 2bcf SUB ECX,EDI
.text:0040b120 89bdd8f6ffff MOV dword ptr [EBP + 0xfffff6d8],EDI
.text:0040b126 40 INC EAX
.text:0040b127 898dbcf6ffff MOV dword ptr [EBP + 0xfffff6bc],ECX
.text:0040b12d 33d2 XOR EDX,EDX
.text:0040b12f e85cf60000 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:0040b134 8b8c9d5cf... MOV ECX,dword ptr [EBP + EBX*0x4 + 0xffff...
.text:0040b13b 48 DEC EAX
.text:0040b13c 8985ccf6ffff MOV dword ptr [EBP + 0xfffff6cc],EAX
.text:0040b142 33d2 XOR EDX,EDX
.text:0040b144 0fbdc9 BSR ECX,ECX
.text:0040b147 f7d0 NOT EAX
.text:0040b149 8995d0f6ffff MOV dword ptr [EBP + 0xfffff6d0],EDX
.text:0040b14f 8985b8f6ffff MOV dword ptr [EBP + 0xfffff6b8],EAX
.text:0040b155 7403 JZ LAB_0040b15a
.text:0040b157 41 INC ECX
.text:0040b158 eb02 JMP LAB_0040b15c
LAB_0040b15a: ;XREF[1,0]: 0040b155
.text:0040b15a 8bca MOV ECX,EDX
LAB_0040b15c: ;XREF[1,0]: 0040b158
.text:0040b15c 8d041e LEA EAX,[ESI + EBX*0x1]
.text:0040b15f 83f873 CMP EAX,0x73
.text:0040b162 762d JBE LAB_0040b191
.text:0040b164 8995d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EDX
.text:0040b16a 89955cfcffff MOV dword ptr [EBP + 0xfffffc5c],EDX
.text:0040b170 52 PUSH EDX
LAB_0040b171: ;XREF[1,0]: 0040b1ba
.text:0040b171 8d85d8f4ffff LEA EAX,[EBP + 0xfffff4d8]
.text:0040b177 50 PUSH EAX
.text:0040b178 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0040b17e 68cc010000 PUSH 0x1cc
.text:0040b183 50 PUSH EAX
.text:0040b184 e89b180000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040b189 83c410 ADD ESP,0x10
.text:0040b18c e9cd000000 JMP LAB_0040b25e
LAB_0040b191: ;XREF[1,0]: 0040b162
.text:0040b191 6a20 PUSH 0x20
.text:0040b193 58 POP EAX
.text:0040b194 2bc1 SUB EAX,ECX
.text:0040b196 3bc7 CMP EAX,EDI
.text:0040b198 1bd2 SBB EDX,EDX
.text:0040b19a f7da NEG EDX
.text:0040b19c 03d6 ADD EDX,ESI
.text:0040b19e 03d3 ADD EDX,EBX
.text:0040b1a0 8995dcf6ffff MOV dword ptr [EBP + 0xfffff6dc],EDX
.text:0040b1a6 83fa73 CMP EDX,0x73
.text:0040b1a9 7611 JBE LAB_0040b1bc
.text:0040b1ab 33c0 XOR EAX,EAX
.text:0040b1ad 8985d4f4ffff MOV dword ptr [EBP + 0xfffff4d4],EAX
.text:0040b1b3 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0040b1b9 50 PUSH EAX
.text:0040b1ba ebb5 JMP LAB_0040b171
LAB_0040b1bc: ;XREF[1,0]: 0040b1a9
.text:0040b1bc 8d4aff LEA ECX,[EDX + -0x1]
.text:0040b1bf 8d46ff LEA EAX,[ESI + -0x1]
.text:0040b1c2 898dd4f6ffff MOV dword ptr [EBP + 0xfffff6d4],ECX
.text:0040b1c8 3bc8 CMP ECX,EAX
.text:0040b1ca 747c JZ LAB_0040b248
.text:0040b1cc 8bf9 MOV EDI,ECX
.text:0040b1ce 8d955cfcffff LEA EDX,[EBP + 0xfffffc5c]
.text:0040b1d4 2bfe SUB EDI,ESI
.text:0040b1d6 8d14ba LEA EDX,[EDX + EDI*0x4]
LAB_0040b1d9: ;XREF[1,0]: 0040b240
.text:0040b1d9 3bfb CMP EDI,EBX
.text:0040b1db 7305 JNC LAB_0040b1e2
.text:0040b1dd 8b4204 MOV EAX,dword ptr [EDX + 0x4]
.text:0040b1e0 eb02 JMP LAB_0040b1e4
LAB_0040b1e2: ;XREF[1,0]: 0040b1db
.text:0040b1e2 33c0 XOR EAX,EAX
LAB_0040b1e4: ;XREF[1,0]: 0040b1e0
.text:0040b1e4 8985d0f6ffff MOV dword ptr [EBP + 0xfffff6d0],EAX
.text:0040b1ea 8d47ff LEA EAX,[EDI + -0x1]
.text:0040b1ed 3bc3 CMP EAX,EBX
.text:0040b1ef 7304 JNC LAB_0040b1f5
.text:0040b1f1 8b02 MOV EAX,dword ptr [EDX]
.text:0040b1f3 eb02 JMP LAB_0040b1f7
LAB_0040b1f5: ;XREF[1,0]: 0040b1ef
.text:0040b1f5 33c0 XOR EAX,EAX
LAB_0040b1f7: ;XREF[1,0]: 0040b1f3
.text:0040b1f7 2385b8f6ffff AND EAX,dword ptr [EBP + 0xfffff6b8]
.text:0040b1fd 83ea04 SUB EDX,0x4
.text:0040b200 8b8dbcf6ffff MOV ECX,dword ptr [EBP + 0xfffff6bc]
.text:0040b206 8b9dd0f6ffff MOV EBX,dword ptr [EBP + 0xfffff6d0]
.text:0040b20c 239dccf6ffff AND EBX,dword ptr [EBP + 0xfffff6cc]
.text:0040b212 d3e8 SHR EAX,CL
.text:0040b214 8b8dd8f6ffff MOV ECX,dword ptr [EBP + 0xfffff6d8]
.text:0040b21a d3e3 SHL EBX,CL
.text:0040b21c 8b8dd4f6ffff MOV ECX,dword ptr [EBP + 0xfffff6d4]
.text:0040b222 0bc3 OR EAX,EBX
.text:0040b224 89848d60f... MOV dword ptr [EBP +...,EAX
.text:0040b22b 49 DEC ECX
.text:0040b22c 8d46ff LEA EAX,[ESI + -0x1]
.text:0040b22f 898dd4f6ffff MOV dword ptr [EBP + 0xfffff6d4],ECX
.text:0040b235 4f DEC EDI
.text:0040b236 3bc8 CMP ECX,EAX
.text:0040b238 7408 JZ LAB_0040b242
.text:0040b23a 8b9d5cfcffff MOV EBX,dword ptr [EBP + 0xfffffc5c]
.text:0040b240 eb97 JMP LAB_0040b1d9
LAB_0040b242: ;XREF[1,0]: 0040b238
.text:0040b242 8b95dcf6ffff MOV EDX,dword ptr [EBP + 0xfffff6dc]
LAB_0040b248: ;XREF[1,0]: 0040b1ca
.text:0040b248 85f6 TEST ESI,ESI
.text:0040b24a 740c JZ LAB_0040b258
.text:0040b24c 8bce MOV ECX,ESI
.text:0040b24e 8dbd60fcffff LEA EDI,[EBP + 0xfffffc60]
.text:0040b254 33c0 XOR EAX,EAX
.text:0040b256 f3ab STOSD.REP ES:EDI
LAB_0040b258: ;XREF[1,0]: 0040b24a
.text:0040b258 89955cfcffff MOV dword ptr [EBP + 0xfffffc5c],EDX
LAB_0040b25e: ;XREF[1,0]: 0040b18c
.text:0040b25e 8d858cfaffff LEA EAX,[EBP + 0xfffffa8c]
.text:0040b264 50 PUSH EAX
.text:0040b265 8d855cfcffff LEA EAX,[EBP + 0xfffffc5c]
.text:0040b26b 50 PUSH EAX
.text:0040b26c e8ff010000 CALL FUN_0040b470 ;ulonglong FUN_0040b470(uint * param_...
.text:0040b271 83bd5cfcf... CMP dword ptr [EBP + 0xfffffc5c],0x0
.text:0040b278 8bf8 MOV EDI,EAX
.text:0040b27a 8bda MOV EBX,EDX
.text:0040b27c 0f94c0 SETZ AL
.text:0040b27f 8885d8f6ffff MOV byte ptr [EBP + 0xfffff6d8],AL
.text:0040b285 59 POP ECX
.text:0040b286 59 POP ECX
.text:0040b287 85db TEST EBX,EBX
.text:0040b289 7511 JNZ LAB_0040b29c
.text:0040b28b 83ffff CMP EDI,-0x1
.text:0040b28e 770c JA LAB_0040b29c
.text:0040b290 0fbdf7 BSR ESI,EDI
.text:0040b293 7403 JZ LAB_0040b298
.text:0040b295 46 INC ESI
.text:0040b296 eb11 JMP LAB_0040b2a9
LAB_0040b298: ;XREF[1,0]: 0040b293
.text:0040b298 33f6 XOR ESI,ESI
.text:0040b29a eb0d JMP LAB_0040b2a9
LAB_0040b29c: ;XREF[2,0]: 0040b289,0040b28e
.text:0040b29c 0fbdf3 BSR ESI,EBX
.text:0040b29f 7403 JZ LAB_0040b2a4
.text:0040b2a1 46 INC ESI
.text:0040b2a2 eb02 JMP LAB_0040b2a6
LAB_0040b2a4: ;XREF[1,0]: 0040b29f
.text:0040b2a4 33f6 XOR ESI,ESI
LAB_0040b2a6: ;XREF[1,0]: 0040b2a2
.text:0040b2a6 83c620 ADD ESI,0x20
LAB_0040b2a9: ;XREF[2,0]: 0040b296,0040b29a
.text:0040b2a9 8b8db0f6ffff MOV ECX,dword ptr [EBP + 0xfffff6b0]
.text:0040b2af 3bf1 CMP ESI,ECX
.text:0040b2b1 763d JBE LAB_0040b2f0
.text:0040b2b3 2bf1 SUB ESI,ECX
.text:0040b2b5 84c0 TEST AL,AL
.text:0040b2b7 7421 JZ LAB_0040b2da
.text:0040b2b9 33c0 XOR EAX,EAX
.text:0040b2bb 33d2 XOR EDX,EDX
.text:0040b2bd 40 INC EAX
.text:0040b2be 8bce MOV ECX,ESI
.text:0040b2c0 e8cbf40000 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:0040b2c5 83c0ff ADD EAX,-0x1
.text:0040b2c8 c685d8f6f... MOV byte ptr [EBP + 0xfffff6d8],0x1
.text:0040b2cf 83d2ff ADC EDX,-0x1
.text:0040b2d2 23c7 AND EAX,EDI
.text:0040b2d4 23d3 AND EDX,EBX
.text:0040b2d6 0bc2 OR EAX,EDX
.text:0040b2d8 7407 JZ LAB_0040b2e1
LAB_0040b2da: ;XREF[1,0]: 0040b2b7
.text:0040b2da c685d8f6f... MOV byte ptr [EBP + 0xfffff6d8],0x0
LAB_0040b2e1: ;XREF[1,0]: 0040b2d8
.text:0040b2e1 8bc7 MOV EAX,EDI
.text:0040b2e3 8bd3 MOV EDX,EBX
.text:0040b2e5 8bce MOV ECX,ESI
.text:0040b2e7 e8c4f40000 CALL __aullshr ;ulonglong __aullshr(byte param_1, ui...
.text:0040b2ec 8bf8 MOV EDI,EAX
.text:0040b2ee 8bda MOV EBX,EDX
LAB_0040b2f0: ;XREF[1,0]: 0040b2b1
.text:0040b2f0 8b8db0f6ffff MOV ECX,dword ptr [EBP + 0xfffff6b0]
.text:0040b2f6 33c0 XOR EAX,EAX
.text:0040b2f8 3b85e8f6ffff CMP EAX,dword ptr [EBP + 0xfffff6e8]
.text:0040b2fe 1bf6 SBB ESI,ESI
.text:0040b300 40 INC EAX
.text:0040b301 23b530feffff AND ESI,dword ptr [EBP + 0xfffffe30]
.text:0040b307 3b85e8f6ffff CMP EAX,dword ptr [EBP + 0xfffff6e8]
.text:0040b30d 1bd2 SBB EDX,EDX
.text:0040b30f 33c0 XOR EAX,EAX
.text:0040b311 239534feffff AND EDX,dword ptr [EBP + 0xfffffe34]
.text:0040b317 03c6 ADD EAX,ESI
.text:0040b319 83d200 ADC EDX,0x0
.text:0040b31c e86ff40000 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:0040b321 8b8dc4f6ffff MOV ECX,dword ptr [EBP + 0xfffff6c4]
.text:0040b327 8bf0 MOV ESI,EAX
.text:0040b329 03f7 ADD ESI,EDI
.text:0040b32b 13d3 ADC EDX,EBX
.text:0040b32d 85c9 TEST ECX,ECX
.text:0040b32f 7405 JZ LAB_0040b336
.text:0040b331 83c1fe ADD ECX,-0x2
.text:0040b334 eb08 JMP LAB_0040b33e
LAB_0040b336: ;XREF[1,0]: 0040b32f
.text:0040b336 8b8de0f6ffff MOV ECX,dword ptr [EBP + 0xfffff6e0]
.text:0040b33c f7d1 NOT ECX
LAB_0040b33e: ;XREF[1,0]: 0040b334
.text:0040b33e ffb5acf6ffff PUSH dword ptr [EBP + 0xfffff6ac]
.text:0040b344 8b85b4f6ffff MOV EAX,dword ptr [EBP + 0xfffff6b4]
.text:0040b34a ffb5d8f6ffff PUSH dword ptr [EBP + 0xfffff6d8]
.text:0040b350 0fb680080... MOVZX EAX,byte ptr [EAX + 0x308]
.text:0040b357 50 PUSH EAX
.text:0040b358 51 PUSH ECX
.text:0040b359 52 PUSH EDX
.text:0040b35a 56 PUSH ESI
.text:0040b35b e885ddffff CALL FUN_004090e5 ;SLD_STATUS FUN_004090e5(uint param_1...
.text:0040b360 83c418 ADD ESP,0x18
.text:0040b363 eb37 JMP LAB_0040b39c
LAB_0040b365: ;XREF[2,0]: 0040a2cb,0040a2d9
.text:0040b365 8b85a4f6ffff MOV EAX,dword ptr [EBP + 0xfffff6a4]
.text:0040b36b 3b85a8f6ffff CMP EAX,dword ptr [EBP + 0xfffff6a8]
.text:0040b371 ffb5acf6ffff PUSH dword ptr [EBP + 0xfffff6ac]
.text:0040b377 0f95c0 SETNZ AL
.text:0040b37a 0fb6c0 MOVZX EAX,AL
.text:0040b37d 50 PUSH EAX
.text:0040b37e 8b85b4f6ffff MOV EAX,dword ptr [EBP + 0xfffff6b4]
.text:0040b384 0fb680080... MOVZX EAX,byte ptr [EAX + 0x308]
.text:0040b38b 50 PUSH EAX
.text:0040b38c 51 PUSH ECX
LAB_0040b38d: ;XREF[1,0]: 0040b0dc
.text:0040b38d 8d852cfeffff LEA EAX,[EBP + 0xfffffe2c]
.text:0040b393 50 PUSH EAX
.text:0040b394 e8a5e0ffff CALL FUN_0040943e ;undefined FUN_0040943e(uint * param_...
.text:0040b399 83c414 ADD ESP,0x14
LAB_0040b39c: ;XREF[2,0]: 0040a292,0040b363
.text:0040b39c 8b4dfc MOV ECX,dword ptr [EBP + -0x4]
.text:0040b39f 5f POP EDI
.text:0040b3a0 5e POP ESI
.text:0040b3a1 33cd XOR ECX,EBP
.text:0040b3a3 5b POP EBX
.text:0040b3a4 e87c6dffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0040b3a9 c9 LEAVE
.text:0040b3aa c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040b3ab(int * param_1, floating_point_value * param_2)
;param_1 int * 4 ;XREF[2,0]: 0040b3b5,0040b415
;param_2 floating_po... 8 ;XREF[3,0]: 0040b3b2,0040b3e5,0040b433
;local_8 undefined4 -8 ;XREF[6,0]: 0040b3cd,0040b3ed,0040b40d,0040b418,0040b42b
; 0040b43d
;local_c undefined4 -c ;XREF[3,0]: 0040b3dc,0040b410,0040b42e
;XREF[2,0]: 00406abb,00406adc
.text:0040b3ab 8bff MOV EDI,EDI
.text:0040b3ad 55 PUSH EBP
.text:0040b3ae 8bec MOV EBP,ESP
.text:0040b3b0 51 PUSH ECX
.text:0040b3b1 51 PUSH ECX
.text:0040b3b2 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040b3b5 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040b3b8 53 PUSH EBX
.text:0040b3b9 56 PUSH ESI
.text:0040b3ba 33db XOR EBX,EBX
.text:0040b3bc 57 PUSH EDI
.text:0040b3bd 33ff XOR EDI,EDI
.text:0040b3bf 8d7108 LEA ESI,[ECX + 0x8]
.text:0040b3c2 8bd7 MOV EDX,EDI
.text:0040b3c4 385004 CMP byte ptr [EAX + 0x4],DL
.text:0040b3c7 8b4104 MOV EAX,dword ptr [ECX + 0x4]
.text:0040b3ca 0f94c3 SETZ BL
.text:0040b3cd 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:0040b3d0 4b DEC EBX
.text:0040b3d1 83c008 ADD EAX,0x8
.text:0040b3d4 83e31d AND EBX,0x1d
.text:0040b3d7 03c1 ADD EAX,ECX
.text:0040b3d9 83c317 ADD EBX,0x17
.text:0040b3dc 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0040b3df 0319 ADD EBX,dword ptr [ECX]
.text:0040b3e1 3bf0 CMP ESI,EAX
.text:0040b3e3 7436 JZ LAB_0040b41b
LAB_0040b3e5: ;XREF[1,0]: 0040b413
.text:0040b3e5 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040b3e8 e8a8060000 CALL FUN_0040ba95 ;undefined8 FUN_0040ba95(int param_1)
.text:0040b3ed 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:0040b3f0 3bca CMP ECX,EDX
.text:0040b3f2 7721 JA LAB_0040b415
.text:0040b3f4 7204 JC LAB_0040b3fa
.text:0040b3f6 3bf8 CMP EDI,EAX
.text:0040b3f8 771b JA LAB_0040b415
LAB_0040b3fa: ;XREF[1,0]: 0040b3f4
.text:0040b3fa 0fb606 MOVZX EAX,byte ptr [ESI]
.text:0040b3fd 46 INC ESI
.text:0040b3fe 0fa4f904 SHLD ECX,EDI,0x4
.text:0040b402 99 CDQ
.text:0040b403 c1e704 SHL EDI,0x4
.text:0040b406 03f8 ADD EDI,EAX
.text:0040b408 13ca ADC ECX,EDX
.text:0040b40a 83eb04 SUB EBX,0x4
.text:0040b40d 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
.text:0040b410 3b75f8 CMP ESI,dword ptr [EBP + local_c+0x4]
.text:0040b413 75d0 JNZ LAB_0040b3e5
LAB_0040b415: ;XREF[2,0]: 0040b3f2,0040b3f8
.text:0040b415 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040b418 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
LAB_0040b41b: ;XREF[1,0]: 0040b3e3
.text:0040b41b b001 MOV AL,0x1
.text:0040b41d eb0c JMP LAB_0040b42b
LAB_0040b41f: ;XREF[1,0]: 0040b431
.text:0040b41f 84c0 TEST AL,AL
.text:0040b421 7410 JZ LAB_0040b433
.text:0040b423 8a06 MOV AL,byte ptr [ESI]
.text:0040b425 46 INC ESI
.text:0040b426 84c0 TEST AL,AL
.text:0040b428 0f94c0 SETZ AL
LAB_0040b42b: ;XREF[1,0]: 0040b41d
.text:0040b42b 8845fc MOV byte ptr [EBP + local_8+0x4],AL
.text:0040b42e 3b75f8 CMP ESI,dword ptr [EBP + local_c+0x4]
.text:0040b431 75ec JNZ LAB_0040b41f
LAB_0040b433: ;XREF[1,0]: 0040b421
.text:0040b433 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040b436 0fb681080... MOVZX EAX,byte ptr [ECX + 0x308]
.text:0040b43d ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0040b440 50 PUSH EAX
.text:0040b441 53 PUSH EBX
.text:0040b442 52 PUSH EDX
.text:0040b443 57 PUSH EDI
.text:0040b444 e89cdcffff CALL FUN_004090e5 ;SLD_STATUS FUN_004090e5(uint param_1...
.text:0040b449 83c418 ADD ESP,0x18
.text:0040b44c 5f POP EDI
.text:0040b44d 5e POP ESI
.text:0040b44e 5b POP EBX
.text:0040b44f c9 LEAVE
.text:0040b450 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined8 FUN_0040b451(int param_1)
;param_1 int ECX
;XREF[2,0]: 0040927a,00409401
.text:0040b451 80790400 CMP byte ptr [param_1 + 0x4],0x0
.text:0040b455 7409 JZ LAB_0040b460
.text:0040b457 83c8ff OR EAX,0xffffffff
.text:0040b45a baffff0f00 MOV EDX,0xfffff
.text:0040b45f c3 RET
LAB_0040b460: ;XREF[1,0]: 0040b455
.text:0040b460 b8ffff7f00 MOV EAX,0x7fffff
.text:0040b465 33d2 XOR EDX,EDX
.text:0040b467 c3 RET
.text:0040b468 ccccccccc... align align(8)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ulonglong FUN_0040b470(uint * param_1, uint * param_2)
;param_1 uint * 4 ;XREF[5,0]: 0040b47b,0040b4b3,0040b522,0040b599,0040b5c9
;param_2 uint * 8 ;XREF[2,0]: 0040b48e,0040b626
;local_8 undefined4 -8 ;XREF[3,0]: 0040b543,0040b57a,0040b5e1
;local_c undefined4 -c ;XREF[2,0]: 0040b483,0040b590
;local_10 undefined4 -10 ;XREF[5,0]: 0040b49f,0040b53c,0040b575,0040b57d,0040b5d9
;local_18 undefined4 -18 ;XREF[5,0]: 0040b493,0040b54a,0040b587,0040b5c3,0040b623
;local_1c undefined4 -1c ;XREF[3,0]: 0040b556,0040b58a,0040b594
;local_24 undefined4 -24 ;XREF[1,0]: 0040b630
;local_220 undefined1 -220 ;XREF[3,0]: 0040b4b6,0040b501,0040b59e
;local_224 undefined4 -224 ;XREF[3,0]: 0040b4cb,0040b4f9,0040b5a4
;local_230 undefined1 -230 ;XREF[1,0]: 0040b559
;XREF[3,0]: 0040b26c,00415a5f,00415c30
.text:0040b470 8bff MOV EDI,EDI
.text:0040b472 55 PUSH EBP
.text:0040b473 8bec MOV EBP,ESP
.text:0040b475 81ec20020000 SUB ESP,0x220
.text:0040b47b 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040b47e 53 PUSH EBX
.text:0040b47f 56 PUSH ESI
.text:0040b480 57 PUSH EDI
.text:0040b481 8b01 MOV EAX,dword ptr [ECX]
.text:0040b483 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0040b486 85c0 TEST EAX,EAX
.text:0040b488 0f8482040000 JZ LAB_0040b910
.text:0040b48e 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:0040b491 8b37 MOV ESI,dword ptr [EDI]
.text:0040b493 8975ec MOV dword ptr [EBP + local_18+0x4],ESI
.text:0040b496 85f6 TEST ESI,ESI
.text:0040b498 0f8472040000 JZ LAB_0040b910
.text:0040b49e 48 DEC EAX
.text:0040b49f 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0040b4a2 83c6ff ADD ESI,-0x1
.text:0040b4a5 0f853e010000 JNZ LAB_0040b5e9
.text:0040b4ab 8b5f04 MOV EBX,dword ptr [EDI + 0x4]
.text:0040b4ae 83fb01 CMP EBX,0x1
.text:0040b4b1 753b JNZ LAB_0040b4ee
.text:0040b4b3 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:0040b4b6 8d85e4fdffff LEA EAX=>local_220,[EBP + 0xfffffde4]
.text:0040b4bc 8b7104 MOV ESI,dword ptr [ECX + 0x4]
.text:0040b4bf 83c104 ADD ECX,0x4
.text:0040b4c2 6a00 PUSH 0x0
.text:0040b4c4 50 PUSH EAX
.text:0040b4c5 68cc010000 PUSH 0x1cc
.text:0040b4ca 51 PUSH ECX
.text:0040b4cb c785e0fdf... MOV dword ptr [EBP + local_224+0x4],0x0
.text:0040b4d5 c70200000000 MOV dword ptr [EDX],0x0
.text:0040b4db e844150000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040b4e0 83c410 ADD ESP,0x10
.text:0040b4e3 8bc6 MOV EAX,ESI
.text:0040b4e5 33d2 XOR EDX,EDX
.text:0040b4e7 5f POP EDI
.text:0040b4e8 5e POP ESI
.text:0040b4e9 5b POP EBX
.text:0040b4ea 8be5 MOV ESP,EBP
.text:0040b4ec 5d POP EBP
.text:0040b4ed c3 RET
LAB_0040b4ee: ;XREF[1,0]: 0040b4b1
.text:0040b4ee 85c0 TEST EAX,EAX
.text:0040b4f0 7548 JNZ LAB_0040b53a
.text:0040b4f2 8b7904 MOV EDI,dword ptr [ECX + 0x4]
.text:0040b4f5 8d7104 LEA ESI,[ECX + 0x4]
.text:0040b4f8 50 PUSH EAX
.text:0040b4f9 8985e0fdffff MOV dword ptr [EBP + local_224+0x4],EAX
.text:0040b4ff 8901 MOV dword ptr [ECX],EAX
.text:0040b501 8d85e4fdffff LEA EAX=>local_220,[EBP + 0xfffffde4]
.text:0040b507 50 PUSH EAX
.text:0040b508 68cc010000 PUSH 0x1cc
.text:0040b50d 56 PUSH ESI
.text:0040b50e e811150000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040b513 33d2 XOR EDX,EDX
.text:0040b515 8bc7 MOV EAX,EDI
.text:0040b517 f7f3 DIV EBX
.text:0040b519 83c410 ADD ESP,0x10
.text:0040b51c 33c0 XOR EAX,EAX
.text:0040b51e 3bc2 CMP EAX,EDX
.text:0040b520 8916 MOV dword ptr [ESI],EDX
.text:0040b522 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:0040b525 8bc7 MOV EAX,EDI
.text:0040b527 1bc9 SBB ECX,ECX
.text:0040b529 f7d9 NEG ECX
.text:0040b52b 5f POP EDI
.text:0040b52c 890a MOV dword ptr [EDX],ECX
.text:0040b52e 33d2 XOR EDX,EDX
.text:0040b530 f7f3 DIV EBX
.text:0040b532 5e POP ESI
.text:0040b533 33d2 XOR EDX,EDX
.text:0040b535 5b POP EBX
.text:0040b536 8be5 MOV ESP,EBP
.text:0040b538 5d POP EBP
.text:0040b539 c3 RET
LAB_0040b53a: ;XREF[1,0]: 0040b4f0
.text:0040b53a 33ff XOR EDI,EDI
.text:0040b53c c745f4000... MOV dword ptr [EBP + local_10+0x4],0x0
.text:0040b543 c745fc000... MOV dword ptr [EBP + local_8+0x4],0x0
.text:0040b54a 897dec MOV dword ptr [EBP + local_18+0x4],EDI
.text:0040b54d 83f8ff CMP EAX,-0x1
.text:0040b550 744a JZ LAB_0040b59c
.text:0040b552 40 INC EAX
.text:0040b553 8d0481 LEA EAX,[ECX + EAX*0x4]
.text:0040b556 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:0040b559 8da424000... LEA ESP=>local_230,[ESP]
LAB_0040b560: ;XREF[1,0]: 0040b597
.text:0040b560 6a00 PUSH 0x0
.text:0040b562 53 PUSH EBX
.text:0040b563 33f6 XOR ESI,ESI
.text:0040b565 0b30 OR ESI,dword ptr [EAX]
.text:0040b567 57 PUSH EDI
.text:0040b568 56 PUSH ESI
.text:0040b569 e8f2f00000 CALL __aulldiv ;undefined8 __aulldiv(uint param_1, u...
.text:0040b56e 6a00 PUSH 0x0
.text:0040b570 33c9 XOR ECX,ECX
.text:0040b572 03c1 ADD EAX,ECX
.text:0040b574 53 PUSH EBX
.text:0040b575 134df4 ADC ECX,dword ptr [EBP + local_10+0x4]
.text:0040b578 57 PUSH EDI
.text:0040b579 56 PUSH ESI
.text:0040b57a 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
.text:0040b57d 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0040b580 e84bf10000 CALL __aullrem ;undefined8 __aullrem(uint param_1, u...
.text:0040b585 8bf8 MOV EDI,EAX
.text:0040b587 8955ec MOV dword ptr [EBP + local_18+0x4],EDX
.text:0040b58a 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
.text:0040b58d 83e804 SUB EAX,0x4
.text:0040b590 836df801 SUB dword ptr [EBP + local_c+0x4],0x1
.text:0040b594 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:0040b597 75c7 JNZ LAB_0040b560
.text:0040b599 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
LAB_0040b59c: ;XREF[1,0]: 0040b550
.text:0040b59c 6a00 PUSH 0x0
.text:0040b59e 8d85e4fdffff LEA EAX=>local_220,[EBP + 0xfffffde4]
.text:0040b5a4 c785e0fdf... MOV dword ptr [EBP + local_224+0x4],0x0
.text:0040b5ae 50 PUSH EAX
.text:0040b5af 8d7104 LEA ESI,[ECX + 0x4]
.text:0040b5b2 c70100000000 MOV dword ptr [ECX],0x0
.text:0040b5b8 68cc010000 PUSH 0x1cc
.text:0040b5bd 56 PUSH ESI
.text:0040b5be e861140000 CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0040b5c3 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
.text:0040b5c6 83c410 ADD ESP,0x10
.text:0040b5c9 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:0040b5cc 33c9 XOR ECX,ECX
.text:0040b5ce 3bc8 CMP ECX,EAX
.text:0040b5d0 893e MOV dword ptr [ESI],EDI
.text:0040b5d2 1bc9 SBB ECX,ECX
.text:0040b5d4 f7d9 NEG ECX
.text:0040b5d6 894208 MOV dword ptr [EDX + 0x8],EAX
.text:0040b5d9 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:0040b5dc 41 INC ECX
.text:0040b5dd 5f POP EDI
.text:0040b5de 5e POP ESI
.text:0040b5df 890a MOV dword ptr [EDX],ECX
.text:0040b5e1 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
.text:0040b5e4 5b POP EBX
.text:0040b5e5 8be5 MOV ESP,EBP
.text:0040b5e7 5d POP EBP
.text:0040b5e8 c3 RET
LAB_0040b5e9: ;XREF[1,0]: 0040b4a5
.text:0040b5e9 3bf0 CMP ESI,EAX
.text:0040b5eb 0f871f030000 JA LAB_0040b910
.text:0040b5f1 8bd0 MOV EDX,EAX
.text:0040b5f3 8bd8 MOV EBX,EAX
.text:0040b5f5 2bd6 SUB EDX,ESI
.text:0040b5f7 3bda CMP EBX,EDX
.text:0040b5f9 7c1f JL LAB_0040b61a
.text:0040b5fb 8d0c99 LEA ECX,[ECX + EBX*0x4]
.text:0040b5fe 83c104 ADD ECX,0x4
.text:0040b601 46 INC ESI
.text:0040b602 8d34b7 LEA ESI,[EDI + ESI*0x4]
LAB_0040b605: ;XREF[1,0]: 0040b614
.text:0040b605 8b3e MOV EDI,dword ptr [ESI]
.text:0040b607 3b39 CMP EDI,dword ptr [ECX]
.text:0040b609 750d JNZ LAB_0040b618
.text:0040b60b 48 DEC EAX
.text:0040b60c 83ee04 SUB ESI,0x4
.text:0040b60f 83e904 SUB ECX,0x4
.text:0040b612 3bc2 CMP EAX,EDX
.text:0040b614 7def JGE LAB_0040b605
.text:0040b616 eb02 JMP LAB_0040b61a
LAB_0040b618: ;XREF[1,0]: 0040b609
.text:0040b618 7301 JNC LAB_0040b61b
LAB_0040b61a: ;XREF[2,0]: 0040b5f9,0040b616
.text:0040b61a 42 INC EDX
LAB_0040b61b: ;XREF[1,0]: 0040b618
.text:0040b61b 85d2 TEST EDX,EDX
.text:0040b61d 0f84ed020000 JZ LAB_0040b910
.text:0040b623 8b7dec MOV EDI,dword ptr [EBP + local_18+0x4]
.text:0040b626 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040b629 8b44befc MOV EAX,dword ptr [ESI + EDI*0x4 + -0x4]
.text:0040b62d 8b1cbe MOV EBX,dword ptr [ESI + EDI*0x4]
.text:0040b630 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:0040b633 0fbdc3 BSR EAX,EBX
.text:0040b636 895dd0 MOV dword ptr [EBP + -0x30],EBX
.text:0040b639 7409 JZ LAB_0040b644
.text:0040b63b b91f000000 MOV ECX,0x1f
.text:0040b640 2bc8 SUB ECX,EAX
.text:0040b642 eb05 JMP LAB_0040b649
LAB_0040b644: ;XREF[1,0]: 0040b639
.text:0040b644 b920000000 MOV ECX,0x20
LAB_0040b649: ;XREF[1,0]: 0040b642
.text:0040b649 b820000000 MOV EAX,0x20
.text:0040b64e 894de4 MOV dword ptr [EBP + -0x1c],ECX
.text:0040b651 2bc1 SUB EAX,ECX
.text:0040b653 8945d4 MOV dword ptr [EBP + -0x2c],EAX
.text:0040b656 85c9 TEST ECX,ECX
.text:0040b658 742d JZ LAB_0040b687
.text:0040b65a 8b45e0 MOV EAX,dword ptr [EBP + -0x20]
.text:0040b65d 8b4dd4 MOV ECX,dword ptr [EBP + -0x2c]
.text:0040b660 d3e8 SHR EAX,CL
.text:0040b662 8b4de4 MOV ECX,dword ptr [EBP + -0x1c]
.text:0040b665 d3e3 SHL EBX,CL
.text:0040b667 0bd8 OR EBX,EAX
.text:0040b669 895dd0 MOV dword ptr [EBP + -0x30],EBX
.text:0040b66c 8b5de0 MOV EBX,dword ptr [EBP + -0x20]
.text:0040b66f d3e3 SHL EBX,CL
.text:0040b671 895de0 MOV dword ptr [EBP + -0x20],EBX
.text:0040b674 83ff02 CMP EDI,0x2
.text:0040b677 760e JBE LAB_0040b687
.text:0040b679 8b44bef8 MOV EAX,dword ptr [ESI + EDI*0x4 + -0x8]
.text:0040b67d 8b4dd4 MOV ECX,dword ptr [EBP + -0x2c]
.text:0040b680 d3e8 SHR EAX,CL
.text:0040b682 0bd8 OR EBX,EAX
.text:0040b684 895de0 MOV dword ptr [EBP + -0x20],EBX
LAB_0040b687: ;XREF[2,0]: 0040b658,0040b677
.text:0040b687 8d5aff LEA EBX,[EDX + -0x1]
.text:0040b68a c745b4000... MOV dword ptr [EBP + -0x4c],0x0
.text:0040b691 33f6 XOR ESI,ESI
.text:0040b693 895db0 MOV dword ptr [EBP + -0x50],EBX
.text:0040b696 85db TEST EBX,EBX
.text:0040b698 0f8831020000 JS LAB_0040b8cf
.text:0040b69e 8b5508 MOV EDX,dword ptr [EBP + 0x8]
.text:0040b6a1 8d043b LEA EAX,[EBX + EDI*0x1]
.text:0040b6a4 8945c8 MOV dword ptr [EBP + -0x38],EAX
.text:0040b6a7 8d4a04 LEA ECX,[EDX + 0x4]
.text:0040b6aa 8d0c99 LEA ECX,[ECX + EBX*0x4]
.text:0040b6ad 894dc4 MOV dword ptr [EBP + -0x3c],ECX
.text:0040b6b0 8d4afc LEA ECX,[EDX + -0x4]
.text:0040b6b3 8d0c81 LEA ECX,[ECX + EAX*0x4]
.text:0040b6b6 894de8 MOV dword ptr [EBP + -0x18],ECX
.text:0040b6b9 8da424000... LEA ESP,[ESP]
LAB_0040b6c0: ;XREF[1,0]: 0040b8c7
.text:0040b6c0 3b45f4 CMP EAX,dword ptr [EBP + -0xc]
.text:0040b6c3 7705 JA LAB_0040b6ca
.text:0040b6c5 8b5108 MOV EDX,dword ptr [ECX + 0x8]
.text:0040b6c8 eb02 JMP LAB_0040b6cc
LAB_0040b6ca: ;XREF[1,0]: 0040b6c3
.text:0040b6ca 33d2 XOR EDX,EDX
LAB_0040b6cc: ;XREF[1,0]: 0040b6c8
.text:0040b6cc 837de400 CMP dword ptr [EBP + -0x1c],0x0
.text:0040b6d0 8b4104 MOV EAX,dword ptr [ECX + 0x4]
.text:0040b6d3 8b19 MOV EBX,dword ptr [ECX]
.text:0040b6d5 c745dc000... MOV dword ptr [EBP + -0x24],0x0
.text:0040b6dc 8955b8 MOV dword ptr [EBP + -0x48],EDX
.text:0040b6df 8945fc MOV dword ptr [EBP + -0x4],EAX
.text:0040b6e2 8955dc MOV dword ptr [EBP + -0x24],EDX
.text:0040b6e5 895df8 MOV dword ptr [EBP + -0x8],EBX
.text:0040b6e8 763c JBE LAB_0040b726
.text:0040b6ea 8b4dd4 MOV ECX,dword ptr [EBP + -0x2c]
.text:0040b6ed 8bfb MOV EDI,EBX
.text:0040b6ef d3ef SHR EDI,CL
.text:0040b6f1 33f6 XOR ESI,ESI
.text:0040b6f3 8b4de4 MOV ECX,dword ptr [EBP + -0x1c]
.text:0040b6f6 e895f00000 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:0040b6fb 8b4de4 MOV ECX,dword ptr [EBP + -0x1c]
.text:0040b6fe 0bc7 OR EAX,EDI
.text:0040b700 0bd6 OR EDX,ESI
.text:0040b702 d3e3 SHL EBX,CL
.text:0040b704 837dc803 CMP dword ptr [EBP + -0x38],0x3
.text:0040b708 8945fc MOV dword ptr [EBP + -0x4],EAX
.text:0040b70b 8955dc MOV dword ptr [EBP + -0x24],EDX
.text:0040b70e 895df8 MOV dword ptr [EBP + -0x8],EBX
.text:0040b711 7213 JC LAB_0040b726
.text:0040b713 8b45e8 MOV EAX,dword ptr [EBP + -0x18]
.text:0040b716 8b4dd4 MOV ECX,dword ptr [EBP + -0x2c]
.text:0040b719 8b40fc MOV EAX,dword ptr [EAX + -0x4]
.text:0040b71c d3e8 SHR EAX,CL
.text:0040b71e 0bd8 OR EBX,EAX
.text:0040b720 8b45fc MOV EAX,dword ptr [EBP + -0x4]
.text:0040b723 895df8 MOV dword ptr [EBP + -0x8],EBX
LAB_0040b726: ;XREF[2,0]: 0040b6e8,0040b711
.text:0040b726 8b75d0 MOV ESI,dword ptr [EBP + -0x30]
.text:0040b729 6a00 PUSH 0x0
.text:0040b72b 56 PUSH ESI
.text:0040b72c 52 PUSH EDX
.text:0040b72d 50 PUSH EAX
.text:0040b72e e82def0000 CALL __aulldiv ;undefined8 __aulldiv(uint param_1, u...
.text:0040b733 6a00 PUSH 0x0
.text:0040b735 56 PUSH ESI
.text:0040b736 ff75dc PUSH dword ptr [EBP + -0x24]
.text:0040b739 8bd8 MOV EBX,EAX
.text:0040b73b 8955f0 MOV dword ptr [EBP + -0x10],EDX
.text:0040b73e ff75fc PUSH dword ptr [EBP + -0x4]
.text:0040b741 895dcc MOV dword ptr [EBP + -0x34],EBX
.text:0040b744 895dbc MOV dword ptr [EBP + -0x44],EBX
.text:0040b747 8955c0 MOV dword ptr [EBP + -0x40],EDX
.text:0040b74a e881ef0000 CALL __aullrem ;undefined8 __aullrem(uint param_1, u...
.text:0040b74f 8bf8 MOV EDI,EAX
.text:0040b751 33f6 XOR ESI,ESI
.text:0040b753 8b45f0 MOV EAX,dword ptr [EBP + -0x10]
.text:0040b756 8975fc MOV dword ptr [EBP + -0x4],ESI
.text:0040b759 85c0 TEST EAX,EAX
.text:0040b75b 7505 JNZ LAB_0040b762
.text:0040b75d 83fbff CMP EBX,-0x1
.text:0040b760 762a JBE LAB_0040b78c
LAB_0040b762: ;XREF[1,0]: 0040b75b
.text:0040b762 6a00 PUSH 0x0
.text:0040b764 ff75d0 PUSH dword ptr [EBP + -0x30]
.text:0040b767 83c301 ADD EBX,0x1
.text:0040b76a 83d0ff ADC EAX,-0x1
.text:0040b76d 50 PUSH EAX
.text:0040b76e 53 PUSH EBX
.text:0040b76f e8dcef0000 CALL __allmul ;longlong __allmul(uint param_1, uint...
.text:0040b774 03f8 ADD EDI,EAX
.text:0040b776 13f2 ADC ESI,EDX
.text:0040b778 83cbff OR EBX,0xffffffff
.text:0040b77b 33c0 XOR EAX,EAX
.text:0040b77d 8975fc MOV dword ptr [EBP + -0x4],ESI
.text:0040b780 895dcc MOV dword ptr [EBP + -0x34],EBX
.text:0040b783 895dbc MOV dword ptr [EBP + -0x44],EBX
.text:0040b786 8945f0 MOV dword ptr [EBP + -0x10],EAX
.text:0040b789 8945c0 MOV dword ptr [EBP + -0x40],EAX
LAB_0040b78c: ;XREF[1,0]: 0040b760
.text:0040b78c 85f6 TEST ESI,ESI
.text:0040b78e 7750 JA LAB_0040b7e0
.text:0040b790 7205 JC LAB_0040b797
.text:0040b792 83ffff CMP EDI,-0x1
.text:0040b795 7749 JA LAB_0040b7e0
LAB_0040b797: ;XREF[2,0]: 0040b790,0040b7d6
.text:0040b797 50 PUSH EAX
.text:0040b798 53 PUSH EBX
.text:0040b799 33c9 XOR ECX,ECX
.text:0040b79b 8bf7 MOV ESI,EDI
.text:0040b79d 0b4df8 OR ECX,dword ptr [EBP + -0x8]
.text:0040b7a0 6a00 PUSH 0x0
.text:0040b7a2 ff75e0 PUSH dword ptr [EBP + -0x20]
.text:0040b7a5 894ddc MOV dword ptr [EBP + -0x24],ECX
.text:0040b7a8 e8a3ef0000 CALL __allmul ;longlong __allmul(uint param_1, uint...
.text:0040b7ad 3bd6 CMP EDX,ESI
.text:0040b7af 7229 JC LAB_0040b7da
.text:0040b7b1 7705 JA LAB_0040b7b8
.text:0040b7b3 3b45dc CMP EAX,dword ptr [EBP + -0x24]
.text:0040b7b6 7622 JBE LAB_0040b7da
LAB_0040b7b8: ;XREF[1,0]: 0040b7b1
.text:0040b7b8 8b45f0 MOV EAX,dword ptr [EBP + -0x10]
.text:0040b7bb 83c3ff ADD EBX,-0x1
.text:0040b7be 895dbc MOV dword ptr [EBP + -0x44],EBX
.text:0040b7c1 83d0ff ADC EAX,-0x1
.text:0040b7c4 037dd0 ADD EDI,dword ptr [EBP + -0x30]
.text:0040b7c7 8945f0 MOV dword ptr [EBP + -0x10],EAX
.text:0040b7ca 8355fc00 ADC dword ptr [EBP + -0x4],0x0
.text:0040b7ce 8945c0 MOV dword ptr [EBP + -0x40],EAX
.text:0040b7d1 750a JNZ LAB_0040b7dd
.text:0040b7d3 83ffff CMP EDI,-0x1
.text:0040b7d6 76bf JBE LAB_0040b797
.text:0040b7d8 eb03 JMP LAB_0040b7dd
LAB_0040b7da: ;XREF[2,0]: 0040b7af,0040b7b6
.text:0040b7da 8b45f0 MOV EAX,dword ptr [EBP + -0x10]
LAB_0040b7dd: ;XREF[2,0]: 0040b7d1,0040b7d8
.text:0040b7dd 895dcc MOV dword ptr [EBP + -0x34],EBX
LAB_0040b7e0: ;XREF[2,0]: 0040b78e,0040b795
.text:0040b7e0 85c0 TEST EAX,EAX
.text:0040b7e2 7508 JNZ LAB_0040b7ec
.text:0040b7e4 85db TEST EBX,EBX
.text:0040b7e6 0f84af000000 JZ LAB_0040b89b
LAB_0040b7ec: ;XREF[1,0]: 0040b7e2
.text:0040b7ec 8b4dec MOV ECX,dword ptr [EBP + -0x14]
.text:0040b7ef 33ff XOR EDI,EDI
.text:0040b7f1 8b450c MOV EAX,dword ptr [EBP + 0xc]
.text:0040b7f4 33f6 XOR ESI,ESI
.text:0040b7f6 85c9 TEST ECX,ECX
.text:0040b7f8 7455 JZ LAB_0040b84f
.text:0040b7fa 8b5dc4 MOV EBX,dword ptr [EBP + -0x3c]
.text:0040b7fd 83c004 ADD EAX,0x4
.text:0040b800 8945f8 MOV dword ptr [EBP + -0x8],EAX
.text:0040b803 894dfc MOV dword ptr [EBP + -0x4],ECX
LAB_0040b806: ;XREF[1,0]: 0040b844
.text:0040b806 8b00 MOV EAX,dword ptr [EAX]
.text:0040b808 8945dc MOV dword ptr [EBP + -0x24],EAX
.text:0040b80b 8b45c0 MOV EAX,dword ptr [EBP + -0x40]
.text:0040b80e f765dc MUL dword ptr [EBP + -0x24]
.text:0040b811 8bc8 MOV ECX,EAX
.text:0040b813 8b45bc MOV EAX,dword ptr [EBP + -0x44]
.text:0040b816 f765dc MUL dword ptr [EBP + -0x24]
.text:0040b819 03d1 ADD EDX,ECX
.text:0040b81b 03f8 ADD EDI,EAX
.text:0040b81d 8b03 MOV EAX,dword ptr [EBX]
.text:0040b81f 8bcf MOV ECX,EDI
.text:0040b821 13f2 ADC ESI,EDX
.text:0040b823 8bfe MOV EDI,ESI
.text:0040b825 33f6 XOR ESI,ESI
.text:0040b827 3bc1 CMP EAX,ECX
.text:0040b829 7305 JNC LAB_0040b830
.text:0040b82b 83c701 ADD EDI,0x1
.text:0040b82e 13f6 ADC ESI,ESI
LAB_0040b830: ;XREF[1,0]: 0040b829
.text:0040b830 2bc1 SUB EAX,ECX
.text:0040b832 8903 MOV dword ptr [EBX],EAX
.text:0040b834 83c304 ADD EBX,0x4
.text:0040b837 8b45f8 MOV EAX,dword ptr [EBP + -0x8]
.text:0040b83a 83c004 ADD EAX,0x4
.text:0040b83d 836dfc01 SUB dword ptr [EBP + -0x4],0x1
.text:0040b841 8945f8 MOV dword ptr [EBP + -0x8],EAX
.text:0040b844 75c0 JNZ LAB_0040b806
.text:0040b846 8b450c MOV EAX,dword ptr [EBP + 0xc]
.text:0040b849 8b5dcc MOV EBX,dword ptr [EBP + -0x34]
.text:0040b84c 8b4dec MOV ECX,dword ptr [EBP + -0x14]
LAB_0040b84f: ;XREF[1,0]: 0040b7f8
.text:0040b84f 83c004 ADD EAX,0x4
.text:0040b852 8945dc MOV dword ptr [EBP + -0x24],EAX
.text:0040b855 33c0 XOR EAX,EAX
.text:0040b857 3bc6 CMP EAX,ESI
.text:0040b859 7739 JA LAB_0040b894
.text:0040b85b 7205 JC LAB_0040b862
.text:0040b85d 397db8 CMP dword ptr [EBP + -0x48],EDI
.text:0040b860 7332 JNC LAB_0040b894
LAB_0040b862: ;XREF[1,0]: 0040b85b
.text:0040b862 85c9 TEST ECX,ECX
.text:0040b864 742b JZ LAB_0040b891
.text:0040b866 8b55c4 MOV EDX,dword ptr [EBP + -0x3c]
.text:0040b869 33db XOR EBX,EBX
.text:0040b86b 8b75dc MOV ESI,dword ptr [EBP + -0x24]
.text:0040b86e 8bf9 MOV EDI,ECX
LAB_0040b870: ;XREF[1,0]: 0040b88c
.text:0040b870 8b0a MOV ECX,dword ptr [EDX]
.text:0040b872 8d7604 LEA ESI,[ESI + 0x4]
.text:0040b875 33c0 XOR EAX,EAX
.text:0040b877 8d5204 LEA EDX,[EDX + 0x4]
.text:0040b87a 034efc ADD ECX,dword ptr [ESI + -0x4]
.text:0040b87d 13c0 ADC EAX,EAX
.text:0040b87f 03cb ADD ECX,EBX
.text:0040b881 894afc MOV dword ptr [EDX + -0x4],ECX
.text:0040b884 83d000 ADC EAX,0x0
.text:0040b887 8bd8 MOV EBX,EAX
.text:0040b889 83ef01 SUB EDI,0x1
.text:0040b88c 75e2 JNZ LAB_0040b870
.text:0040b88e 8b5dcc MOV EBX,dword ptr [EBP + -0x34]
LAB_0040b891: ;XREF[1,0]: 0040b864
.text:0040b891 83c3ff ADD EBX,-0x1
LAB_0040b894: ;XREF[2,0]: 0040b859,0040b860
.text:0040b894 8b45c8 MOV EAX,dword ptr [EBP + -0x38]
.text:0040b897 48 DEC EAX
.text:0040b898 8945f4 MOV dword ptr [EBP + -0xc],EAX
LAB_0040b89b: ;XREF[1,0]: 0040b7e6
.text:0040b89b 8b75b4 MOV ESI,dword ptr [EBP + -0x4c]
.text:0040b89e 33c0 XOR EAX,EAX
.text:0040b8a0 8b4de8 MOV ECX,dword ptr [EBP + -0x18]
.text:0040b8a3 03c3 ADD EAX,EBX
.text:0040b8a5 8b5db0 MOV EBX,dword ptr [EBP + -0x50]
.text:0040b8a8 8bf8 MOV EDI,EAX
.text:0040b8aa 8b45c8 MOV EAX,dword ptr [EBP + -0x38]
.text:0040b8ad 83d600 ADC ESI,0x0
.text:0040b8b0 836dc404 SUB dword ptr [EBP + -0x3c],0x4
.text:0040b8b4 4b DEC EBX
.text:0040b8b5 48 DEC EAX
.text:0040b8b6 897db4 MOV dword ptr [EBP + -0x4c],EDI
.text:0040b8b9 83e904 SUB ECX,0x4
.text:0040b8bc 895db0 MOV dword ptr [EBP + -0x50],EBX
.text:0040b8bf 8945c8 MOV dword ptr [EBP + -0x38],EAX
.text:0040b8c2 894de8 MOV dword ptr [EBP + -0x18],ECX
.text:0040b8c5 85db TEST EBX,EBX
.text:0040b8c7 0f89f3fdffff JNS LAB_0040b6c0
.text:0040b8cd eb02 JMP LAB_0040b8d1
LAB_0040b8cf: ;XREF[1,0]: 0040b698
.text:0040b8cf 33ff XOR EDI,EDI
LAB_0040b8d1: ;XREF[1,0]: 0040b8cd
.text:0040b8d1 8b4df4 MOV ECX,dword ptr [EBP + -0xc]
.text:0040b8d4 8b5d08 MOV EBX,dword ptr [EBP + 0x8]
.text:0040b8d7 41 INC ECX
.text:0040b8d8 8bc1 MOV EAX,ECX
.text:0040b8da 3b03 CMP EAX,dword ptr [EBX]
.text:0040b8dc 7314 JNC LAB_0040b8f2
.text:0040b8de 8d5304 LEA EDX,[EBX + 0x4]
.text:0040b8e1 8d1482 LEA EDX,[EDX + EAX*0x4]
LAB_0040b8e4: ;XREF[1,0]: 0040b8f0
.text:0040b8e4 c70200000000 MOV dword ptr [EDX],0x0
.text:0040b8ea 8d5204 LEA EDX,[EDX + 0x4]
.text:0040b8ed 40 INC EAX
.text:0040b8ee 3b03 CMP EAX,dword ptr [EBX]
.text:0040b8f0 72f2 JC LAB_0040b8e4
LAB_0040b8f2: ;XREF[1,0]: 0040b8dc
.text:0040b8f2 890b MOV dword ptr [EBX],ECX
.text:0040b8f4 85c9 TEST ECX,ECX
.text:0040b8f6 740d JZ LAB_0040b905
LAB_0040b8f8: ;XREF[1,0]: 0040b903
.text:0040b8f8 833c8b00 CMP dword ptr [EBX + ECX*0x4],0x0
.text:0040b8fc 7507 JNZ LAB_0040b905
.text:0040b8fe 83c1ff ADD ECX,-0x1
.text:0040b901 890b MOV dword ptr [EBX],ECX
.text:0040b903 75f3 JNZ LAB_0040b8f8
LAB_0040b905: ;XREF[2,0]: 0040b8f6,0040b8fc
.text:0040b905 8bc7 MOV EAX,EDI
.text:0040b907 8bd6 MOV EDX,ESI
.text:0040b909 5f POP EDI
.text:0040b90a 5e POP ESI
.text:0040b90b 5b POP EBX
.text:0040b90c 8be5 MOV ESP,EBP
.text:0040b90e 5d POP EBP
.text:0040b90f c3 RET
LAB_0040b910: ;XREF[4,0]: 0040b488,0040b498,0040b5eb,0040b61d
.text:0040b910 5f POP EDI
.text:0040b911 5e POP ESI
.text:0040b912 33c0 XOR EAX,EAX
.text:0040b914 33d2 XOR EDX,EDX
.text:0040b916 5b POP EBX
.text:0040b917 8be5 MOV ESP,EBP
.text:0040b919 5d POP EBP
.text:0040b91a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: char __thiscall __crt_strtox::input_adapter_character_source_> * this)
;this input_adapt... ECX
;XREF[32,0]: 00406d97,00406db2,00406de8,00406e2b
; 00406e50,00406e7d,00406ef1,00406f1d
; 00406f41,00406fa6,00406ff3,00407022
; 0040703f,00407057,004070ac,004070f2
; 0040711e,00407668,00407693,004076ae
; 004077e1,00407804,00407837,004078a1
; 004079e2,00407a56,00407db3,00407def
; 00407e2b,00407e73,00407ea1,00407f65
.text:0040b91b 8b5110 MOV EDX,dword ptr [this + 0x10]
.text:0040b91e 8b4108 MOV EAX,dword ptr [this + 0x8]
.text:0040b921 83c201 ADD EDX,0x1
.text:0040b924 56 PUSH ESI
.text:0040b925 8b7114 MOV ESI,dword ptr [this + 0x14]
.text:0040b928 83d600 ADC ESI,0x0
.text:0040b92b 895110 MOV dword ptr [this + 0x10],EDX
.text:0040b92e 0b410c OR EAX,dword ptr [this + 0xc]
.text:0040b931 897114 MOV dword ptr [this + 0x14],ESI
.text:0040b934 740c JZ LAB_0040b942
.text:0040b936 3b710c CMP ESI,dword ptr [this + 0xc]
.text:0040b939 771b JA LAB_0040b956
.text:0040b93b 7205 JC LAB_0040b942
.text:0040b93d 3b5108 CMP EDX,dword ptr [this + 0x8]
.text:0040b940 7714 JA LAB_0040b956
LAB_0040b942: ;XREF[2,0]: 0040b934,0040b93b
.text:0040b942 8b31 MOV ESI,dword ptr [this]
.text:0040b944 ff36 PUSH dword ptr [ESI]
.text:0040b946 e8c1110000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:0040b94b 59 POP this
.text:0040b94c 83f8ff CMP EAX,-0x1
.text:0040b94f 7405 JZ LAB_0040b956
.text:0040b951 ff4604 INC dword ptr [ESI + 0x4]
.text:0040b954 5e POP ESI
.text:0040b955 c3 RET
LAB_0040b956: ;XREF[3,0]: 0040b939,0040b940,0040b94f
.text:0040b956 32c0 XOR AL,AL
.text:0040b958 5e POP ESI
.text:0040b959 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: char __thiscall __crt_strtox::input_adapter_character_source_> * this)
;this input_adapt... ECX
;XREF[32,0]: 004071f9,00407214,0040724a,0040728d
; 004072b2,004072df,00407353,0040737f
; 004073a3,00407408,00407455,00407484
; 004074a1,004074b9,0040750e,00407554
; 00407580,00407727,00407752,0040776d
; 004078e9,0040790c,0040793f,004079a9
; 00407a1c,00407a90,00408113,0040814f
; 0040818b,004081d3,00408201,004082c5
.text:0040b95a 8b5110 MOV EDX,dword ptr [this + 0x10]
.text:0040b95d 8b4108 MOV EAX,dword ptr [this + 0x8]
.text:0040b960 83c201 ADD EDX,0x1
.text:0040b963 56 PUSH ESI
.text:0040b964 8b7114 MOV ESI,dword ptr [this + 0x14]
.text:0040b967 83d600 ADC ESI,0x0
.text:0040b96a 895110 MOV dword ptr [this + 0x10],EDX
.text:0040b96d 0b410c OR EAX,dword ptr [this + 0xc]
.text:0040b970 897114 MOV dword ptr [this + 0x14],ESI
.text:0040b973 740c JZ LAB_0040b981
.text:0040b975 3b710c CMP ESI,dword ptr [this + 0xc]
.text:0040b978 7713 JA LAB_0040b98d
.text:0040b97a 7205 JC LAB_0040b981
.text:0040b97c 3b5108 CMP EDX,dword ptr [this + 0x8]
.text:0040b97f 770c JA LAB_0040b98d
LAB_0040b981: ;XREF[2,0]: 0040b973,0040b97a
.text:0040b981 8b09 MOV this,dword ptr [this]
.text:0040b983 e809000000 CALL __crt_stdio_input::string_input_adapt...;int get(string_input_adapter *...
.text:0040b988 83f8ff CMP EAX,-0x1
.text:0040b98b 7502 JNZ LAB_0040b98f
LAB_0040b98d: ;XREF[2,0]: 0040b978,0040b97f
.text:0040b98d 32c0 XOR AL,AL
LAB_0040b98f: ;XREF[1,0]: 0040b98b
.text:0040b98f 5e POP ESI
.text:0040b990 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: int __thiscall __crt_stdio_input::string_input_adapter::get(void) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int get(string_input_adapter * this)
;this string_inpu... ECX
;XREF[10,0]: 00408770,004087cc,00408a54,00408ab2
; 00408ba2,0040b983,0040bb86,0040be38
; 0040bedd,0040c802
.text:0040b991 8bd1 MOV EDX,this
.text:0040b993 8b4a08 MOV this,dword ptr [EDX + 0x8]
.text:0040b996 3b4a04 CMP this,dword ptr [EDX + 0x4]
.text:0040b999 7504 JNZ LAB_0040b99f
.text:0040b99b 83c8ff OR EAX,0xffffffff
.text:0040b99e c3 RET
LAB_0040b99f: ;XREF[1,0]: 0040b999
.text:0040b99f 0fb601 MOVZX EAX,byte ptr [this]
.text:0040b9a2 41 INC this
.text:0040b9a3 894a08 MOV dword ptr [EDX + 0x8],this
.text:0040b9a6 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040b9a7(void * this, int param_1, uint param_2)
;this void * ECX
;param_1 int 4 ;XREF[1,0]: 0040b9b7
;param_2 uint 8 ;XREF[1,0]: 0040b9ac
;XREF[2,0]: 00408678,00408952
.text:0040b9a7 8bff MOV EDI,EDI
.text:0040b9a9 55 PUSH EBP
.text:0040b9aa 8bec MOV EBP,ESP
.text:0040b9ac 8b550c MOV EDX,dword ptr [EBP + param_2+0x4]
.text:0040b9af 56 PUSH ESI
.text:0040b9b0 8bf1 MOV ESI,this
.text:0040b9b2 83faff CMP EDX,-0x1
.text:0040b9b5 7439 JZ LAB_0040b9f0
.text:0040b9b7 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040b9ba 83e800 SUB EAX,0x0
.text:0040b9bd 742d JZ LAB_0040b9ec
.text:0040b9bf 83e801 SUB EAX,0x1
.text:0040b9c2 7419 JZ LAB_0040b9dd
.text:0040b9c4 83e807 SUB EAX,0x7
.text:0040b9c7 7527 JNZ LAB_0040b9f0
.text:0040b9c9 0fb6d2 MOVZX EDX,DL
.text:0040b9cc 40 INC EAX
.text:0040b9cd 8bca MOV this,EDX
.text:0040b9cf c1ea03 SHR EDX,0x3
.text:0040b9d2 83e107 AND this,0x7
.text:0040b9d5 d3e0 SHL EAX,this
.text:0040b9d7 8444323c TEST byte ptr [EDX + ESI*0x1 + 0x3c],AL
.text:0040b9db eb0d JMP LAB_0040b9ea
LAB_0040b9dd: ;XREF[1,0]: 0040b9c2
.text:0040b9dd 83fa09 CMP EDX,0x9
.text:0040b9e0 7c05 JL LAB_0040b9e7
.text:0040b9e2 83fa0d CMP EDX,0xd
.text:0040b9e5 7e09 JLE LAB_0040b9f0
LAB_0040b9e7: ;XREF[1,0]: 0040b9e0
.text:0040b9e7 83fa20 CMP EDX,0x20
LAB_0040b9ea: ;XREF[1,0]: 0040b9db
.text:0040b9ea 7404 JZ LAB_0040b9f0
LAB_0040b9ec: ;XREF[1,0]: 0040b9bd
.text:0040b9ec b001 MOV AL,0x1
.text:0040b9ee eb02 JMP LAB_0040b9f2
LAB_0040b9f0: ;XREF[4,0]: 0040b9b5,0040b9c7,0040b9e5,0040b9ea
.text:0040b9f0 32c0 XOR AL,AL
LAB_0040b9f2: ;XREF[1,0]: 0040b9ee
.text:0040b9f2 5e POP ESI
.text:0040b9f3 5d POP EBP
.text:0040b9f4 c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040b9f7(void * this, int param_1, uint param_2)
;this void * ECX
;param_1 int 4 ;XREF[1,0]: 0040ba07
;param_2 uint 8 ;XREF[1,0]: 0040b9fc
;XREF[2,0]: 004087da,00408ac0
.text:0040b9f7 8bff MOV EDI,EDI
.text:0040b9f9 55 PUSH EBP
.text:0040b9fa 8bec MOV EBP,ESP
.text:0040b9fc 8b550c MOV EDX,dword ptr [EBP + param_2+0x4]
.text:0040b9ff 56 PUSH ESI
.text:0040ba00 8bf1 MOV ESI,this
.text:0040ba02 83faff CMP EDX,-0x1
.text:0040ba05 7439 JZ LAB_0040ba40
.text:0040ba07 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040ba0a 83e800 SUB EAX,0x0
.text:0040ba0d 742d JZ LAB_0040ba3c
.text:0040ba0f 83e801 SUB EAX,0x1
.text:0040ba12 7419 JZ LAB_0040ba2d
.text:0040ba14 83e807 SUB EAX,0x7
.text:0040ba17 7527 JNZ LAB_0040ba40
.text:0040ba19 0fb6d2 MOVZX EDX,DL
.text:0040ba1c 40 INC EAX
.text:0040ba1d 8bca MOV this,EDX
.text:0040ba1f c1ea03 SHR EDX,0x3
.text:0040ba22 83e107 AND this,0x7
.text:0040ba25 d3e0 SHL EAX,this
.text:0040ba27 84443244 TEST byte ptr [EDX + ESI*0x1 + 0x44],AL
.text:0040ba2b eb0d JMP LAB_0040ba3a
LAB_0040ba2d: ;XREF[1,0]: 0040ba12
.text:0040ba2d 83fa09 CMP EDX,0x9
.text:0040ba30 7c05 JL LAB_0040ba37
.text:0040ba32 83fa0d CMP EDX,0xd
.text:0040ba35 7e09 JLE LAB_0040ba40
LAB_0040ba37: ;XREF[1,0]: 0040ba30
.text:0040ba37 83fa20 CMP EDX,0x20
LAB_0040ba3a: ;XREF[1,0]: 0040ba2b
.text:0040ba3a 7404 JZ LAB_0040ba40
LAB_0040ba3c: ;XREF[1,0]: 0040ba0d
.text:0040ba3c b001 MOV AL,0x1
.text:0040ba3e eb02 JMP LAB_0040ba42
LAB_0040ba40: ;XREF[4,0]: 0040ba05,0040ba17,0040ba35,0040ba3a
.text:0040ba40 32c0 XOR AL,AL
LAB_0040ba42: ;XREF[1,0]: 0040ba3e
.text:0040ba42 5e POP ESI
.text:0040ba43 5d POP EBP
.text:0040ba44 c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040ba47(int param_1)
;param_1 int ECX
;XREF[6,0]: 0040bcdc,0040bd0c,0040bfa4,0040bfec
; 0040c872,0040c8e1
.text:0040ba47 8b4128 MOV EAX,dword ptr [param_1 + 0x28]
.text:0040ba4a 83f809 CMP EAX,0x9
.text:0040ba4d 772c JA switchD_0040ba56::caseD_a
.text:0040ba4f 0fb6808bb... MOVZX EAX,byte ptr [EAX + switchD_0040ba56:...
switchD: ; FWD[5,0]: 0040ba5d,0040ba67,0040ba71,0040ba7b
; 0040ba7f
.text:0040ba56 ff24857fb... JMP dword ptr [EAX*0x4 + switchD_0040ba56...;= 0040ba5d
caseD_1: ;XREF[2,0]: 0040ba56,0040ba7f
caseD_8:
caseD_0:
.text:0040ba5d 33c0 XOR EAX,EAX
.text:0040ba5f 384124 CMP byte ptr [param_1 + 0x24],AL
.text:0040ba62 0f95c0 SETNZ AL
.text:0040ba65 40 INC EAX
.text:0040ba66 c3 RET
caseD_3: ;XREF[2,0]: 0040ba56,0040ba83
caseD_4:
caseD_5:
caseD_6:
caseD_9:
caseD_2:
.text:0040ba67 ff7120 PUSH dword ptr [param_1 + 0x20]
.text:0040ba6a e8560b0000 CALL __crt_stdio_input::to_integer_length ;uint to_integer_length(length_modifi...
.text:0040ba6f 59 POP param_1
.text:0040ba70 c3 RET
caseD_7: ;XREF[2,0]: 0040ba56,0040ba87
.text:0040ba71 ff7120 PUSH dword ptr [param_1 + 0x20]
.text:0040ba74 e8290b0000 CALL __crt_stdio_input::to_floating_point_...;uint to_floating_point_length(length...
.text:0040ba79 59 POP param_1
.text:0040ba7a c3 RET
caseD_a: ;XREF[2,0]: 0040ba4d,0040ba56
.text:0040ba7b 33c0 XOR EAX,EAX
.text:0040ba7d c3 RET
.text:0040ba7e 90 ?? 90h
switchdataD_0040ba7f: ;XREF[1,0]: 0040ba56
.text:0040ba7f 5dba4000 addr switchD_0040ba56::caseD_0
.text:0040ba83 67ba4000 addr switchD_0040ba56::caseD_2
.text:0040ba87 71ba4000 addr switchD_0040ba56::caseD_7
switchdataD_0040ba8b: ;XREF[1,0]: 0040ba4f
.text:0040ba8b 00 db 0h
.text:0040ba8c 00 db 0h
.text:0040ba8d 01 db 1h
.text:0040ba8e 01 db 1h
.text:0040ba8f 01 db 1h
.text:0040ba90 01 db 1h
.text:0040ba91 01 db 1h
.text:0040ba92 02 db 2h
.text:0040ba93 00 db 0h
.text:0040ba94 01 db 1h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined8 FUN_0040ba95(int param_1)
;param_1 int ECX
;XREF[2,0]: 004093a3,0040b3e8
.text:0040ba95 80790400 CMP byte ptr [param_1 + 0x4],0x0
.text:0040ba99 7409 JZ LAB_0040baa4
.text:0040ba9b 83c8ff OR EAX,0xffffffff
.text:0040ba9e baffff1f00 MOV EDX,0x1fffff
.text:0040baa3 c3 RET
LAB_0040baa4: ;XREF[1,0]: 0040ba99
.text:0040baa4 b8ffffff00 MOV EAX,0xffffff
.text:0040baa9 33d2 XOR EDX,EDX
.text:0040baab c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: int __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[1,0]: 00408ef4
.text:0040baac 8bff MOV EDI,EDI
.text:0040baae 53 PUSH EBX
.text:0040baaf 56 PUSH ESI
.text:0040bab0 8bf1 MOV ESI,this
.text:0040bab2 57 PUSH EDI
.text:0040bab3 8d5e08 LEA EBX,[ESI + 0x8]
.text:0040bab6 8bcb MOV this,EBX
.text:0040bab8 e8630c0000 CALL __crt_stdio_input::stream_input_adapt...;bool validate(stream_input_adapter.text:0040babd 84c0 TEST AL,AL
.text:0040babf 740e JZ LAB_0040bacf
.text:0040bac1 8d7e10 LEA EDI,[ESI + 0x10]
.text:0040bac4 8bcf MOV this,EDI
.text:0040bac6 e8180c0000 CALL __crt_stdio_input::format_string_pars...;bool validate(format_string_parser.text:0040bacb 84c0 TEST AL,AL
.text:0040bacd 7512 JNZ LAB_0040bae1
LAB_0040bacf: ;XREF[1,0]: 0040babf
.text:0040bacf 83c8ff OR EAX,0xffffffff
LAB_0040bad2: ;XREF[1,0]: 0040bb35
.text:0040bad2 5f POP EDI
.text:0040bad3 5e POP ESI
.text:0040bad4 5b POP EBX
.text:0040bad5 c3 RET
LAB_0040bad6: ;XREF[1,0]: 0040baea
.text:0040bad6 8bce MOV this,ESI
.text:0040bad8 e82d040000 CALL __crt_stdio_input::input_processor;bool process_state(input_processor .text:0040badd 84c0 TEST AL,AL
.text:0040badf 740b JZ LAB_0040baec
LAB_0040bae1: ;XREF[1,0]: 0040bacd
.text:0040bae1 8bcf MOV this,EDI
.text:0040bae3 e85bd4ffff CALL __crt_stdio_input::format_string_pars...;bool advance(format_string_parser.text:0040bae8 84c0 TEST AL,AL
.text:0040baea 75ea JNZ LAB_0040bad6
LAB_0040baec: ;XREF[1,0]: 0040badf
.text:0040baec 8b7e68 MOV EDI,dword ptr [ESI + 0x68]
.text:0040baef 85ff TEST EDI,EDI
.text:0040baf1 7523 JNZ LAB_0040bb16
.text:0040baf3 837e2001 CMP dword ptr [ESI + 0x20],0x1
.text:0040baf7 741d JZ LAB_0040bb16
.text:0040baf9 ff33 PUSH dword ptr [EBX]
.text:0040bafb e80c100000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:0040bb00 59 POP this
.text:0040bb01 83f8ff CMP EAX,-0x1
.text:0040bb04 7405 JZ LAB_0040bb0b
.text:0040bb06 ff4304 INC dword ptr [EBX + 0x4]
.text:0040bb09 eb03 JMP LAB_0040bb0e
LAB_0040bb0b: ;XREF[1,0]: 0040bb04
.text:0040bb0b 83cfff OR EDI,0xffffffff
LAB_0040bb0e: ;XREF[1,0]: 0040bb09
.text:0040bb0e 50 PUSH EAX
.text:0040bb0f 8bcb MOV this,EBX
.text:0040bb11 e8900b0000 CALL __crt_stdio_input::stream_input_adapt...;void unget(stream_input_adapter LAB_0040bb16: ;XREF[2,0]: 0040baf1,0040baf7
.text:0040bb16 8b06 MOV EAX,dword ptr [ESI]
.text:0040bb18 83e001 AND EAX,0x1
.text:0040bb1b 83c800 OR EAX,0x0
.text:0040bb1e 7413 JZ LAB_0040bb33
.text:0040bb20 8b761c MOV ESI,dword ptr [ESI + 0x1c]
.text:0040bb23 85f6 TEST ESI,ESI
.text:0040bb25 740c JZ LAB_0040bb33
.text:0040bb27 e8d8270000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040bb2c 8930 MOV dword ptr [EAX],ESI
.text:0040bb2e e8f0260000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_0040bb33: ;XREF[2,0]: 0040bb1e,0040bb25
.text:0040bb33 8bc7 MOV EAX,EDI
.text:0040bb35 eb9b JMP LAB_0040bad2
;************************************************************************************************
;* Library Function - Single Match *
;* public: int __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[1,0]: 00406a38
.text:0040bb37 8bff MOV EDI,EDI
.text:0040bb39 53 PUSH EBX
.text:0040bb3a 56 PUSH ESI
.text:0040bb3b 8bf1 MOV ESI,this
.text:0040bb3d 57 PUSH EDI
.text:0040bb3e 8d5e08 LEA EBX,[ESI + 0x8]
.text:0040bb41 8bcb MOV this,EBX
.text:0040bb43 e8f90b0000 CALL __crt_stdio_input::string_input_adapt...;bool validate(string_input_adapter.text:0040bb48 84c0 TEST AL,AL
.text:0040bb4a 740e JZ LAB_0040bb5a
.text:0040bb4c 8d7e18 LEA EDI,[ESI + 0x18]
.text:0040bb4f 8bcf MOV this,EDI
.text:0040bb51 e88d0b0000 CALL __crt_stdio_input::format_string_pars...;bool validate(format_string_parser.text:0040bb56 84c0 TEST AL,AL
.text:0040bb58 7512 JNZ LAB_0040bb6c
LAB_0040bb5a: ;XREF[1,0]: 0040bb4a
.text:0040bb5a 83c8ff OR EAX,0xffffffff
LAB_0040bb5d: ;XREF[1,0]: 0040bbb9
.text:0040bb5d 5f POP EDI
.text:0040bb5e 5e POP ESI
.text:0040bb5f 5b POP EBX
.text:0040bb60 c3 RET
LAB_0040bb61: ;XREF[1,0]: 0040bb75
.text:0040bb61 8bce MOV this,ESI
.text:0040bb63 e8e4030000 CALL __crt_stdio_input::input_processor;bool process_state(input_processor .text:0040bb68 84c0 TEST AL,AL
.text:0040bb6a 740b JZ LAB_0040bb77
LAB_0040bb6c: ;XREF[1,0]: 0040bb58
.text:0040bb6c 8bcf MOV this,EDI
.text:0040bb6e e8d0d3ffff CALL __crt_stdio_input::format_string_pars...;bool advance(format_string_parser.text:0040bb73 84c0 TEST AL,AL
.text:0040bb75 75ea JNZ LAB_0040bb61
LAB_0040bb77: ;XREF[1,0]: 0040bb6a
.text:0040bb77 8b7e70 MOV EDI,dword ptr [ESI + 0x70]
.text:0040bb7a 85ff TEST EDI,EDI
.text:0040bb7c 751c JNZ LAB_0040bb9a
.text:0040bb7e 837e2801 CMP dword ptr [ESI + 0x28],0x1
.text:0040bb82 7416 JZ LAB_0040bb9a
.text:0040bb84 8bcb MOV this,EBX
.text:0040bb86 e806feffff CALL __crt_stdio_input::string_input_adapt...;int get(string_input_adapter *...
.text:0040bb8b 83f8ff CMP EAX,-0x1
.text:0040bb8e 7502 JNZ LAB_0040bb92
.text:0040bb90 0bf8 OR EDI,EAX
LAB_0040bb92: ;XREF[1,0]: 0040bb8e
.text:0040bb92 50 PUSH EAX
.text:0040bb93 8bcb MOV this,EBX
.text:0040bb95 e82a0b0000 CALL __crt_stdio_input::string_input_adapt...;void unget(string_input_adapter LAB_0040bb9a: ;XREF[2,0]: 0040bb7c,0040bb82
.text:0040bb9a 8b06 MOV EAX,dword ptr [ESI]
.text:0040bb9c 83e001 AND EAX,0x1
.text:0040bb9f 83c800 OR EAX,0x0
.text:0040bba2 7413 JZ LAB_0040bbb7
.text:0040bba4 8b7624 MOV ESI,dword ptr [ESI + 0x24]
.text:0040bba7 85f6 TEST ESI,ESI
.text:0040bba9 740c JZ LAB_0040bbb7
.text:0040bbab e854270000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040bbb0 8930 MOV dword ptr [EAX],ESI
.text:0040bbb2 e86c260000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_0040bbb7: ;XREF[2,0]: 0040bba2,0040bba9
.text:0040bbb7 8bc7 MOV EAX,EDI
.text:0040bbb9 eba2 JMP LAB_0040bb5d
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[1,0]: 0040bc2b
.text:0040bbbb 80792600 CMP byte ptr [this + 0x26],0x0
.text:0040bbbf 7403 JZ LAB_0040bbc4
.text:0040bbc1 b001 MOV AL,0x1
.text:0040bbc3 c3 RET
LAB_0040bbc4: ;XREF[1,0]: 0040bbbf
.text:0040bbc4 6a00 PUSH 0x0
.text:0040bbc6 ff710c PUSH dword ptr [this + 0xc]
.text:0040bbc9 e8780c0000 CALL FUN_0040c846 ;undefined4 FUN_0040c846(void * this,...
.text:0040bbce c3 RET
LAB_0040bbcf: ;XREF[1,0]: 0040bc9f
.text:0040bbcf 80792e00 CMP byte ptr [ECX + 0x2e],0x0
.text:0040bbd3 7403 JZ LAB_0040bbd8
.text:0040bbd5 b001 MOV AL,0x1
.text:0040bbd7 c3 RET
LAB_0040bbd8: ;XREF[1,0]: 0040bbd3
.text:0040bbd8 8b4110 MOV EAX,dword ptr [ECX + 0x10]
.text:0040bbdb 2b4108 SUB EAX,dword ptr [ECX + 0x8]
.text:0040bbde 6a00 PUSH 0x0
.text:0040bbe0 50 PUSH EAX
.text:0040bbe1 e8cf0c0000 CALL FUN_0040c8b5 ;undefined4 FUN_0040c8b5(void * this,...
.text:0040bbe6 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * param_1)
;param_1 input_proce... ECX
;XREF[1,0]: 0040bf26
.text:0040bbe7 8b4138 MOV EAX,dword ptr [param_1 + 0x38]
.text:0040bbea 83f809 CMP EAX,0x9
.text:0040bbed 7741 JA switchD_0040bbef::caseD_a
switchD: ; FWD[12,0]: 0040bbf6,0040bbfe,0040bc02,0040bc06
; 0040bc10,0040bc16,0040bc1c,0040bc20
; 0040bc26,0040bc2b,0040bc30,0040bc33
.text:0040bbef ff248533b... JMP dword ptr [EAX*0x4 + switchD_0040bbef...;= 0040bbf6
caseD_0: ;XREF[2,0]: 0040bbef,0040bc33
.text:0040bbf6 6a00 PUSH 0x0
LAB_0040bbf8: ;XREF[2,0]: 0040bc00,0040bc04
.text:0040bbf8 e891030000 CALL __crt_stdio_input::input_processor;bool process_string_specifier(input_...
.text:0040bbfd c3 RET
caseD_1: ;XREF[2,0]: 0040bbef,0040bc37
.text:0040bbfe 6a01 PUSH 0x1
.text:0040bc00 ebf6 JMP LAB_0040bbf8
caseD_8: ;XREF[2,0]: 0040bbef,0040bc53
.text:0040bc02 6a08 PUSH 0x8
.text:0040bc04 ebf2 JMP LAB_0040bbf8
caseD_2: ;XREF[2,0]: 0040bbef,0040bc3b
.text:0040bc06 6a01 PUSH 0x1
.text:0040bc08 6a00 PUSH 0x0
LAB_0040bc0a: ;XREF[3,0]: 0040bc14,0040bc1a,0040bc24
.text:0040bc0a e820010000 CALL FUN_0040bd2f ;undefined4 FUN_0040bd2f(input_proces...
.text:0040bc0f c3 RET
caseD_3: ;XREF[2,0]: 0040bbef,0040bc3f
.text:0040bc10 6a01 PUSH 0x1
LAB_0040bc12: ;XREF[1,0]: 0040bc1e
.text:0040bc12 6a0a PUSH 0xa
.text:0040bc14 ebf4 JMP LAB_0040bc0a
caseD_4: ;XREF[2,0]: 0040bbef,0040bc43
.text:0040bc16 6a00 PUSH 0x0
.text:0040bc18 6a08 PUSH 0x8
.text:0040bc1a ebee JMP LAB_0040bc0a
caseD_5: ;XREF[2,0]: 0040bbef,0040bc47
.text:0040bc1c 6a00 PUSH 0x0
.text:0040bc1e ebf2 JMP LAB_0040bc12
caseD_6: ;XREF[2,0]: 0040bbef,0040bc4b
.text:0040bc20 6a00 PUSH 0x0
.text:0040bc22 6a10 PUSH 0x10
.text:0040bc24 ebe4 JMP LAB_0040bc0a
caseD_7: ;XREF[2,0]: 0040bbef,0040bc4f
.text:0040bc26 e9a4000000 JMP __crt_stdio_input::input_processor;bool process_floating_point_specifie...
caseD_9: ;XREF[2,0]: 0040bbef,0040bc57
.text:0040bc2b e98bffffff JMP __crt_stdio_input::input_processor;bool process_character_count_specifi...
caseD_a: ;XREF[2,0]: 0040bbed,0040bbef
.text:0040bc30 32c0 XOR AL,AL
.text:0040bc32 c3 RET
switchdataD_0040bc33: ;XREF[1,0]: 0040bbef
.text:0040bc33 f6bb4000 addr switchD_0040bbef::caseD_0
.text:0040bc37 febb4000 addr switchD_0040bbef::caseD_1
.text:0040bc3b 06bc4000 addr switchD_0040bbef::caseD_2
.text:0040bc3f 10bc4000 addr switchD_0040bbef::caseD_3
.text:0040bc43 16bc4000 addr switchD_0040bbef::caseD_4
.text:0040bc47 1cbc4000 addr switchD_0040bbef::caseD_5
.text:0040bc4b 20bc4000 addr switchD_0040bbef::caseD_6
.text:0040bc4f 26bc4000 addr switchD_0040bbef::caseD_7
.text:0040bc53 02bc4000 addr switchD_0040bbef::caseD_8
.text:0040bc57 2bbc4000 addr switchD_0040bbef::caseD_9
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * param_1)
;param_1 input_proce... ECX
;XREF[1,0]: 0040bf68
.text:0040bc5b 8b4140 MOV EAX,dword ptr [param_1 + 0x40]
.text:0040bc5e 83f809 CMP EAX,0x9
.text:0040bc61 7741 JA switchD_0040bc63::caseD_a
switchD: ; FWD[12,0]: 0040bc6a,0040bc72,0040bc76,0040bc7a
; 0040bc84,0040bc8a,0040bc90,0040bc94
; 0040bc9a,0040bc9f,0040bca4,0040bca7
.text:0040bc63 ff2485a7b... JMP dword ptr [EAX*0x4 + switchD_0040bc63...;= 0040bc6a
caseD_0: ;XREF[2,0]: 0040bc63,0040bca7
.text:0040bc6a 6a00 PUSH 0x0
LAB_0040bc6c: ;XREF[2,0]: 0040bc74,0040bc78
.text:0040bc6c e865030000 CALL __crt_stdio_input::input_processor;bool process_string_specifier(input_...
.text:0040bc71 c3 RET
caseD_1: ;XREF[2,0]: 0040bc63,0040bcab
.text:0040bc72 6a01 PUSH 0x1
.text:0040bc74 ebf6 JMP LAB_0040bc6c
caseD_8: ;XREF[2,0]: 0040bc63,0040bcc7
.text:0040bc76 6a08 PUSH 0x8
.text:0040bc78 ebf2 JMP LAB_0040bc6c
caseD_2: ;XREF[2,0]: 0040bc63,0040bcaf
.text:0040bc7a 6a01 PUSH 0x1
.text:0040bc7c 6a00 PUSH 0x0
LAB_0040bc7e: ;XREF[3,0]: 0040bc88,0040bc8e,0040bc98
.text:0040bc7e e811010000 CALL FUN_0040bd94 ;undefined4 FUN_0040bd94(input_proces...
.text:0040bc83 c3 RET
caseD_3: ;XREF[2,0]: 0040bc63,0040bcb3
.text:0040bc84 6a01 PUSH 0x1
LAB_0040bc86: ;XREF[1,0]: 0040bc92
.text:0040bc86 6a0a PUSH 0xa
.text:0040bc88 ebf4 JMP LAB_0040bc7e
caseD_4: ;XREF[2,0]: 0040bc63,0040bcb7
.text:0040bc8a 6a00 PUSH 0x0
.text:0040bc8c 6a08 PUSH 0x8
.text:0040bc8e ebee JMP LAB_0040bc7e
caseD_5: ;XREF[2,0]: 0040bc63,0040bcbb
.text:0040bc90 6a00 PUSH 0x0
.text:0040bc92 ebf2 JMP LAB_0040bc86
caseD_6: ;XREF[2,0]: 0040bc63,0040bcbf
.text:0040bc94 6a00 PUSH 0x0
.text:0040bc96 6a10 PUSH 0x10
.text:0040bc98 ebe4 JMP LAB_0040bc7e
caseD_7: ;XREF[2,0]: 0040bc63,0040bcc3
.text:0040bc9a e960000000 JMP __crt_stdio_input::input_processor;bool process_floating_point_specifie...
caseD_9: ;XREF[2,0]: 0040bc63,0040bccb
.text:0040bc9f e92bffffff JMP LAB_0040bbcf
caseD_a: ;XREF[2,0]: 0040bc61,0040bc63
.text:0040bca4 32c0 XOR AL,AL
.text:0040bca6 c3 RET
switchdataD_0040bca7: ;XREF[1,0]: 0040bc63
.text:0040bca7 6abc4000 addr switchD_0040bc63::caseD_0
.text:0040bcab 72bc4000 addr switchD_0040bc63::caseD_1
.text:0040bcaf 7abc4000 addr switchD_0040bc63::caseD_2
.text:0040bcb3 84bc4000 addr switchD_0040bc63::caseD_3
.text:0040bcb7 8abc4000 addr switchD_0040bc63::caseD_4
.text:0040bcbb 90bc4000 addr switchD_0040bc63::caseD_5
.text:0040bcbf 94bc4000 addr switchD_0040bc63::caseD_6
.text:0040bcc3 9abc4000 addr switchD_0040bc63::caseD_7
.text:0040bcc7 76bc4000 addr switchD_0040bc63::caseD_8
.text:0040bccb 9fbc4000 addr switchD_0040bc63::caseD_9
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[1,0]: 0040bc26
.text:0040bccf 8bff MOV EDI,EDI
.text:0040bcd1 56 PUSH ESI
.text:0040bcd2 8bf1 MOV ESI,this
.text:0040bcd4 e845030000 CALL __crt_stdio_input::input_processor;bool process_whitespace(input_proces...
.text:0040bcd9 8d4e10 LEA this,[ESI + 0x10]
.text:0040bcdc e866fdffff CALL FUN_0040ba47 ;uint FUN_0040ba47(int param_1)
.text:0040bce1 83f804 CMP EAX,0x4
.text:0040bce4 7411 JZ LAB_0040bcf7
.text:0040bce6 83f808 CMP EAX,0x8
.text:0040bce9 7404 JZ LAB_0040bcef
.text:0040bceb 32c0 XOR AL,AL
.text:0040bced 5e POP ESI
.text:0040bcee c3 RET
LAB_0040bcef: ;XREF[1,0]: 0040bce9
.text:0040bcef 8bce MOV this,ESI
.text:0040bcf1 5e POP ESI
.text:0040bcf2 e9d1c7ffff JMP FUN_004084c8 ;uint FUN_004084c8(void * param_1)
LAB_0040bcf7: ;XREF[1,0]: 0040bce4
.text:0040bcf7 8bce MOV this,ESI
.text:0040bcf9 5e POP ESI
.text:0040bcfa e9f7c6ffff JMP FUN_004083f6 ;uint FUN_004083f6(void * param_1)
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[1,0]: 0040bc9a
.text:0040bcff 8bff MOV EDI,EDI
.text:0040bd01 56 PUSH ESI
.text:0040bd02 8bf1 MOV ESI,this
.text:0040bd04 e832030000 CALL __crt_stdio_input::input_processor;bool process_whitespace(input_proces...
.text:0040bd09 8d4e18 LEA this,[ESI + 0x18]
.text:0040bd0c e836fdffff CALL FUN_0040ba47 ;uint FUN_0040ba47(int param_1)
.text:0040bd11 83f804 CMP EAX,0x4
.text:0040bd14 7411 JZ LAB_0040bd27
.text:0040bd16 83f808 CMP EAX,0x8
.text:0040bd19 7404 JZ LAB_0040bd1f
.text:0040bd1b 32c0 XOR AL,AL
.text:0040bd1d 5e POP ESI
.text:0040bd1e c3 RET
LAB_0040bd1f: ;XREF[1,0]: 0040bd19
.text:0040bd1f 8bce MOV this,ESI
.text:0040bd21 5e POP ESI
.text:0040bd22 e90ac8ffff JMP FUN_00408531 ;uint FUN_00408531(void * param_1)
LAB_0040bd27: ;XREF[1,0]: 0040bd14
.text:0040bd27 8bce MOV this,ESI
.text:0040bd29 5e POP ESI
.text:0040bd2a e930c7ffff JMP FUN_0040845f ;uint FUN_0040845f(void * param_1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040bd2f(input_processor_> * param_1)
;param_1 input_proce... ECX
;local_5 undefined1 -5 ;XREF[3,0]: 0040bd45,0040bd4b,0040bd71
;XREF[1,0]: 0040bc0a
.text:0040bd2f 8bff MOV EDI,EDI
.text:0040bd31 55 PUSH EBP
.text:0040bd32 8bec MOV EBP,ESP
.text:0040bd34 51 PUSH param_1
.text:0040bd35 51 PUSH param_1
.text:0040bd36 56 PUSH ESI
.text:0040bd37 57 PUSH EDI
.text:0040bd38 8bf9 MOV EDI,param_1
.text:0040bd3a e8df020000 CALL __crt_stdio_input::input_processor;bool process_whitespace(input_proces...
.text:0040bd3f ff750c PUSH dword ptr [EBP + Stack[0x8]+0x4]
.text:0040bd42 8b7760 MOV ESI,dword ptr [EDI + 0x60]
.text:0040bd45 8d45ff LEA EAX=>local_5,[EBP + -0x1]
.text:0040bd48 ff7508 PUSH dword ptr [EBP + Stack[0x4]+0x4]
.text:0040bd4b c645ff00 MOV byte ptr [EBP + local_5+0x4],0x0
.text:0040bd4f 83ec20 SUB ESP,0x20
.text:0040bd52 8bd4 MOV EDX,ESP
.text:0040bd54 50 PUSH EAX
.text:0040bd55 ff772c PUSH dword ptr [EDI + 0x2c]
.text:0040bd58 8d4708 LEA EAX,[EDI + 0x8]
.text:0040bd5b ff7728 PUSH dword ptr [EDI + 0x28]
.text:0040bd5e 50 PUSH EAX
.text:0040bd5f 52 PUSH EDX
.text:0040bd60 e8c1adffff CALL FUN_00406b26 ;void * FUN_00406b26(void * param_1, ...
.text:0040bd65 83c414 ADD ESP,0x14
.text:0040bd68 56 PUSH ESI
.text:0040bd69 e8ccc2ffff CALL FUN_0040803a ;ulonglong FUN_0040803a(undefined4 * ...
.text:0040bd6e 83c42c ADD ESP,0x2c
.text:0040bd71 807dff00 CMP byte ptr [EBP + local_5+0x4],0x0
.text:0040bd75 7504 JNZ LAB_0040bd7b
.text:0040bd77 32c0 XOR AL,AL
.text:0040bd79 eb13 JMP LAB_0040bd8e
LAB_0040bd7b: ;XREF[1,0]: 0040bd75
.text:0040bd7b 807f2600 CMP byte ptr [EDI + 0x26],0x0
.text:0040bd7f 7404 JZ LAB_0040bd85
.text:0040bd81 b001 MOV AL,0x1
.text:0040bd83 eb09 JMP LAB_0040bd8e
LAB_0040bd85: ;XREF[1,0]: 0040bd7f
.text:0040bd85 52 PUSH EDX
.text:0040bd86 50 PUSH EAX
.text:0040bd87 8bcf MOV param_1,EDI
.text:0040bd89 e8b80a0000 CALL FUN_0040c846 ;undefined4 FUN_0040c846(void * this,...
LAB_0040bd8e: ;XREF[2,0]: 0040bd79,0040bd83
.text:0040bd8e 5f POP EDI
.text:0040bd8f 5e POP ESI
.text:0040bd90 c9 LEAVE
.text:0040bd91 c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040bd94(input_processor_> * param_1)
;param_1 input_proce... ECX
;local_5 undefined1 -5 ;XREF[3,0]: 0040bdaa,0040bdb0,0040bdd6
;XREF[1,0]: 0040bc7e
.text:0040bd94 8bff MOV EDI,EDI
.text:0040bd96 55 PUSH EBP
.text:0040bd97 8bec MOV EBP,ESP
.text:0040bd99 51 PUSH param_1
.text:0040bd9a 51 PUSH param_1
.text:0040bd9b 56 PUSH ESI
.text:0040bd9c 57 PUSH EDI
.text:0040bd9d 8bf9 MOV EDI,param_1
.text:0040bd9f e897020000 CALL __crt_stdio_input::input_processor;bool process_whitespace(input_proces...
.text:0040bda4 ff750c PUSH dword ptr [EBP + Stack[0x8]+0x4]
.text:0040bda7 8b7768 MOV ESI,dword ptr [EDI + 0x68]
.text:0040bdaa 8d45ff LEA EAX=>local_5,[EBP + -0x1]
.text:0040bdad ff7508 PUSH dword ptr [EBP + Stack[0x4]+0x4]
.text:0040bdb0 c645ff00 MOV byte ptr [EBP + local_5+0x4],0x0
.text:0040bdb4 83ec20 SUB ESP,0x20
.text:0040bdb7 8bd4 MOV EDX,ESP
.text:0040bdb9 50 PUSH EAX
.text:0040bdba ff7734 PUSH dword ptr [EDI + 0x34]
.text:0040bdbd 8d4708 LEA EAX,[EDI + 0x8]
.text:0040bdc0 ff7730 PUSH dword ptr [EDI + 0x30]
.text:0040bdc3 50 PUSH EAX
.text:0040bdc4 52 PUSH EDX
.text:0040bdc5 e85cadffff CALL FUN_00406b26 ;void * FUN_00406b26(void * param_1, ...
.text:0040bdca 83c414 ADD ESP,0x14
.text:0040bdcd 56 PUSH ESI
.text:0040bdce e8c7c5ffff CALL FUN_0040839a ;ulonglong FUN_0040839a(undefined4 * ...
.text:0040bdd3 83c42c ADD ESP,0x2c
.text:0040bdd6 807dff00 CMP byte ptr [EBP + local_5+0x4],0x0
.text:0040bdda 7504 JNZ LAB_0040bde0
.text:0040bddc 32c0 XOR AL,AL
.text:0040bdde eb13 JMP LAB_0040bdf3
LAB_0040bde0: ;XREF[1,0]: 0040bdda
.text:0040bde0 807f2e00 CMP byte ptr [EDI + 0x2e],0x0
.text:0040bde4 7404 JZ LAB_0040bdea
.text:0040bde6 b001 MOV AL,0x1
.text:0040bde8 eb09 JMP LAB_0040bdf3
LAB_0040bdea: ;XREF[1,0]: 0040bde4
.text:0040bdea 52 PUSH EDX
.text:0040bdeb 50 PUSH EAX
.text:0040bdec 8bcf MOV param_1,EDI
.text:0040bdee e8c20a0000 CALL FUN_0040c8b5 ;undefined4 FUN_0040c8b5(void * this,...
LAB_0040bdf3: ;XREF[2,0]: 0040bdde,0040bde8
.text:0040bdf3 5f POP EDI
.text:0040bdf4 5e POP ESI
.text:0040bdf5 c9 LEAVE
.text:0040bdf6 c20800 RET 0x8
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[1,0]: 0040bf41
.text:0040bdf9 8bff MOV EDI,EDI
.text:0040bdfb 56 PUSH ESI
.text:0040bdfc 57 PUSH EDI
.text:0040bdfd 8bf9 MOV EDI,this
.text:0040bdff ff7708 PUSH dword ptr [EDI + 0x8]
.text:0040be02 e8050d0000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:0040be07 59 POP this
.text:0040be08 83f8ff CMP EAX,-0x1
.text:0040be0b 7414 JZ LAB_0040be21
.text:0040be0d ff470c INC dword ptr [EDI + 0xc]
.text:0040be10 0fb65724 MOVZX EDX,byte ptr [EDI + 0x24]
.text:0040be14 50 PUSH EAX
.text:0040be15 3bc2 CMP EAX,EDX
.text:0040be17 740d JZ LAB_0040be26
.text:0040be19 8d4f08 LEA this,[EDI + 0x8]
.text:0040be1c e885080000 CALL __crt_stdio_input::stream_input_adapt...;void unget(stream_input_adapter LAB_0040be21: ;XREF[1,0]: 0040be0b
.text:0040be21 32c0 XOR AL,AL
LAB_0040be23: ;XREF[1,0]: 0040be2d
.text:0040be23 5f POP EDI
.text:0040be24 5e POP ESI
.text:0040be25 c3 RET
LAB_0040be26: ;XREF[1,0]: 0040be17
.text:0040be26 8bcf MOV this,EDI
.text:0040be28 e838000000 CALL __crt_stdio_input::input_processor;bool process_literal_character_tchar...
.text:0040be2d ebf4 JMP LAB_0040be23
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[1,0]: 0040bf83
.text:0040be2f 8bff MOV EDI,EDI
.text:0040be31 56 PUSH ESI
.text:0040be32 8bf1 MOV ESI,this
.text:0040be34 57 PUSH EDI
.text:0040be35 8d4e08 LEA this,[ESI + 0x8]
.text:0040be38 e854fbffff CALL __crt_stdio_input::string_input_adapt...;int get(string_input_adapter *...
.text:0040be3d 8bd0 MOV EDX,EAX
.text:0040be3f 83faff CMP EDX,-0x1
.text:0040be42 7504 JNZ LAB_0040be48
LAB_0040be44: ;XREF[1,0]: 0040be59
.text:0040be44 32c0 XOR AL,AL
.text:0040be46 eb1a JMP LAB_0040be62
LAB_0040be48: ;XREF[1,0]: 0040be42
.text:0040be48 0fb6462c MOVZX EAX,byte ptr [ESI + 0x2c]
.text:0040be4c 52 PUSH EDX
.text:0040be4d 3bd0 CMP EDX,EAX
.text:0040be4f 740a JZ LAB_0040be5b
.text:0040be51 8d4e08 LEA this,[ESI + 0x8]
.text:0040be54 e86b080000 CALL __crt_stdio_input::string_input_adapt...;void unget(string_input_adapter .text:0040be59 ebe9 JMP LAB_0040be44
LAB_0040be5b: ;XREF[1,0]: 0040be4f
.text:0040be5b 8bce MOV this,ESI
.text:0040be5d e85a000000 CALL __crt_stdio_input::input_processor;bool process_literal_character_tchar...
LAB_0040be62: ;XREF[1,0]: 0040be46
.text:0040be62 5f POP EDI
.text:0040be63 5e POP ESI
.text:0040be64 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this, char param_1)
;this input_proce... ECX
;param_1 char 4 ;XREF[1,0]: 0040be74
;XREF[1,0]: 0040be28
.text:0040be65 8bff MOV EDI,EDI
.text:0040be67 55 PUSH EBP
.text:0040be68 8bec MOV EBP,ESP
.text:0040be6a 53 PUSH EBX
.text:0040be6b 56 PUSH ESI
.text:0040be6c 57 PUSH EDI
.text:0040be6d 8bf9 MOV EDI,this
.text:0040be6f e820490000 CALL ___pctype_func ;ushort * ___pctype_func(void)
.text:0040be74 8a5d08 MOV BL,byte ptr [EBP + param_1+0x4]
.text:0040be77 0fb6d3 MOVZX EDX,BL
.text:0040be7a 66833c5000 CMP word ptr [EAX + EDX*0x2],0x0
.text:0040be7f 7d32 JGE LAB_0040beb3
.text:0040be81 8d7708 LEA ESI,[EDI + 0x8]
.text:0040be84 ff36 PUSH dword ptr [ESI]
.text:0040be86 e8810c0000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:0040be8b 59 POP this
.text:0040be8c 83f8ff CMP EAX,-0x1
.text:0040be8f 7403 JZ LAB_0040be94
.text:0040be91 ff4604 INC dword ptr [ESI + 0x4]
LAB_0040be94: ;XREF[1,0]: 0040be8f
.text:0040be94 0fb65725 MOVZX EDX,byte ptr [EDI + 0x25]
.text:0040be98 3bc2 CMP EAX,EDX
.text:0040be9a 7417 JZ LAB_0040beb3
.text:0040be9c 50 PUSH EAX
.text:0040be9d 8bce MOV this,ESI
.text:0040be9f e802080000 CALL __crt_stdio_input::stream_input_adapt...;void unget(stream_input_adapter .text:0040bea4 0fbec3 MOVSX EAX,BL
.text:0040bea7 8bce MOV this,ESI
.text:0040bea9 50 PUSH EAX
.text:0040beaa e8f7070000 CALL __crt_stdio_input::stream_input_adapt...;void unget(stream_input_adapter .text:0040beaf 32c0 XOR AL,AL
.text:0040beb1 eb02 JMP LAB_0040beb5
LAB_0040beb3: ;XREF[2,0]: 0040be7f,0040be9a
.text:0040beb3 b001 MOV AL,0x1
LAB_0040beb5: ;XREF[1,0]: 0040beb1
.text:0040beb5 5f POP EDI
.text:0040beb6 5e POP ESI
.text:0040beb7 5b POP EBX
.text:0040beb8 5d POP EBP
.text:0040beb9 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this, char param_1)
;this input_proce... ECX
;param_1 char 4 ;XREF[1,0]: 0040becb
;XREF[1,0]: 0040be5d
.text:0040bebc 8bff MOV EDI,EDI
.text:0040bebe 55 PUSH EBP
.text:0040bebf 8bec MOV EBP,ESP
.text:0040bec1 53 PUSH EBX
.text:0040bec2 56 PUSH ESI
.text:0040bec3 57 PUSH EDI
.text:0040bec4 8bf9 MOV EDI,this
.text:0040bec6 e8c9480000 CALL ___pctype_func ;ushort * ___pctype_func(void)
.text:0040becb 8a5d08 MOV BL,byte ptr [EBP + param_1+0x4]
.text:0040bece 0fb6d3 MOVZX EDX,BL
.text:0040bed1 66833c5000 CMP word ptr [EAX + EDX*0x2],0x0
.text:0040bed6 7d29 JGE LAB_0040bf01
.text:0040bed8 8d7708 LEA ESI,[EDI + 0x8]
.text:0040bedb 8bce MOV this,ESI
.text:0040bedd e8affaffff CALL __crt_stdio_input::string_input_adapt...;int get(string_input_adapter *...
.text:0040bee2 0fb6572d MOVZX EDX,byte ptr [EDI + 0x2d]
.text:0040bee6 3bc2 CMP EAX,EDX
.text:0040bee8 7417 JZ LAB_0040bf01
.text:0040beea 50 PUSH EAX
.text:0040beeb 8bce MOV this,ESI
.text:0040beed e8d2070000 CALL __crt_stdio_input::string_input_adapt...;void unget(string_input_adapter .text:0040bef2 0fbec3 MOVSX EAX,BL
.text:0040bef5 8bce MOV this,ESI
.text:0040bef7 50 PUSH EAX
.text:0040bef8 e8c7070000 CALL __crt_stdio_input::string_input_adapt...;void unget(string_input_adapter .text:0040befd 32c0 XOR AL,AL
.text:0040beff eb02 JMP LAB_0040bf03
LAB_0040bf01: ;XREF[2,0]: 0040bed6,0040bee8
.text:0040bf01 b001 MOV AL,0x1
LAB_0040bf03: ;XREF[1,0]: 0040beff
.text:0040bf03 5f POP EDI
.text:0040bf04 5e POP ESI
.text:0040bf05 5b POP EBX
.text:0040bf06 5d POP EBP
.text:0040bf07 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[1,0]: 0040bad8
.text:0040bf0a 8bff MOV EDI,EDI
.text:0040bf0c 56 PUSH ESI
.text:0040bf0d 8bf1 MOV ESI,this
.text:0040bf0f 8b4620 MOV EAX,dword ptr [ESI + 0x20]
.text:0040bf12 48 DEC EAX
.text:0040bf13 83e801 SUB EAX,0x1
.text:0040bf16 742e JZ LAB_0040bf46
.text:0040bf18 83e801 SUB EAX,0x1
.text:0040bf1b 7423 JZ LAB_0040bf40
.text:0040bf1d 83e801 SUB EAX,0x1
.text:0040bf20 7404 JZ LAB_0040bf26
.text:0040bf22 32c0 XOR AL,AL
LAB_0040bf24: ;XREF[3,0]: 0040bf2d,0040bf33,0040bf39
.text:0040bf24 5e POP ESI
.text:0040bf25 c3 RET
LAB_0040bf26: ;XREF[1,0]: 0040bf20
.text:0040bf26 e8bcfcffff CALL process_conversion_specifier ;uint process_conversion_specifier(in...
.text:0040bf2b 84c0 TEST AL,AL
.text:0040bf2d 74f5 JZ LAB_0040bf24
.text:0040bf2f 837e3809 CMP dword ptr [ESI + 0x38],0x9
.text:0040bf33 74ef JZ LAB_0040bf24
.text:0040bf35 807e2600 CMP byte ptr [ESI + 0x26],0x0
.text:0040bf39 75e9 JNZ LAB_0040bf24
.text:0040bf3b ff4668 INC dword ptr [ESI + 0x68]
.text:0040bf3e 5e POP ESI
.text:0040bf3f c3 RET
LAB_0040bf40: ;XREF[1,0]: 0040bf1b
.text:0040bf40 5e POP ESI
.text:0040bf41 e9b3feffff JMP __crt_stdio_input::input_processor;bool process_literal_character(input...
LAB_0040bf46: ;XREF[1,0]: 0040bf16
.text:0040bf46 5e POP ESI
.text:0040bf47 e9d2000000 JMP __crt_stdio_input::input_processor;bool process_whitespace(input_proces...
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[1,0]: 0040bb63
.text:0040bf4c 8bff MOV EDI,EDI
.text:0040bf4e 56 PUSH ESI
.text:0040bf4f 8bf1 MOV ESI,this
.text:0040bf51 8b4628 MOV EAX,dword ptr [ESI + 0x28]
.text:0040bf54 48 DEC EAX
.text:0040bf55 83e801 SUB EAX,0x1
.text:0040bf58 742e JZ LAB_0040bf88
.text:0040bf5a 83e801 SUB EAX,0x1
.text:0040bf5d 7423 JZ LAB_0040bf82
.text:0040bf5f 83e801 SUB EAX,0x1
.text:0040bf62 7404 JZ LAB_0040bf68
.text:0040bf64 32c0 XOR AL,AL
LAB_0040bf66: ;XREF[3,0]: 0040bf6f,0040bf75,0040bf7b
.text:0040bf66 5e POP ESI
.text:0040bf67 c3 RET
LAB_0040bf68: ;XREF[1,0]: 0040bf62
.text:0040bf68 e8eefcffff CALL process_conversion_specifier ;uint process_conversion_specifier(in...
.text:0040bf6d 84c0 TEST AL,AL
.text:0040bf6f 74f5 JZ LAB_0040bf66
.text:0040bf71 837e4009 CMP dword ptr [ESI + 0x40],0x9
.text:0040bf75 74ef JZ LAB_0040bf66
.text:0040bf77 807e2e00 CMP byte ptr [ESI + 0x2e],0x0
.text:0040bf7b 75e9 JNZ LAB_0040bf66
.text:0040bf7d ff4670 INC dword ptr [ESI + 0x70]
.text:0040bf80 5e POP ESI
.text:0040bf81 c3 RET
LAB_0040bf82: ;XREF[1,0]: 0040bf5d
.text:0040bf82 5e POP ESI
.text:0040bf83 e9a7feffff JMP __crt_stdio_input::input_processor;bool process_literal_character(input...
LAB_0040bf88: ;XREF[1,0]: 0040bf58
.text:0040bf88 5e POP ESI
.text:0040bf89 e9ad000000 JMP __crt_stdio_input::input_processor;bool process_whitespace(input_proces...
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this, conversion_mode param_1)
;this input_proce... ECX
;param_1 conversion_... 4 ;XREF[3,0]: 0040bf93,0040bfb9,0040bfc7
;XREF[1,0]: 0040bbf8
.text:0040bf8e 8bff MOV EDI,EDI
.text:0040bf90 55 PUSH EBP
.text:0040bf91 8bec MOV EBP,ESP
.text:0040bf93 837d0801 CMP dword ptr [EBP + param_1+0x4],0x1
.text:0040bf97 56 PUSH ESI
.text:0040bf98 8bf1 MOV ESI,this
.text:0040bf9a 7505 JNZ LAB_0040bfa1
.text:0040bf9c e87d000000 CALL __crt_stdio_input::input_processor;bool process_whitespace(input_proces...
LAB_0040bfa1: ;XREF[1,0]: 0040bf9a
.text:0040bfa1 8d4e10 LEA this,[ESI + 0x10]
.text:0040bfa4 e89efaffff CALL FUN_0040ba47 ;uint FUN_0040ba47(int param_1)
.text:0040bfa9 83e801 SUB EAX,0x1
.text:0040bfac 7417 JZ LAB_0040bfc5
.text:0040bfae 83e801 SUB EAX,0x1
.text:0040bfb1 7404 JZ LAB_0040bfb7
.text:0040bfb3 32c0 XOR AL,AL
.text:0040bfb5 eb1a JMP LAB_0040bfd1
LAB_0040bfb7: ;XREF[1,0]: 0040bfb1
.text:0040bfb7 6a00 PUSH 0x0
.text:0040bfb9 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040bfbc 8bce MOV this,ESI
.text:0040bfbe e8afc8ffff CALL FUN_00408872 ;uint FUN_00408872(void * this, int p...
.text:0040bfc3 eb0c JMP LAB_0040bfd1
LAB_0040bfc5: ;XREF[1,0]: 0040bfac
.text:0040bfc5 6a00 PUSH 0x0
.text:0040bfc7 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040bfca 8bce MOV this,ESI
.text:0040bfcc e8c9c5ffff CALL FUN_0040859a ;uint FUN_0040859a(void * this, int p...
LAB_0040bfd1: ;XREF[2,0]: 0040bfb5,0040bfc3
.text:0040bfd1 5e POP ESI
.text:0040bfd2 5d POP EBP
.text:0040bfd3 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this, conversion_mode param_1)
;this input_proce... ECX
;param_1 conversion_... 4 ;XREF[3,0]: 0040bfdb,0040c001,0040c00f
;XREF[1,0]: 0040bc6c
.text:0040bfd6 8bff MOV EDI,EDI
.text:0040bfd8 55 PUSH EBP
.text:0040bfd9 8bec MOV EBP,ESP
.text:0040bfdb 837d0801 CMP dword ptr [EBP + param_1+0x4],0x1
.text:0040bfdf 56 PUSH ESI
.text:0040bfe0 8bf1 MOV ESI,this
.text:0040bfe2 7505 JNZ LAB_0040bfe9
.text:0040bfe4 e852000000 CALL __crt_stdio_input::input_processor;bool process_whitespace(input_proces...
LAB_0040bfe9: ;XREF[1,0]: 0040bfe2
.text:0040bfe9 8d4e18 LEA this,[ESI + 0x18]
.text:0040bfec e856faffff CALL FUN_0040ba47 ;uint FUN_0040ba47(int param_1)
.text:0040bff1 83e801 SUB EAX,0x1
.text:0040bff4 7417 JZ LAB_0040c00d
.text:0040bff6 83e801 SUB EAX,0x1
.text:0040bff9 7404 JZ LAB_0040bfff
.text:0040bffb 32c0 XOR AL,AL
.text:0040bffd eb1a JMP LAB_0040c019
LAB_0040bfff: ;XREF[1,0]: 0040bff9
.text:0040bfff 6a00 PUSH 0x0
.text:0040c001 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040c004 8bce MOV this,ESI
.text:0040c006 e8e9c9ffff CALL FUN_004089f4 ;uint FUN_004089f4(void * this, int p...
.text:0040c00b eb0c JMP LAB_0040c019
LAB_0040c00d: ;XREF[1,0]: 0040bff4
.text:0040c00d 6a00 PUSH 0x0
.text:0040c00f ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040c012 8bce MOV this,ESI
.text:0040c014 e8f7c6ffff CALL FUN_00408710 ;uint FUN_00408710(void * this, int p...
LAB_0040c019: ;XREF[2,0]: 0040bffd,0040c00b
.text:0040c019 5e POP ESI
.text:0040c01a 5d POP EBP
.text:0040c01b c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[4,0]: 0040bcd4,0040bd3a,0040bf47,0040bf9c
.text:0040c01e 8bff MOV EDI,EDI
.text:0040c020 56 PUSH ESI
.text:0040c021 ff7160 PUSH dword ptr [this + 0x60]
.text:0040c024 8d7108 LEA ESI,[this + 0x8]
.text:0040c027 56 PUSH ESI
.text:0040c028 e835cbffff CALL __crt_stdio_input::skip_whitespace;int skip_whitespace .text:0040c02d 59 POP this
.text:0040c02e 59 POP this
.text:0040c02f 50 PUSH EAX
.text:0040c030 8bce MOV this,ESI
.text:0040c032 e86f060000 CALL __crt_stdio_input::stream_input_adapt...;void unget(stream_input_adapter .text:0040c037 b001 MOV AL,0x1
.text:0040c039 5e POP ESI
.text:0040c03a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this)
;this input_proce... ECX
;XREF[4,0]: 0040bd04,0040bd9f,0040bf89,0040bfe4
.text:0040c03b 8bff MOV EDI,EDI
.text:0040c03d 56 PUSH ESI
.text:0040c03e ff7168 PUSH dword ptr [this + 0x68]
.text:0040c041 8d7108 LEA ESI,[this + 0x8]
.text:0040c044 56 PUSH ESI
.text:0040c045 e84fcbffff CALL __crt_stdio_input::skip_whitespace;int skip_whitespace .text:0040c04a 59 POP this
.text:0040c04b 59 POP this
.text:0040c04c 50 PUSH EAX
.text:0040c04d 8bce MOV this,ESI
.text:0040c04f e870060000 CALL __crt_stdio_input::string_input_adapt...;void unget(string_input_adapter .text:0040c054 b001 MOV AL,0x1
.text:0040c056 5e POP ESI
.text:0040c057 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* public: bool __thiscall __crt_strtox::input_adapter_character_source ;this void * ECX
;param_1 int 4 ;XREF[1,0]: 0040c05d
;param_2 int 8 ;XREF[1,0]: 0040c065
;XREF[4,0]: 00407f8f,004082ef,00408e92,00408f3c
.text:0040c058 8bff MOV EDI,EDI
.text:0040c05a 55 PUSH EBP
.text:0040c05b 8bec MOV EBP,ESP
.text:0040c05d 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040c060 3b4110 CMP EAX,dword ptr [this + 0x10]
.text:0040c063 750c JNZ LAB_0040c071
.text:0040c065 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040c068 3b4114 CMP EAX,dword ptr [this + 0x14]
.text:0040c06b 7504 JNZ LAB_0040c071
.text:0040c06d b001 MOV AL,0x1
.text:0040c06f eb08 JMP LAB_0040c079
LAB_0040c071: ;XREF[2,0]: 0040c063,0040c06b
.text:0040c071 8b4118 MOV EAX,dword ptr [this + 0x18]
.text:0040c074 c60000 MOV byte ptr [EAX],0x0
.text:0040c077 32c0 XOR AL,AL
LAB_0040c079: ;XREF[1,0]: 0040c06f
.text:0040c079 5d POP EBP
.text:0040c07a c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040c07d(int param_1)
;param_1 int ECX
;XREF[1,0]: 00408ff2
.text:0040c07d 8bff MOV EDI,EDI
.text:0040c07f 53 PUSH EBX
.text:0040c080 56 PUSH ESI
.text:0040c081 8bf1 MOV ESI,param_1
.text:0040c083 8b4e08 MOV param_1,dword ptr [ESI + 0x8]
.text:0040c086 0fb601 MOVZX EAX,byte ptr [param_1]
.text:0040c089 83f864 CMP EAX,0x64
.text:0040c08c 0f87af000000 JA LAB_0040c141
.text:0040c092 0f849d000000 JZ LAB_0040c135
.text:0040c098 83f849 CMP EAX,0x49
.text:0040c09b 7731 JA LAB_0040c0ce
.text:0040c09d 0f84d4000000 JZ LAB_0040c177
.text:0040c0a3 83e841 SUB EAX,0x41
.text:0040c0a6 741a JZ LAB_0040c0c2
.text:0040c0a8 48 DEC EAX
.text:0040c0a9 83e801 SUB EAX,0x1
.text:0040c0ac 7446 JZ LAB_0040c0f4
.text:0040c0ae 48 DEC EAX
.text:0040c0af 83e801 SUB EAX,0x1
.text:0040c0b2 740e JZ LAB_0040c0c2
.text:0040c0b4 83e801 SUB EAX,0x1
.text:0040c0b7 7409 JZ LAB_0040c0c2
.text:0040c0b9 83e801 SUB EAX,0x1
.text:0040c0bc 0f85dc000000 JNZ LAB_0040c19e
LAB_0040c0c2: ;XREF[7,0]: 0040c0a6,0040c0b2,0040c0b7,0040c0e8
; 0040c14b,0040c154,0040c15d
.text:0040c0c2 c74628070... MOV dword ptr [ESI + 0x28],0x7
.text:0040c0c9 e920010000 JMP LAB_0040c1ee
LAB_0040c0ce: ;XREF[1,0]: 0040c09b
.text:0040c0ce 83e853 SUB EAX,0x53
.text:0040c0d1 0f84f6000000 JZ LAB_0040c1cd
.text:0040c0d7 83e805 SUB EAX,0x5
.text:0040c0da 0f8407010000 JZ LAB_0040c1e7
.text:0040c0e0 83e803 SUB EAX,0x3
.text:0040c0e3 7436 JZ LAB_0040c11b
.text:0040c0e5 83e806 SUB EAX,0x6
.text:0040c0e8 74d8 JZ LAB_0040c0c2
.text:0040c0ea 48 DEC EAX
.text:0040c0eb 83e801 SUB EAX,0x1
.text:0040c0ee 0f85aa000000 JNZ LAB_0040c19e
LAB_0040c0f4: ;XREF[1,0]: 0040c0ac
.text:0040c0f4 8b4618 MOV EAX,dword ptr [ESI + 0x18]
.text:0040c0f7 0b461c OR EAX,dword ptr [ESI + 0x1c]
.text:0040c0fa 6a00 PUSH 0x0
.text:0040c0fc 5b POP EBX
.text:0040c0fd 750a JNZ LAB_0040c109
.text:0040c0ff c74618010... MOV dword ptr [ESI + 0x18],0x1
.text:0040c106 895e1c MOV dword ptr [ESI + 0x1c],EBX
LAB_0040c109: ;XREF[1,0]: 0040c0fd
.text:0040c109 8bce MOV param_1,ESI
.text:0040c10b e871040000 CALL FUN_0040c581 ;undefined FUN_0040c581(int param_1)
.text:0040c110 895e28 MOV dword ptr [ESI + 0x28],EBX
LAB_0040c113: ;XREF[1,0]: 0040c1db
.text:0040c113 ff4608 INC dword ptr [ESI + 0x8]
.text:0040c116 e9d9000000 JMP LAB_0040c1f4
LAB_0040c11b: ;XREF[1,0]: 0040c0e3
.text:0040c11b 8bce MOV param_1,ESI
.text:0040c11d e85f040000 CALL FUN_0040c581 ;undefined FUN_0040c581(int param_1)
.text:0040c122 ff4608 INC dword ptr [ESI + 0x8]
.text:0040c125 8bce MOV param_1,ESI
.text:0040c127 c74628080... MOV dword ptr [ESI + 0x28],0x8
.text:0040c12e 5e POP ESI
.text:0040c12f 5b POP EBX
.text:0040c130 e9e8020000 JMP FUN_0040c41d ;uint FUN_0040c41d(int param_1)
LAB_0040c135: ;XREF[1,0]: 0040c092
.text:0040c135 c74628030... MOV dword ptr [ESI + 0x28],0x3
.text:0040c13c e9ad000000 JMP LAB_0040c1ee
LAB_0040c141: ;XREF[1,0]: 0040c08c
.text:0040c141 83f86f CMP EAX,0x6f
.text:0040c144 7743 JA LAB_0040c189
.text:0040c146 7438 JZ LAB_0040c180
.text:0040c148 83e865 SUB EAX,0x65
.text:0040c14b 0f8471ffffff JZ LAB_0040c0c2
.text:0040c151 83e801 SUB EAX,0x1
.text:0040c154 0f8468ffffff JZ LAB_0040c0c2
.text:0040c15a 83e801 SUB EAX,0x1
.text:0040c15d 0f845fffffff JZ LAB_0040c0c2
.text:0040c163 48 DEC EAX
.text:0040c164 83e801 SUB EAX,0x1
.text:0040c167 740e JZ LAB_0040c177
.text:0040c169 83e805 SUB EAX,0x5
.text:0040c16c 7530 JNZ LAB_0040c19e
.text:0040c16e c74628090... MOV dword ptr [ESI + 0x28],0x9
.text:0040c175 eb77 JMP LAB_0040c1ee
LAB_0040c177: ;XREF[2,0]: 0040c09d,0040c167
.text:0040c177 c74628020... MOV dword ptr [ESI + 0x28],0x2
.text:0040c17e eb6e JMP LAB_0040c1ee
LAB_0040c180: ;XREF[1,0]: 0040c146
.text:0040c180 c74628040... MOV dword ptr [ESI + 0x28],0x4
.text:0040c187 eb65 JMP LAB_0040c1ee
LAB_0040c189: ;XREF[1,0]: 0040c144
.text:0040c189 83e870 SUB EAX,0x70
.text:0040c18c 7452 JZ LAB_0040c1e0
.text:0040c18e 83e803 SUB EAX,0x3
.text:0040c191 743a JZ LAB_0040c1cd
.text:0040c193 48 DEC EAX
.text:0040c194 83e801 SUB EAX,0x1
.text:0040c197 742b JZ LAB_0040c1c4
.text:0040c199 83e803 SUB EAX,0x3
.text:0040c19c 7449 JZ LAB_0040c1e7
LAB_0040c19e: ;XREF[3,0]: 0040c0bc,0040c0ee,0040c16c
.text:0040c19e 33db XOR EBX,EBX
.text:0040c1a0 c7460c160... MOV dword ptr [ESI + 0xc],0x16
.text:0040c1a7 895e10 MOV dword ptr [ESI + 0x10],EBX
.text:0040c1aa 32c0 XOR AL,AL
.text:0040c1ac 66895e14 MOV word ptr [ESI + 0x14],BX
.text:0040c1b0 885e16 MOV byte ptr [ESI + 0x16],BL
.text:0040c1b3 895e18 MOV dword ptr [ESI + 0x18],EBX
.text:0040c1b6 895e1c MOV dword ptr [ESI + 0x1c],EBX
.text:0040c1b9 895e20 MOV dword ptr [ESI + 0x20],EBX
.text:0040c1bc 885e24 MOV byte ptr [ESI + 0x24],BL
.text:0040c1bf 895e28 MOV dword ptr [ESI + 0x28],EBX
.text:0040c1c2 eb32 JMP LAB_0040c1f6
LAB_0040c1c4: ;XREF[1,0]: 0040c197
.text:0040c1c4 c74628050... MOV dword ptr [ESI + 0x28],0x5
.text:0040c1cb eb21 JMP LAB_0040c1ee
LAB_0040c1cd: ;XREF[2,0]: 0040c0d1,0040c191
.text:0040c1cd 8bce MOV param_1,ESI
.text:0040c1cf e8ad030000 CALL FUN_0040c581 ;undefined FUN_0040c581(int param_1)
.text:0040c1d4 c74628010... MOV dword ptr [ESI + 0x28],0x1
.text:0040c1db e933ffffff JMP LAB_0040c113
LAB_0040c1e0: ;XREF[1,0]: 0040c18c
.text:0040c1e0 c74620090... MOV dword ptr [ESI + 0x20],0x9
LAB_0040c1e7: ;XREF[2,0]: 0040c0da,0040c19c
.text:0040c1e7 c74628060... MOV dword ptr [ESI + 0x28],0x6
LAB_0040c1ee: ;XREF[6,0]: 0040c0c9,0040c13c,0040c175,0040c17e
; 0040c187,0040c1cb
.text:0040c1ee 8d4101 LEA EAX,[param_1 + 0x1]
.text:0040c1f1 894608 MOV dword ptr [ESI + 0x8],EAX
LAB_0040c1f4: ;XREF[1,0]: 0040c116
.text:0040c1f4 b001 MOV AL,0x1
LAB_0040c1f6: ;XREF[1,0]: 0040c1c2
.text:0040c1f6 5e POP ESI
.text:0040c1f7 5b POP EBX
.text:0040c1f8 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_0040c1f9(int param_1)
;param_1 int ECX
;local_8 undefined4 -8 ;XREF[3,0]: 0040c23a,0040c241,0040c252
;XREF[1,0]: 00408fd9
.text:0040c1f9 8bff MOV EDI,EDI
.text:0040c1fb 55 PUSH EBP
.text:0040c1fc 8bec MOV EBP,ESP
.text:0040c1fe 51 PUSH param_1
.text:0040c1ff 53 PUSH EBX
.text:0040c200 56 PUSH ESI
.text:0040c201 8bf1 MOV ESI,param_1
.text:0040c203 8b5608 MOV EDX,dword ptr [ESI + 0x8]
.text:0040c206 8a0a MOV param_1,byte ptr [EDX]
.text:0040c208 8d41d0 LEA EAX,[param_1 + -0x30]
.text:0040c20b 3c09 CMP AL,0x9
.text:0040c20d 7708 JA LAB_0040c217
.text:0040c20f 0fbec1 MOVSX EAX,param_1
.text:0040c212 83c0d0 ADD EAX,-0x30
.text:0040c215 eb1c JMP LAB_0040c233
LAB_0040c217: ;XREF[1,0]: 0040c20d
.text:0040c217 8d419f LEA EAX,[param_1 + -0x61]
.text:0040c21a 3c19 CMP AL,0x19
.text:0040c21c 7708 JA LAB_0040c226
.text:0040c21e 0fbec1 MOVSX EAX,param_1
.text:0040c221 83c0a9 ADD EAX,-0x57
.text:0040c224 eb0d JMP LAB_0040c233
LAB_0040c226: ;XREF[1,0]: 0040c21c
.text:0040c226 8d41bf LEA EAX,[param_1 + -0x41]
.text:0040c229 3c19 CMP AL,0x19
.text:0040c22b 7736 JA LAB_0040c263
.text:0040c22d 0fbec1 MOVSX EAX,param_1
.text:0040c230 83c0c9 ADD EAX,-0x37
LAB_0040c233: ;XREF[2,0]: 0040c215,0040c224
.text:0040c233 83f809 CMP EAX,0x9
.text:0040c236 772b JA LAB_0040c263
.text:0040c238 6a0a PUSH 0xa
.text:0040c23a 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:0040c23d 33db XOR EBX,EBX
.text:0040c23f 50 PUSH EAX
.text:0040c240 52 PUSH EDX
.text:0040c241 895dfc MOV dword ptr [EBP + local_8+0x4],EBX
.text:0040c244 e8cb460000 CALL FUN_00410914 ;ulonglong FUN_00410914(undefined4 pa...
.text:0040c249 8bc8 MOV param_1,EAX
.text:0040c24b 83c40c ADD ESP,0xc
.text:0040c24e 0bca OR param_1,EDX
.text:0040c250 7417 JZ LAB_0040c269
.text:0040c252 8b4dfc MOV param_1,dword ptr [EBP + local_8+0x4]
.text:0040c255 3b4e08 CMP param_1,dword ptr [ESI + 0x8]
.text:0040c258 740f JZ LAB_0040c269
.text:0040c25a 894618 MOV dword ptr [ESI + 0x18],EAX
.text:0040c25d 89561c MOV dword ptr [ESI + 0x1c],EDX
.text:0040c260 894e08 MOV dword ptr [ESI + 0x8],param_1
LAB_0040c263: ;XREF[2,0]: 0040c22b,0040c236
.text:0040c263 b001 MOV AL,0x1
LAB_0040c265: ;XREF[1,0]: 0040c28b
.text:0040c265 5e POP ESI
.text:0040c266 5b POP EBX
.text:0040c267 c9 LEAVE
.text:0040c268 c3 RET
LAB_0040c269: ;XREF[2,0]: 0040c250,0040c258
.text:0040c269 895e10 MOV dword ptr [ESI + 0x10],EBX
.text:0040c26c 32c0 XOR AL,AL
.text:0040c26e 66895e14 MOV word ptr [ESI + 0x14],BX
.text:0040c272 885e16 MOV byte ptr [ESI + 0x16],BL
.text:0040c275 895e18 MOV dword ptr [ESI + 0x18],EBX
.text:0040c278 895e1c MOV dword ptr [ESI + 0x1c],EBX
.text:0040c27b 895e20 MOV dword ptr [ESI + 0x20],EBX
.text:0040c27e 885e24 MOV byte ptr [ESI + 0x24],BL
.text:0040c281 895e28 MOV dword ptr [ESI + 0x28],EBX
.text:0040c284 c7460c160... MOV dword ptr [ESI + 0xc],0x16
.text:0040c28b ebd8 JMP LAB_0040c265
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040c28d(int param_1)
;param_1 int ECX
;XREF[1,0]: 00408fe4
.text:0040c28d 8b4108 MOV EAX,dword ptr [param_1 + 0x8]
.text:0040c290 56 PUSH ESI
.text:0040c291 8a10 MOV DL,byte ptr [EAX]
.text:0040c293 80fa6a CMP DL,0x6a
.text:0040c296 0f87c5000000 JA LAB_0040c361
.text:0040c29c 0f84b2000000 JZ LAB_0040c354
.text:0040c2a2 80fa49 CMP DL,0x49
.text:0040c2a5 744d JZ LAB_0040c2f4
.text:0040c2a7 80fa4c CMP DL,0x4c
.text:0040c2aa 743b JZ LAB_0040c2e7
.text:0040c2ac 80fa54 CMP DL,0x54
.text:0040c2af 7429 JZ LAB_0040c2da
.text:0040c2b1 80fa68 CMP DL,0x68
.text:0040c2b4 0f85f1000000 JNZ LAB_0040c3ab
.text:0040c2ba 8d5001 LEA EDX,[EAX + 0x1]
.text:0040c2bd 53 PUSH EBX
.text:0040c2be 8a1a MOV BL,byte ptr [EDX]
.text:0040c2c0 80fb68 CMP BL,0x68
.text:0040c2c3 7503 JNZ LAB_0040c2c8
.text:0040c2c5 8d5002 LEA EDX,[EAX + 0x2]
LAB_0040c2c8: ;XREF[1,0]: 0040c2c3
.text:0040c2c8 33c0 XOR EAX,EAX
.text:0040c2ca 895108 MOV dword ptr [param_1 + 0x8],EDX
.text:0040c2cd 80fb68 CMP BL,0x68
.text:0040c2d0 5b POP EBX
.text:0040c2d1 0f95c0 SETNZ AL
.text:0040c2d4 40 INC EAX
.text:0040c2d5 894120 MOV dword ptr [param_1 + 0x20],EAX
.text:0040c2d8 5e POP ESI
.text:0040c2d9 c3 RET
LAB_0040c2da: ;XREF[1,0]: 0040c2af
.text:0040c2da 40 INC EAX
.text:0040c2db c741200b0... MOV dword ptr [param_1 + 0x20],0xb
.text:0040c2e2 894108 MOV dword ptr [param_1 + 0x8],EAX
.text:0040c2e5 5e POP ESI
.text:0040c2e6 c3 RET
LAB_0040c2e7: ;XREF[1,0]: 0040c2aa
.text:0040c2e7 40 INC EAX
.text:0040c2e8 c74120080... MOV dword ptr [param_1 + 0x20],0x8
.text:0040c2ef 894108 MOV dword ptr [param_1 + 0x8],EAX
.text:0040c2f2 5e POP ESI
.text:0040c2f3 c3 RET
LAB_0040c2f4: ;XREF[1,0]: 0040c2a5
.text:0040c2f4 8d7001 LEA ESI,[EAX + 0x1]
.text:0040c2f7 8a16 MOV DL,byte ptr [ESI]
.text:0040c2f9 80fa33 CMP DL,0x33
.text:0040c2fc 7515 JNZ LAB_0040c313
.text:0040c2fe 80780232 CMP byte ptr [EAX + 0x2],0x32
.text:0040c302 750f JNZ LAB_0040c313
.text:0040c304 83c003 ADD EAX,0x3
.text:0040c307 894108 MOV dword ptr [param_1 + 0x8],EAX
LAB_0040c30a: ;XREF[1,0]: 0040c352
.text:0040c30a c74120090... MOV dword ptr [param_1 + 0x20],0x9
.text:0040c311 5e POP ESI
.text:0040c312 c3 RET
LAB_0040c313: ;XREF[2,0]: 0040c2fc,0040c302
.text:0040c313 80fa36 CMP DL,0x36
.text:0040c316 7519 JNZ LAB_0040c331
.text:0040c318 80780234 CMP byte ptr [EAX + 0x2],0x34
.text:0040c31c 0f8589000000 JNZ LAB_0040c3ab
.text:0040c322 83c003 ADD EAX,0x3
.text:0040c325 c741200a0... MOV dword ptr [param_1 + 0x20],0xa
.text:0040c32c 894108 MOV dword ptr [param_1 + 0x8],EAX
.text:0040c32f 5e POP ESI
.text:0040c330 c3 RET
LAB_0040c331: ;XREF[1,0]: 0040c316
.text:0040c331 80fa64 CMP DL,0x64
.text:0040c334 7419 JZ LAB_0040c34f
.text:0040c336 80fa69 CMP DL,0x69
.text:0040c339 7414 JZ LAB_0040c34f
.text:0040c33b 80fa6f CMP DL,0x6f
.text:0040c33e 740f JZ LAB_0040c34f
.text:0040c340 80fa75 CMP DL,0x75
.text:0040c343 740a JZ LAB_0040c34f
.text:0040c345 80fa78 CMP DL,0x78
.text:0040c348 7405 JZ LAB_0040c34f
.text:0040c34a 80fa58 CMP DL,0x58
.text:0040c34d 755c JNZ LAB_0040c3ab
LAB_0040c34f: ;XREF[5,0]: 0040c334,0040c339,0040c33e,0040c343
; 0040c348
.text:0040c34f 897108 MOV dword ptr [param_1 + 0x8],ESI
.text:0040c352 ebb6 JMP LAB_0040c30a
LAB_0040c354: ;XREF[1,0]: 0040c29c
.text:0040c354 40 INC EAX
.text:0040c355 c74120050... MOV dword ptr [param_1 + 0x20],0x5
.text:0040c35c 894108 MOV dword ptr [param_1 + 0x8],EAX
.text:0040c35f 5e POP ESI
.text:0040c360 c3 RET
LAB_0040c361: ;XREF[1,0]: 0040c296
.text:0040c361 80fa6c CMP DL,0x6c
.text:0040c364 7424 JZ LAB_0040c38a
.text:0040c366 80fa74 CMP DL,0x74
.text:0040c369 7412 JZ LAB_0040c37d
.text:0040c36b 80fa7a CMP DL,0x7a
.text:0040c36e 753b JNZ LAB_0040c3ab
.text:0040c370 40 INC EAX
.text:0040c371 c74120060... MOV dword ptr [param_1 + 0x20],0x6
.text:0040c378 894108 MOV dword ptr [param_1 + 0x8],EAX
.text:0040c37b 5e POP ESI
.text:0040c37c c3 RET
LAB_0040c37d: ;XREF[1,0]: 0040c369
.text:0040c37d 40 INC EAX
.text:0040c37e c74120070... MOV dword ptr [param_1 + 0x20],0x7
.text:0040c385 894108 MOV dword ptr [param_1 + 0x8],EAX
.text:0040c388 5e POP ESI
.text:0040c389 c3 RET
LAB_0040c38a: ;XREF[1,0]: 0040c364
.text:0040c38a 8d5001 LEA EDX,[EAX + 0x1]
.text:0040c38d 803a6c CMP byte ptr [EDX],0x6c
.text:0040c390 750f JNZ LAB_0040c3a1
.text:0040c392 83c002 ADD EAX,0x2
.text:0040c395 c74120040... MOV dword ptr [param_1 + 0x20],0x4
.text:0040c39c 894108 MOV dword ptr [param_1 + 0x8],EAX
.text:0040c39f 5e POP ESI
.text:0040c3a0 c3 RET
LAB_0040c3a1: ;XREF[1,0]: 0040c390
.text:0040c3a1 895108 MOV dword ptr [param_1 + 0x8],EDX
.text:0040c3a4 c74120030... MOV dword ptr [param_1 + 0x20],0x3
LAB_0040c3ab: ;XREF[4,0]: 0040c2b4,0040c31c,0040c34d,0040c36e
.text:0040c3ab 5e POP ESI
.text:0040c3ac c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::format_string_parser::scan_optional_litera...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;bool scan_optional_literal_character_trail_bytes_tchar(format_string_parser * this, char param_1)
;this format_stri... ECX
;param_1 char 4
;XREF[1,0]: 00409051
.text:0040c3ad 8bff MOV EDI,EDI
.text:0040c3af 53 PUSH EBX
.text:0040c3b0 56 PUSH ESI
.text:0040c3b1 8bf1 MOV ESI,this
.text:0040c3b3 e8dc430000 CALL ___pctype_func ;ushort * ___pctype_func(void)
.text:0040c3b8 0fb65614 MOVZX EDX,byte ptr [ESI + 0x14]
.text:0040c3bc 33db XOR EBX,EBX
.text:0040c3be 66391c50 CMP word ptr [EAX + EDX*0x2],BX
.text:0040c3c2 7d34 JGE LAB_0040c3f8
.text:0040c3c4 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:0040c3c7 8a08 MOV this,byte ptr [EAX]
.text:0040c3c9 84c9 TEST this,this
.text:0040c3cb 7524 JNZ LAB_0040c3f1
.text:0040c3cd 895e10 MOV dword ptr [ESI + 0x10],EBX
.text:0040c3d0 32c0 XOR AL,AL
.text:0040c3d2 66895e14 MOV word ptr [ESI + 0x14],BX
.text:0040c3d6 885e16 MOV byte ptr [ESI + 0x16],BL
.text:0040c3d9 895e18 MOV dword ptr [ESI + 0x18],EBX
.text:0040c3dc 895e1c MOV dword ptr [ESI + 0x1c],EBX
.text:0040c3df 895e20 MOV dword ptr [ESI + 0x20],EBX
.text:0040c3e2 885e24 MOV byte ptr [ESI + 0x24],BL
.text:0040c3e5 895e28 MOV dword ptr [ESI + 0x28],EBX
.text:0040c3e8 c7460c2a0... MOV dword ptr [ESI + 0xc],0x2a
.text:0040c3ef eb09 JMP LAB_0040c3fa
LAB_0040c3f1: ;XREF[1,0]: 0040c3cb
.text:0040c3f1 40 INC EAX
.text:0040c3f2 884e15 MOV byte ptr [ESI + 0x15],this
.text:0040c3f5 894608 MOV dword ptr [ESI + 0x8],EAX
LAB_0040c3f8: ;XREF[1,0]: 0040c3c2
.text:0040c3f8 b001 MOV AL,0x1
LAB_0040c3fa: ;XREF[1,0]: 0040c3ef
.text:0040c3fa 5e POP ESI
.text:0040c3fb 5b POP EBX
.text:0040c3fc c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* private: void __thiscall __crt_stdio_input::format_string_parser::scan_optional_wide_m...*
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;void scan_optional_wide_modifier(format_string_parser * this)
;this format_stri... ECX
;XREF[1,0]: 00408feb
.text:0040c3ff 8b5108 MOV EDX,dword ptr [this + 0x8]
.text:0040c402 8a02 MOV AL,byte ptr [EDX]
.text:0040c404 3c77 CMP AL,0x77
.text:0040c406 7508 JNZ LAB_0040c410
.text:0040c408 8d4201 LEA EAX,[EDX + 0x1]
.text:0040c40b 894108 MOV dword ptr [this + 0x8],EAX
.text:0040c40e eb08 JMP LAB_0040c418
LAB_0040c410: ;XREF[1,0]: 0040c406
.text:0040c410 3c43 CMP AL,0x43
.text:0040c412 7404 JZ LAB_0040c418
.text:0040c414 3c53 CMP AL,0x53
.text:0040c416 7504 JNZ LAB_0040c41c
LAB_0040c418: ;XREF[2,0]: 0040c40e,0040c412
.text:0040c418 c6412401 MOV byte ptr [this + 0x24],0x1
LAB_0040c41c: ;XREF[1,0]: 0040c416
.text:0040c41c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040c41d(int param_1)
;param_1 int ECX
;local_5 undefined1 -5 ;XREF[4,0]: 0040c4c4,0040c4d0,0040c4ee,0040c4f3
;local_6 undefined1 -6 ;XREF[2,0]: 0040c4dc,0040c4f9
;local_7 undefined1 -7 ;XREF[2,0]: 0040c46a,0040c51c
;local_c undefined4 -c ;XREF[3,0]: 0040c492,0040c4ae,0040c4c7
;local_10 undefined4 -10 ;XREF[3,0]: 0040c4d9,0040c4e3,0040c4f6
;local_14 undefined4 -14 ;XREF[2,0]: 0040c49f,0040c500
;XREF[1,0]: 0040c130
.text:0040c41d 8bff MOV EDI,EDI
.text:0040c41f 55 PUSH EBP
.text:0040c420 8bec MOV EBP,ESP
.text:0040c422 83ec10 SUB ESP,0x10
.text:0040c425 53 PUSH EBX
.text:0040c426 56 PUSH ESI
.text:0040c427 8bf1 MOV ESI,param_1
.text:0040c429 8d562c LEA EDX,[ESI + 0x2c]
.text:0040c42c 85d2 TEST EDX,EDX
.text:0040c42e 7529 JNZ LAB_0040c459
.text:0040c430 33db XOR EBX,EBX
.text:0040c432 c7460c0c0... MOV dword ptr [ESI + 0xc],0xc
.text:0040c439 66895e14 MOV word ptr [ESI + 0x14],BX
LAB_0040c43d: ;XREF[1,0]: 0040c537
.text:0040c43d 895e28 MOV dword ptr [ESI + 0x28],EBX
.text:0040c440 32c0 XOR AL,AL
.text:0040c442 885e24 MOV byte ptr [ESI + 0x24],BL
.text:0040c445 895e20 MOV dword ptr [ESI + 0x20],EBX
.text:0040c448 895e1c MOV dword ptr [ESI + 0x1c],EBX
.text:0040c44b 895e18 MOV dword ptr [ESI + 0x18],EBX
.text:0040c44e 885e16 MOV byte ptr [ESI + 0x16],BL
.text:0040c451 895e10 MOV dword ptr [ESI + 0x10],EBX
.text:0040c454 e9f9000000 JMP LAB_0040c552
LAB_0040c459: ;XREF[1,0]: 0040c42e
.text:0040c459 57 PUSH EDI
.text:0040c45a 6a08 PUSH 0x8
.text:0040c45c 33c0 XOR EAX,EAX
.text:0040c45e 8bfa MOV EDI,EDX
.text:0040c460 59 POP param_1
.text:0040c461 f3ab STOSD.REP ES:EDI
.text:0040c463 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:0040c466 8bf8 MOV EDI,EAX
.text:0040c468 8a28 MOV param_1,byte ptr [EAX]
.text:0040c46a 886dfd MOV byte ptr [EBP + local_7+0x4],param_1
.text:0040c46d 8acd MOV param_1,param_1
.text:0040c46f 80fd5e CMP param_1,0x5e
.text:0040c472 7508 JNZ LAB_0040c47c
.text:0040c474 40 INC EAX
.text:0040c475 8bf8 MOV EDI,EAX
.text:0040c477 894608 MOV dword ptr [ESI + 0x8],EAX
.text:0040c47a 8a0f MOV param_1,byte ptr [EDI]
LAB_0040c47c: ;XREF[1,0]: 0040c472
.text:0040c47c 80f95d CMP param_1,0x5d
.text:0040c47f 750a JNZ LAB_0040c48b
.text:0040c481 8d7801 LEA EDI,[EAX + 0x1]
.text:0040c484 897e08 MOV dword ptr [ESI + 0x8],EDI
.text:0040c487 804e3720 OR byte ptr [ESI + 0x37],0x20
LAB_0040c48b: ;XREF[1,0]: 0040c47f
.text:0040c48b 33db XOR EBX,EBX
.text:0040c48d 8bc7 MOV EAX,EDI
.text:0040c48f 803f5d CMP byte ptr [EDI],0x5d
.text:0040c492 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
.text:0040c495 0f8489000000 JZ LAB_0040c524
.text:0040c49b 8a17 MOV DL,byte ptr [EDI]
.text:0040c49d 8bcf MOV param_1,EDI
LAB_0040c49f: ;XREF[1,0]: 0040c51a
.text:0040c49f 8955f0 MOV dword ptr [EBP + local_14+0x4],EDX
.text:0040c4a2 84d2 TEST DL,DL
.text:0040c4a4 7476 JZ LAB_0040c51c
.text:0040c4a6 80fa2d CMP DL,0x2d
.text:0040c4a9 7558 JNZ LAB_0040c503
.text:0040c4ab 8d41ff LEA EAX,[param_1 + -0x1]
.text:0040c4ae 3b45f8 CMP EAX,dword ptr [EBP + local_c+0x4]
.text:0040c4b1 7450 JZ LAB_0040c503
.text:0040c4b3 3bcf CMP param_1,EDI
.text:0040c4b5 744c JZ LAB_0040c503
.text:0040c4b7 8d4101 LEA EAX,[param_1 + 0x1]
.text:0040c4ba 8a10 MOV DL,byte ptr [EAX]
.text:0040c4bc 80fa5d CMP DL,0x5d
.text:0040c4bf 743f JZ LAB_0040c500
.text:0040c4c1 8a49ff MOV param_1,byte ptr [param_1 + -0x1]
.text:0040c4c4 884dff MOV byte ptr [EBP + local_5+0x4],param_1
.text:0040c4c7 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0040c4ca 3aca CMP param_1,DL
.text:0040c4cc 7609 JBE LAB_0040c4d7
.text:0040c4ce 8ac1 MOV AL,param_1
.text:0040c4d0 8855ff MOV byte ptr [EBP + local_5+0x4],DL
.text:0040c4d3 8aca MOV param_1,DL
.text:0040c4d5 8ad0 MOV DL,AL
LAB_0040c4d7: ;XREF[1,0]: 0040c4cc
.text:0040c4d7 fec2 INC DL
.text:0040c4d9 884df4 MOV byte ptr [EBP + local_10+0x4],param_1
.text:0040c4dc 8855fe MOV byte ptr [EBP + local_6+0x4],DL
.text:0040c4df 3aca CMP param_1,DL
.text:0040c4e1 7429 JZ LAB_0040c50c
LAB_0040c4e3: ;XREF[1,0]: 0040c4fc
.text:0040c4e3 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:0040c4e6 8d4e2c LEA param_1,[ESI + 0x2c]
.text:0040c4e9 e868000000 CALL __crt_stdio_input::scanset_buffer;void set(scanset_buffer .text:0040c4ee 8a45ff MOV AL,byte ptr [EBP + local_5+0x4]
.text:0040c4f1 fec0 INC AL
.text:0040c4f3 8845ff MOV byte ptr [EBP + local_5+0x4],AL
.text:0040c4f6 8845f4 MOV byte ptr [EBP + local_10+0x4],AL
.text:0040c4f9 3a45fe CMP AL,byte ptr [EBP + local_6+0x4]
.text:0040c4fc 75e5 JNZ LAB_0040c4e3
.text:0040c4fe eb0c JMP LAB_0040c50c
LAB_0040c500: ;XREF[1,0]: 0040c4bf
.text:0040c500 8b55f0 MOV EDX,dword ptr [EBP + local_14+0x4]
LAB_0040c503: ;XREF[3,0]: 0040c4a9,0040c4b1,0040c4b5
.text:0040c503 52 PUSH EDX
.text:0040c504 8d4e2c LEA param_1,[ESI + 0x2c]
.text:0040c507 e84a000000 CALL __crt_stdio_input::scanset_buffer;void set(scanset_buffer LAB_0040c50c: ;XREF[2,0]: 0040c4e1,0040c4fe
.text:0040c50c 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:0040c50f 40 INC EAX
.text:0040c510 8bc8 MOV param_1,EAX
.text:0040c512 894608 MOV dword ptr [ESI + 0x8],EAX
.text:0040c515 8a11 MOV DL,byte ptr [param_1]
.text:0040c517 80fa5d CMP DL,0x5d
.text:0040c51a 7583 JNZ LAB_0040c49f
LAB_0040c51c: ;XREF[1,0]: 0040c4a4
.text:0040c51c 8a6dfd MOV param_1,byte ptr [EBP + local_7+0x4]
.text:0040c51f 8d562c LEA EDX,[ESI + 0x2c]
.text:0040c522 33db XOR EBX,EBX
LAB_0040c524: ;XREF[1,0]: 0040c495
.text:0040c524 803800 CMP byte ptr [EAX],0x0
.text:0040c527 5f POP EDI
.text:0040c528 7512 JNZ LAB_0040c53c
.text:0040c52a 66c746140000 MOV word ptr [ESI + 0x14],0x0
.text:0040c530 c7460c160... MOV dword ptr [ESI + 0xc],0x16
.text:0040c537 e901ffffff JMP LAB_0040c43d
LAB_0040c53c: ;XREF[1,0]: 0040c528
.text:0040c53c 80fd5e CMP param_1,0x5e
.text:0040c53f 750c JNZ LAB_0040c54d
.text:0040c541 8d4220 LEA EAX,[EDX + 0x20]
.text:0040c544 eb03 JMP LAB_0040c549
LAB_0040c546: ;XREF[1,0]: 0040c54b
.text:0040c546 f612 NOT byte ptr [EDX]
.text:0040c548 42 INC EDX
LAB_0040c549: ;XREF[1,0]: 0040c544
.text:0040c549 3bd0 CMP EDX,EAX
.text:0040c54b 75f9 JNZ LAB_0040c546
LAB_0040c54d: ;XREF[1,0]: 0040c53f
.text:0040c54d ff4608 INC dword ptr [ESI + 0x8]
.text:0040c550 b001 MOV AL,0x1
LAB_0040c552: ;XREF[1,0]: 0040c454
.text:0040c552 5e POP ESI
.text:0040c553 5b POP EBX
.text:0040c554 c9 LEAVE
.text:0040c555 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_stdio_input::scanset_buffer::set(unsigned char)*
;* *
;* Libraries: Visual Studio 2015 Debug, Visual Studio 2015 Release *
;************************************************************************************************
;void set(scanset_buffer * this, uchar param_1)
;this scanset_buf... ECX
;param_1 uchar 4 ;XREF[1,0]: 0040c55c
;XREF[2,0]: 0040c4e9,0040c507
.text:0040c556 8bff MOV EDI,EDI
.text:0040c558 55 PUSH EBP
.text:0040c559 8bec MOV EBP,ESP
.text:0040c55b 56 PUSH ESI
.text:0040c55c 0fb67508 MOVZX ESI,byte ptr [EBP + param_1+0x4]
.text:0040c560 8bd6 MOV EDX,ESI
.text:0040c562 c1ea03 SHR EDX,0x3
.text:0040c565 0fb6040a MOVZX EAX,byte ptr [EDX + this*0x1]
.text:0040c569 81e607000080 AND ESI,0x80000007
.text:0040c56f 7905 JNS LAB_0040c576
.text:0040c571 4e DEC ESI
.text:0040c572 83cef8 OR ESI,0xfffffff8
.text:0040c575 46 INC ESI
LAB_0040c576: ;XREF[1,0]: 0040c56f
.text:0040c576 0fabf0 BTS EAX,ESI
.text:0040c579 88040a MOV byte ptr [EDX + this*0x1],AL
.text:0040c57c 5e POP ESI
.text:0040c57d 5d POP EBP
.text:0040c57e c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040c581(int param_1)
;param_1 int ECX
;XREF[3,0]: 0040c10b,0040c11d,0040c1cf
.text:0040c581 8b4120 MOV EAX,dword ptr [param_1 + 0x20]
.text:0040c584 83f802 CMP EAX,0x2
.text:0040c587 7505 JNZ LAB_0040c58e
.text:0040c589 c6412400 MOV byte ptr [param_1 + 0x24],0x0
.text:0040c58d c3 RET
LAB_0040c58e: ;XREF[1,0]: 0040c587
.text:0040c58e 83f803 CMP EAX,0x3
.text:0040c591 740a JZ LAB_0040c59d
.text:0040c593 83f804 CMP EAX,0x4
.text:0040c596 7405 JZ LAB_0040c59d
.text:0040c598 83f808 CMP EAX,0x8
.text:0040c59b 7504 JNZ LAB_0040c5a1
LAB_0040c59d: ;XREF[2,0]: 0040c591,0040c596
.text:0040c59d c6412401 MOV byte ptr [param_1 + 0x24],0x1
LAB_0040c5a1: ;XREF[1,0]: 0040c59b
.text:0040c5a1 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* unsigned int __cdecl __crt_stdio_input::to_floating_point_length(enum __crt_stdio_input::len...*
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;uint to_floating_point_length(length_modifier param_1)
;param_1 length_modi... 4 ;XREF[1,0]: 0040c5a7
;XREF[1,0]: 0040ba74
.text:0040c5a2 8bff MOV EDI,EDI
.text:0040c5a4 55 PUSH EBP
.text:0040c5a5 8bec MOV EBP,ESP
.text:0040c5a7 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040c5aa 85c0 TEST EAX,EAX
.text:0040c5ac 7412 JZ LAB_0040c5c0
.text:0040c5ae 83f803 CMP EAX,0x3
.text:0040c5b1 7409 JZ LAB_0040c5bc
.text:0040c5b3 83f808 CMP EAX,0x8
.text:0040c5b6 7404 JZ LAB_0040c5bc
.text:0040c5b8 33c0 XOR EAX,EAX
.text:0040c5ba 5d POP EBP
.text:0040c5bb c3 RET
LAB_0040c5bc: ;XREF[2,0]: 0040c5b1,0040c5b6
.text:0040c5bc 6a08 PUSH 0x8
.text:0040c5be eb02 JMP LAB_0040c5c2
LAB_0040c5c0: ;XREF[1,0]: 0040c5ac
.text:0040c5c0 6a04 PUSH 0x4
LAB_0040c5c2: ;XREF[1,0]: 0040c5be
.text:0040c5c2 58 POP EAX
.text:0040c5c3 5d POP EBP
.text:0040c5c4 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* unsigned int __cdecl __crt_stdio_input::to_integer_length(enum __crt_stdio_input::length_mod...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;uint to_integer_length(length_modifier param_1)
;param_1 length_modi... 4 ;XREF[1,0]: 0040c5ca
;XREF[1,0]: 0040ba6a
.text:0040c5c5 8bff MOV EDI,EDI
.text:0040c5c7 55 PUSH EBP
.text:0040c5c8 8bec MOV EBP,ESP
.text:0040c5ca 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040c5cd 83f80a CMP EAX,0xa
.text:0040c5d0 7720 JA switchD_0040c5d9::caseD_8
.text:0040c5d2 0fb6800dc... MOVZX EAX,byte ptr [EAX + switchD_0040c5d9:...
switchD: ; FWD[6,0]: 0040c5e0,0040c5e5,0040c5ea,0040c5ee
; 0040c5f2,0040c5f9
.text:0040c5d9 ff2485f9c... JMP dword ptr [EAX*0x4 + switchD_0040c5d9...;= 0040c5ea
caseD_1: ;XREF[2,0]: 0040c5d9,0040c5fd
.text:0040c5e0 33c0 XOR EAX,EAX
.text:0040c5e2 40 INC EAX
.text:0040c5e3 5d POP EBP
.text:0040c5e4 c3 RET
caseD_2: ;XREF[2,0]: 0040c5d9,0040c601
.text:0040c5e5 6a02 PUSH 0x2
LAB_0040c5e7: ;XREF[2,0]: 0040c5ec,0040c5f0
.text:0040c5e7 58 POP EAX
.text:0040c5e8 5d POP EBP
.text:0040c5e9 c3 RET
caseD_3: ;XREF[2,0]: 0040c5d9,0040c5f9
caseD_6:
caseD_7:
caseD_9:
caseD_0:
.text:0040c5ea 6a04 PUSH 0x4
.text:0040c5ec ebf9 JMP LAB_0040c5e7
caseD_5: ;XREF[2,0]: 0040c5d9,0040c605
caseD_a:
caseD_4:
.text:0040c5ee 6a08 PUSH 0x8
.text:0040c5f0 ebf5 JMP LAB_0040c5e7
caseD_8: ;XREF[3,0]: 0040c5d0,0040c5d9,0040c609
.text:0040c5f2 33c0 XOR EAX,EAX
.text:0040c5f4 5d POP EBP
.text:0040c5f5 c3 RET
.text:0040c5f6 8d align align(1)
.text:0040c5f7 49 ?? 49h I
.text:0040c5f8 00 ?? 00h
switchdataD_0040c5f9: ;XREF[1,0]: 0040c5d9
.text:0040c5f9 eac54000 addr switchD_0040c5d9::caseD_0
.text:0040c5fd e0c54000 addr switchD_0040c5d9::caseD_1
.text:0040c601 e5c54000 addr switchD_0040c5d9::caseD_2
.text:0040c605 eec54000 addr switchD_0040c5d9::caseD_4
.text:0040c609 f2c54000 addr switchD_0040c5d9::caseD_8
switchdataD_0040c60d: ;XREF[1,0]: 0040c5d2
.text:0040c60d 00 db 0h
.text:0040c60e 01 db 1h
.text:0040c60f 02 db 2h
.text:0040c610 00 db 0h
.text:0040c611 03 db 3h
.text:0040c612 03 db 3h
.text:0040c613 00 db 0h
.text:0040c614 00 db 0h
.text:0040c615 04 db 4h
.text:0040c616 00 db 0h
.text:0040c617 03 db 3h
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_strtox::input_adapter_character_source_> * this, char param_1)
;this input_adapt... ECX
;param_1 char 4 ;XREF[1,0]: 0040c644
;XREF[11,0]: 00406e40,00406fe0,0040712b,00407680
; 004076be,004077f1,00407851,0040786c
; 00407e90,00407f7a,00408e7d
.text:0040c618 8bff MOV EDI,EDI
.text:0040c61a 55 PUSH EBP
.text:0040c61b 8bec MOV EBP,ESP
.text:0040c61d 8b5110 MOV EDX,dword ptr [this + 0x10]
.text:0040c620 8b4108 MOV EAX,dword ptr [this + 0x8]
.text:0040c623 83c2ff ADD EDX,-0x1
.text:0040c626 56 PUSH ESI
.text:0040c627 8b7114 MOV ESI,dword ptr [this + 0x14]
.text:0040c62a 83d6ff ADC ESI,-0x1
.text:0040c62d 895110 MOV dword ptr [this + 0x10],EDX
.text:0040c630 0b410c OR EAX,dword ptr [this + 0xc]
.text:0040c633 897114 MOV dword ptr [this + 0x14],ESI
.text:0040c636 740c JZ LAB_0040c644
.text:0040c638 3b710c CMP ESI,dword ptr [this + 0xc]
.text:0040c63b 771d JA LAB_0040c65a
.text:0040c63d 7205 JC LAB_0040c644
.text:0040c63f 3b5108 CMP EDX,dword ptr [this + 0x8]
.text:0040c642 7716 JA LAB_0040c65a
LAB_0040c644: ;XREF[2,0]: 0040c636,0040c63d
.text:0040c644 8a4508 MOV AL,byte ptr [EBP + param_1+0x4]
.text:0040c647 84c0 TEST AL,AL
.text:0040c649 740f JZ LAB_0040c65a
.text:0040c64b 3cff CMP AL,0xff
.text:0040c64d 740b JZ LAB_0040c65a
.text:0040c64f 8b09 MOV this,dword ptr [this]
.text:0040c651 0fbec0 MOVSX EAX,AL
.text:0040c654 50 PUSH EAX
.text:0040c655 e84c000000 CALL __crt_stdio_input::stream_input_adapt...;void unget(stream_input_adapter LAB_0040c65a: ;XREF[4,0]: 0040c63b,0040c642,0040c649,0040c64d
.text:0040c65a 5e POP ESI
.text:0040c65b 5d POP EBP
.text:0040c65c c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_strtox::input_adapter_character_source_> * this, char param_1)
;this input_adapt... ECX
;param_1 char 4 ;XREF[1,0]: 0040c68b
;XREF[11,0]: 004072a2,00407442,0040758d,0040773f
; 0040777d,004078f9,00407959,00407974
; 004081f0,004082da,00408f27
.text:0040c65f 8bff MOV EDI,EDI
.text:0040c661 55 PUSH EBP
.text:0040c662 8bec MOV EBP,ESP
.text:0040c664 8b5110 MOV EDX,dword ptr [this + 0x10]
.text:0040c667 8b4108 MOV EAX,dword ptr [this + 0x8]
.text:0040c66a 83c2ff ADD EDX,-0x1
.text:0040c66d 56 PUSH ESI
.text:0040c66e 8b7114 MOV ESI,dword ptr [this + 0x14]
.text:0040c671 83d6ff ADC ESI,-0x1
.text:0040c674 895110 MOV dword ptr [this + 0x10],EDX
.text:0040c677 0b410c OR EAX,dword ptr [this + 0xc]
.text:0040c67a 897114 MOV dword ptr [this + 0x14],ESI
.text:0040c67d 740c JZ LAB_0040c68b
.text:0040c67f 3b710c CMP ESI,dword ptr [this + 0xc]
.text:0040c682 771d JA LAB_0040c6a1
.text:0040c684 7205 JC LAB_0040c68b
.text:0040c686 3b5108 CMP EDX,dword ptr [this + 0x8]
.text:0040c689 7716 JA LAB_0040c6a1
LAB_0040c68b: ;XREF[2,0]: 0040c67d,0040c684
.text:0040c68b 8a4508 MOV AL,byte ptr [EBP + param_1+0x4]
.text:0040c68e 84c0 TEST AL,AL
.text:0040c690 740f JZ LAB_0040c6a1
.text:0040c692 3cff CMP AL,0xff
.text:0040c694 740b JZ LAB_0040c6a1
.text:0040c696 8b09 MOV this,dword ptr [this]
.text:0040c698 0fbec0 MOVSX EAX,AL
.text:0040c69b 50 PUSH EAX
.text:0040c69c e823000000 CALL __crt_stdio_input::string_input_adapt...;void unget(string_input_adapter LAB_0040c6a1: ;XREF[4,0]: 0040c682,0040c689,0040c690,0040c694
.text:0040c6a1 5e POP ESI
.text:0040c6a2 5d POP EBP
.text:0040c6a3 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_stdio_input::stream_input_adapter::unget(int) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;void unget(stream_input_adapter * this, int param_1)
;this stream_inpu... ECX
;param_1 int 4 ;XREF[2,0]: 0040c6ab,0040c6b6
;XREF[8,0]: 004086c4,004089a6,0040bb11,0040be1c
; 0040be9f,0040beaa,0040c032,0040c655
.text:0040c6a6 8bff MOV EDI,EDI
.text:0040c6a8 55 PUSH EBP
.text:0040c6a9 8bec MOV EBP,ESP
.text:0040c6ab 837d08ff CMP dword ptr [EBP + param_1+0x4],-0x1
.text:0040c6af 740f JZ LAB_0040c6c0
.text:0040c6b1 ff31 PUSH dword ptr [this]
.text:0040c6b3 ff4904 DEC dword ptr [this + 0x4]
.text:0040c6b6 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040c6b9 e8a2420000 CALL FUN_00410960 ;uint FUN_00410960(uint param_1, FILE...
.text:0040c6be 59 POP this
.text:0040c6bf 59 POP this
LAB_0040c6c0: ;XREF[1,0]: 0040c6af
.text:0040c6c0 5d POP EBP
.text:0040c6c1 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_stdio_input::string_input_adapter::unget(int) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;void unget(string_input_adapter * this, int param_1)
;this string_inpu... ECX
;param_1 int 4 ;XREF[1,0]: 0040c6d5
;XREF[8,0]: 00408826,00408b14,0040bb95,0040be54
; 0040beed,0040bef8,0040c04f,0040c69c
.text:0040c6c4 8bff MOV EDI,EDI
.text:0040c6c6 55 PUSH EBP
.text:0040c6c7 8bec MOV EBP,ESP
.text:0040c6c9 8b4108 MOV EAX,dword ptr [this + 0x8]
.text:0040c6cc 3b01 CMP EAX,dword ptr [this]
.text:0040c6ce 740f JZ LAB_0040c6df
.text:0040c6d0 3b4104 CMP EAX,dword ptr [this + 0x4]
.text:0040c6d3 7506 JNZ LAB_0040c6db
.text:0040c6d5 837d08ff CMP dword ptr [EBP + param_1+0x4],-0x1
.text:0040c6d9 7404 JZ LAB_0040c6df
LAB_0040c6db: ;XREF[1,0]: 0040c6d3
.text:0040c6db 48 DEC EAX
.text:0040c6dc 894108 MOV dword ptr [this + 0x8],EAX
LAB_0040c6df: ;XREF[2,0]: 0040c6ce,0040c6d9
.text:0040c6df 5d POP EBP
.text:0040c6e0 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* public: bool __thiscall __crt_stdio_input::format_string_parser::validate(void)const *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;bool validate(format_string_parser * this)
;this format_stri... ECX
;XREF[2,0]: 0040bac6,0040bb51
.text:0040c6e3 83790800 CMP dword ptr [this + 0x8],0x0
.text:0040c6e7 7513 JNZ LAB_0040c6fc
.text:0040c6e9 e8161c0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040c6ee c70016000000 MOV dword ptr [EAX],0x16
.text:0040c6f4 e82a1b0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040c6f9 32c0 XOR AL,AL
.text:0040c6fb c3 RET
LAB_0040c6fc: ;XREF[1,0]: 0040c6e7
.text:0040c6fc b001 MOV AL,0x1
.text:0040c6fe c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040c6ff(int * param_1)
;param_1 int * ECX
;XREF[4,0]: 00406d7c,004071de,00407d44,004080a4
.text:0040c6ff 833900 CMP dword ptr [param_1],0x0
.text:0040c702 7513 JNZ LAB_0040c717
LAB_0040c704: ;XREF[1,0]: 0040c71b
.text:0040c704 e8fb1b0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040c709 c70016000000 MOV dword ptr [EAX],0x16
.text:0040c70f e80f1b0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040c714 32c0 XOR AL,AL
.text:0040c716 c3 RET
LAB_0040c717: ;XREF[1,0]: 0040c702
.text:0040c717 83791800 CMP dword ptr [param_1 + 0x18],0x0
.text:0040c71b 74e7 JZ LAB_0040c704
.text:0040c71d b001 MOV AL,0x1
.text:0040c71f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: bool __thiscall __crt_stdio_input::stream_input_adapter::validate(void)const *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;bool validate(stream_input_adapter * this)
;this stream_inpu... ECX
;XREF[1,0]: 0040bab8
.text:0040c720 8b01 MOV EAX,dword ptr [this]
.text:0040c722 85c0 TEST EAX,EAX
.text:0040c724 7513 JNZ LAB_0040c739
.text:0040c726 e8d91b0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040c72b c70016000000 MOV dword ptr [EAX],0x16
.text:0040c731 e8ed1a0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040c736 32c0 XOR AL,AL
.text:0040c738 c3 RET
LAB_0040c739: ;XREF[1,0]: 0040c724
.text:0040c739 50 PUSH EAX
.text:0040c73a e84f9effff CALL __acrt_stdio_char_traits::valid... ;bool validate_stream_is_ansi_if_requ...
.text:0040c73f 59 POP this
.text:0040c740 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: bool __thiscall __crt_stdio_input::string_input_adapter::validate(void) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;bool validate(string_input_adapter * this)
;this string_inpu... ECX
;XREF[1,0]: 0040bb43
.text:0040c741 8b4108 MOV EAX,dword ptr [this + 0x8]
.text:0040c744 85c0 TEST EAX,EAX
.text:0040c746 7513 JNZ LAB_0040c75b
LAB_0040c748: ;XREF[1,0]: 0040c75e
.text:0040c748 e8b71b0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040c74d c70016000000 MOV dword ptr [EAX],0x16
.text:0040c753 e8cb1a0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040c758 32c0 XOR AL,AL
.text:0040c75a c3 RET
LAB_0040c75b: ;XREF[1,0]: 0040c746
.text:0040c75b 3b4104 CMP EAX,dword ptr [this + 0x4]
.text:0040c75e 77e8 JA LAB_0040c748
.text:0040c760 b001 MOV AL,0x1
.text:0040c762 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this, wchar_t * param_1, uint param_2, wchar_t * * param_3, uint * param_4, char param_5)
;this input_proce... ECX
;param_1 wchar_t * 4
;param_2 uint 8
;param_3 wchar_t * * c ;XREF[1,0]: 0040c7ba
;param_4 uint * 10 ;XREF[1,0]: 0040c7cb
;param_5 char 14 ;XREF[1,0]: 0040c76b
;local_7 undefined1 -7 ;XREF[2,0]: 0040c776,0040c79a
;local_8 undefined1 -8 ;XREF[2,0]: 0040c773,0040c7ad
;local_c undefined2 -c ;XREF[2,0]: 0040c7a0,0040c7b1
;XREF[1,0]: 00408976
.text:0040c763 8bff MOV EDI,EDI
.text:0040c765 55 PUSH EBP
.text:0040c766 8bec MOV EBP,ESP
.text:0040c768 51 PUSH this
.text:0040c769 51 PUSH this
.text:0040c76a 53 PUSH EBX
.text:0040c76b 8a5d18 MOV BL,byte ptr [EBP + param_5+0x4]
.text:0040c76e 33c0 XOR EAX,EAX
.text:0040c770 56 PUSH ESI
.text:0040c771 8bf1 MOV ESI,this
.text:0040c773 885dfc MOV byte ptr [EBP + local_8+0x4],BL
.text:0040c776 8845fd MOV byte ptr [EBP + local_7+0x4],AL
.text:0040c779 e816400000 CALL ___pctype_func ;ushort * ___pctype_func(void)
.text:0040c77e 0fb6d3 MOVZX EDX,BL
.text:0040c781 33c9 XOR this,this
.text:0040c783 66390c50 CMP word ptr [EAX + EDX*0x2],this
.text:0040c787 7d14 JGE LAB_0040c79d
.text:0040c789 ff7608 PUSH dword ptr [ESI + 0x8]
.text:0040c78c e87b030000 CALL FUN_0040cb0c ;undefined FUN_0040cb0c(FILE * param_1)
.text:0040c791 59 POP this
.text:0040c792 83f8ff CMP EAX,-0x1
.text:0040c795 7403 JZ LAB_0040c79a
.text:0040c797 ff460c INC dword ptr [ESI + 0xc]
LAB_0040c79a: ;XREF[1,0]: 0040c795
.text:0040c79a 8845fd MOV byte ptr [EBP + local_7+0x4],AL
LAB_0040c79d: ;XREF[1,0]: 0040c787
.text:0040c79d 6a3f PUSH 0x3f
.text:0040c79f 58 POP EAX
.text:0040c7a0 668945f8 MOV word ptr [EBP + local_c+0x4],AX
.text:0040c7a4 8b4660 MOV EAX,dword ptr [ESI + 0x60]
.text:0040c7a7 50 PUSH EAX
.text:0040c7a8 8b00 MOV EAX,dword ptr [EAX]
.text:0040c7aa ff7004 PUSH dword ptr [EAX + 0x4]
.text:0040c7ad 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:0040c7b0 50 PUSH EAX
.text:0040c7b1 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0040c7b4 50 PUSH EAX
.text:0040c7b5 e8e9370000 CALL FUN_0040ffa3 ;uint FUN_0040ffa3(LPWSTR param_1, by...
.text:0040c7ba 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:0040c7bd 83c410 ADD ESP,0x10
.text:0040c7c0 660fbecb MOVSX this,BL
.text:0040c7c4 8b02 MOV EAX,dword ptr [EDX]
.text:0040c7c6 5e POP ESI
.text:0040c7c7 5b POP EBX
.text:0040c7c8 668908 MOV word ptr [EAX],this
.text:0040c7cb 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:0040c7ce 830202 ADD dword ptr [EDX],0x2
.text:0040c7d1 ff08 DEC dword ptr [EAX]
.text:0040c7d3 b001 MOV AL,0x1
.text:0040c7d5 c9 LEAVE
.text:0040c7d6 c21400 RET 0x14
;************************************************************************************************
;* Library Function - Single Match *
;* private: bool __thiscall __crt_stdio_input::input_processor_> * this, wchar_t * param_1, uint param_2, wchar_t * * param_3, uint * param_4, char param_5)
;this input_proce... ECX
;param_1 wchar_t * 4
;param_2 uint 8
;param_3 wchar_t * * c ;XREF[1,0]: 0040c827
;param_4 uint * 10 ;XREF[1,0]: 0040c838
;param_5 char 14 ;XREF[1,0]: 0040c7e1
;local_7 undefined1 -7 ;XREF[2,0]: 0040c7ec,0040c807
;local_8 undefined1 -8 ;XREF[2,0]: 0040c7e9,0040c81a
;local_c undefined2 -c ;XREF[2,0]: 0040c80d,0040c81e
;XREF[1,0]: 00408ae4
.text:0040c7d9 8bff MOV EDI,EDI
.text:0040c7db 55 PUSH EBP
.text:0040c7dc 8bec MOV EBP,ESP
.text:0040c7de 51 PUSH this
.text:0040c7df 51 PUSH this
.text:0040c7e0 53 PUSH EBX
.text:0040c7e1 8a5d18 MOV BL,byte ptr [EBP + param_5+0x4]
.text:0040c7e4 33c0 XOR EAX,EAX
.text:0040c7e6 56 PUSH ESI
.text:0040c7e7 8bf1 MOV ESI,this
.text:0040c7e9 885dfc MOV byte ptr [EBP + local_8+0x4],BL
.text:0040c7ec 8845fd MOV byte ptr [EBP + local_7+0x4],AL
.text:0040c7ef e8a03f0000 CALL ___pctype_func ;ushort * ___pctype_func(void)
.text:0040c7f4 0fb6d3 MOVZX EDX,BL
.text:0040c7f7 33c9 XOR this,this
.text:0040c7f9 66390c50 CMP word ptr [EAX + EDX*0x2],this
.text:0040c7fd 7d0b JGE LAB_0040c80a
.text:0040c7ff 8d4e08 LEA this,[ESI + 0x8]
.text:0040c802 e88af1ffff CALL __crt_stdio_input::string_input_adapt...;int get(string_input_adapter *...
.text:0040c807 8845fd MOV byte ptr [EBP + local_7+0x4],AL
LAB_0040c80a: ;XREF[1,0]: 0040c7fd
.text:0040c80a 6a3f PUSH 0x3f
.text:0040c80c 58 POP EAX
.text:0040c80d 668945f8 MOV word ptr [EBP + local_c+0x4],AX
.text:0040c811 8b4668 MOV EAX,dword ptr [ESI + 0x68]
.text:0040c814 50 PUSH EAX
.text:0040c815 8b00 MOV EAX,dword ptr [EAX]
.text:0040c817 ff7004 PUSH dword ptr [EAX + 0x4]
.text:0040c81a 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:0040c81d 50 PUSH EAX
.text:0040c81e 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0040c821 50 PUSH EAX
.text:0040c822 e87c370000 CALL FUN_0040ffa3 ;uint FUN_0040ffa3(LPWSTR param_1, by...
.text:0040c827 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:0040c82a 83c410 ADD ESP,0x10
.text:0040c82d 660fbecb MOVSX this,BL
.text:0040c831 8b02 MOV EAX,dword ptr [EDX]
.text:0040c833 5e POP ESI
.text:0040c834 5b POP EBX
.text:0040c835 668908 MOV word ptr [EAX],this
.text:0040c838 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:0040c83b 830202 ADD dword ptr [EDX],0x2
.text:0040c83e ff08 DEC dword ptr [EAX]
.text:0040c840 b001 MOV AL,0x1
.text:0040c842 c9 LEAVE
.text:0040c843 c21400 RET 0x14
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040c846(void * this, undefined4 param_1, undefined4 param_2)
;this void * ECX
;param_1 undefined4 4 ;XREF[4,0]: 0040c88c,0040c899,0040c8a0,0040c8a9
;param_2 undefined4 8 ;XREF[1,0]: 0040c88f
;XREF[2,0]: 0040bbc9,0040bd89
.text:0040c846 8bff MOV EDI,EDI
.text:0040c848 55 PUSH EBP
.text:0040c849 8bec MOV EBP,ESP
.text:0040c84b 8b5164 MOV EDX,dword ptr [this + 0x64]
.text:0040c84e 56 PUSH ESI
.text:0040c84f 8d4204 LEA EAX,[EDX + 0x4]
.text:0040c852 894164 MOV dword ptr [this + 0x64],EAX
.text:0040c855 8b32 MOV ESI,dword ptr [EDX]
.text:0040c857 85f6 TEST ESI,ESI
.text:0040c859 7514 JNZ LAB_0040c86f
.text:0040c85b e8a41a0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040c860 c70016000000 MOV dword ptr [EAX],0x16
.text:0040c866 e8b8190000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_0040c86b: ;XREF[1,0]: 0040c88a
.text:0040c86b 32c0 XOR AL,AL
.text:0040c86d eb41 JMP LAB_0040c8b0
LAB_0040c86f: ;XREF[1,0]: 0040c859
.text:0040c86f 83c110 ADD this,0x10
.text:0040c872 e8d0f1ffff CALL FUN_0040ba47 ;uint FUN_0040ba47(int param_1)
.text:0040c877 83e801 SUB EAX,0x1
.text:0040c87a 742d JZ LAB_0040c8a9
.text:0040c87c 83e801 SUB EAX,0x1
.text:0040c87f 741f JZ LAB_0040c8a0
.text:0040c881 48 DEC EAX
.text:0040c882 83e801 SUB EAX,0x1
.text:0040c885 7412 JZ LAB_0040c899
.text:0040c887 83e804 SUB EAX,0x4
.text:0040c88a 75df JNZ LAB_0040c86b
.text:0040c88c 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040c88f 8b4d0c MOV this,dword ptr [EBP + param_2+0x4]
.text:0040c892 8906 MOV dword ptr [ESI],EAX
.text:0040c894 894e04 MOV dword ptr [ESI + 0x4],this
.text:0040c897 eb15 JMP LAB_0040c8ae
LAB_0040c899: ;XREF[1,0]: 0040c885
.text:0040c899 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040c89c 8906 MOV dword ptr [ESI],EAX
.text:0040c89e eb0e JMP LAB_0040c8ae
LAB_0040c8a0: ;XREF[1,0]: 0040c87f
.text:0040c8a0 668b4508 MOV AX,word ptr [EBP + param_1+0x4]
.text:0040c8a4 668906 MOV word ptr [ESI],AX
.text:0040c8a7 eb05 JMP LAB_0040c8ae
LAB_0040c8a9: ;XREF[1,0]: 0040c87a
.text:0040c8a9 8a4508 MOV AL,byte ptr [EBP + param_1+0x4]
.text:0040c8ac 8806 MOV byte ptr [ESI],AL
LAB_0040c8ae: ;XREF[3,0]: 0040c897,0040c89e,0040c8a7
.text:0040c8ae b001 MOV AL,0x1
LAB_0040c8b0: ;XREF[1,0]: 0040c86d
.text:0040c8b0 5e POP ESI
.text:0040c8b1 5d POP EBP
.text:0040c8b2 c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040c8b5(void * this, undefined4 param_1, undefined4 param_2)
;this void * ECX
;param_1 undefined4 4 ;XREF[4,0]: 0040c8fb,0040c908,0040c90f,0040c918
;param_2 undefined4 8 ;XREF[1,0]: 0040c8fe
;XREF[2,0]: 0040bbe1,0040bdee
.text:0040c8b5 8bff MOV EDI,EDI
.text:0040c8b7 55 PUSH EBP
.text:0040c8b8 8bec MOV EBP,ESP
.text:0040c8ba 8b516c MOV EDX,dword ptr [this + 0x6c]
.text:0040c8bd 56 PUSH ESI
.text:0040c8be 8d4204 LEA EAX,[EDX + 0x4]
.text:0040c8c1 89416c MOV dword ptr [this + 0x6c],EAX
.text:0040c8c4 8b32 MOV ESI,dword ptr [EDX]
.text:0040c8c6 85f6 TEST ESI,ESI
.text:0040c8c8 7514 JNZ LAB_0040c8de
.text:0040c8ca e8351a0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040c8cf c70016000000 MOV dword ptr [EAX],0x16
.text:0040c8d5 e849190000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_0040c8da: ;XREF[1,0]: 0040c8f9
.text:0040c8da 32c0 XOR AL,AL
.text:0040c8dc eb41 JMP LAB_0040c91f
LAB_0040c8de: ;XREF[1,0]: 0040c8c8
.text:0040c8de 83c118 ADD this,0x18
.text:0040c8e1 e861f1ffff CALL FUN_0040ba47 ;uint FUN_0040ba47(int param_1)
.text:0040c8e6 83e801 SUB EAX,0x1
.text:0040c8e9 742d JZ LAB_0040c918
.text:0040c8eb 83e801 SUB EAX,0x1
.text:0040c8ee 741f JZ LAB_0040c90f
.text:0040c8f0 48 DEC EAX
.text:0040c8f1 83e801 SUB EAX,0x1
.text:0040c8f4 7412 JZ LAB_0040c908
.text:0040c8f6 83e804 SUB EAX,0x4
.text:0040c8f9 75df JNZ LAB_0040c8da
.text:0040c8fb 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040c8fe 8b4d0c MOV this,dword ptr [EBP + param_2+0x4]
.text:0040c901 8906 MOV dword ptr [ESI],EAX
.text:0040c903 894e04 MOV dword ptr [ESI + 0x4],this
.text:0040c906 eb15 JMP LAB_0040c91d
LAB_0040c908: ;XREF[1,0]: 0040c8f4
.text:0040c908 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040c90b 8906 MOV dword ptr [ESI],EAX
.text:0040c90d eb0e JMP LAB_0040c91d
LAB_0040c90f: ;XREF[1,0]: 0040c8ee
.text:0040c90f 668b4508 MOV AX,word ptr [EBP + param_1+0x4]
.text:0040c913 668906 MOV word ptr [ESI],AX
.text:0040c916 eb05 JMP LAB_0040c91d
LAB_0040c918: ;XREF[1,0]: 0040c8e9
.text:0040c918 8a4508 MOV AL,byte ptr [EBP + param_1+0x4]
.text:0040c91b 8806 MOV byte ptr [ESI],AL
LAB_0040c91d: ;XREF[3,0]: 0040c906,0040c90d,0040c916
.text:0040c91d b001 MOV AL,0x1
LAB_0040c91f: ;XREF[1,0]: 0040c8dc
.text:0040c91f 5e POP ESI
.text:0040c920 5d POP EBP
.text:0040c921 c20800 RET 0x8
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_0040c924(undefined4 param_1, undefined4 param_2, int param_3, int param_4, undefined4 param_5, undefined4 param_6)
;param_1 undefined4 4 ;XREF[1,0]: 0040c93e
;param_2 undefined4 8 ;XREF[1,0]: 0040c932
;param_3 int c ;XREF[1,0]: 0040c92f
;param_4 int 10 ;XREF[1,0]: 0040c94b
;param_5 undefined4 14 ;XREF[1,0]: 0040c938
;param_6 undefined4 18 ;XREF[1,0]: 0040c92c
;local_5 undefined1 -5 ;XREF[1,0]: 0040c977
;local_c undefined4 -c ;XREF[2,0]: 0040c93b,0040c96e
;local_10 undefined4 -10 ;XREF[2,0]: 0040c941,0040c97a
;local_14 undefined4 -14 ;XREF[2,0]: 0040c94e,0040c989
;local_18 undefined4 -18 ;XREF[2,0]: 0040c935,0040c98f
;local_1c undefined4 -1c ;XREF[2,0]: 0040c971,0040c995
;local_20 undefined4 -20 ;XREF[2,0]: 0040c97d,0040c99d
;local_24 undefined4 -24 ;XREF[1,0]: 0040c947
;local_28 undefined4 -28 ;XREF[2,0]: 0040c944,0040c983
;local_2c undefined4 -2c ;XREF[1,0]: 0040c992
;local_30 undefined4 -30 ;XREF[1,0]: 0040c98c
;local_34 undefined4 -34 ;XREF[1,0]: 0040c986
;local_38 undefined4 -38 ;XREF[1,0]: 0040c980
;local_3c undefined4 -3c ;XREF[2,0]: 0040c974,0040c999
;XREF[2,0]: 00401073,004010a7
.text:0040c924 8bff MOV EDI,EDI
.text:0040c926 55 PUSH EBP
.text:0040c927 8bec MOV EBP,ESP
.text:0040c929 83ec38 SUB ESP,0x38
.text:0040c92c 8b451c MOV EAX,dword ptr [EBP + param_6+0x4]
.text:0040c92f 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:0040c932 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040c935 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0040c938 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:0040c93b 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0040c93e 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040c941 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:0040c944 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:0040c947 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:0040c94a 56 PUSH ESI
.text:0040c94b 8b7514 MOV ESI,dword ptr [EBP + param_4+0x4]
.text:0040c94e 8975f0 MOV dword ptr [EBP + local_14+0x4],ESI
.text:0040c951 85d2 TEST EDX,EDX
.text:0040c953 7515 JNZ LAB_0040c96a
LAB_0040c955: ;XREF[1,0]: 0040c96c
.text:0040c955 e8aa190000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040c95a c70016000000 MOV dword ptr [EAX],0x16
.text:0040c960 e8be180000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040c965 83c8ff OR EAX,0xffffffff
.text:0040c968 eb3c JMP LAB_0040c9a6
LAB_0040c96a: ;XREF[1,0]: 0040c953
.text:0040c96a 85f6 TEST ESI,ESI
.text:0040c96c 74e7 JZ LAB_0040c955
.text:0040c96e 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0040c971 8955e8 MOV dword ptr [EBP + local_1c+0x4],EDX
.text:0040c974 8945c8 MOV dword ptr [EBP + local_3c+0x4],EAX
.text:0040c977 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:0040c97a 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040c97d 8955e4 MOV dword ptr [EBP + local_20+0x4],EDX
.text:0040c980 8945cc MOV dword ptr [EBP + local_38+0x4],EAX
.text:0040c983 8d45dc LEA EAX=>local_28,[EBP + -0x24]
.text:0040c986 8945d0 MOV dword ptr [EBP + local_34+0x4],EAX
.text:0040c989 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:0040c98c 8945d4 MOV dword ptr [EBP + local_30+0x4],EAX
.text:0040c98f 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:0040c992 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:0040c995 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:0040c998 50 PUSH EAX
.text:0040c999 8d45c8 LEA EAX=>local_3c,[EBP + -0x38]
.text:0040c99c 50 PUSH EAX
.text:0040c99d 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
.text:0040c9a0 50 PUSH EAX
.text:0040c9a1 e8199fffff CALL __crt_seh_guarded_call::operator... ;int operator() LAB_0040c9a6: ;XREF[1,0]: 0040c968
.text:0040c9a6 5e POP ESI
.text:0040c9a7 c9 LEAVE
.text:0040c9a8 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___stdio_common_vsscanf *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___stdio_common_vsscanf(undefined4 param_1, undefined4 param_2, char * param_3, uint param_4, char * param_5, __crt_locale_pointers * param_6, char * param_7)
;param_1 undefined4 4 ;XREF[1,0]: 0040c9c0
;param_2 undefined4 8 ;XREF[1,0]: 0040c9bd
;param_3 char * c ;XREF[1,0]: 0040c9ba
;param_4 uint 10 ;XREF[1,0]: 0040c9b7
;param_5 char * 14 ;XREF[1,0]: 0040c9b4
;param_6 __crt_local... 18 ;XREF[1,0]: 0040c9b1
;param_7 char * 1c ;XREF[1,0]: 0040c9ae
;XREF[1,0]: 004010db
.text:0040c9a9 8bff MOV EDI,EDI
.text:0040c9ab 55 PUSH EBP
.text:0040c9ac 8bec MOV EBP,ESP
.text:0040c9ae ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0040c9b1 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:0040c9b4 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040c9b7 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040c9ba ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040c9bd ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040c9c0 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040c9c3 e8e59fffff CALL common_vsscanf ;int common_vsscanf(__uint64 pa...
.text:0040c9c8 83c41c ADD ESP,0x1c
.text:0040c9cb 5d POP EBP
.text:0040c9cc c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040c9cd(int param_1, uint param_2, _locale_t param_3)
;param_1 int 4 ;XREF[2,0]: 0040c9dc,0040c9ef
;param_2 uint 8 ;XREF[3,0]: 0040c9d9,0040ca05,0040ca11
;param_3 _locale_t c ;XREF[1,0]: 0040c9d2
;XREF[10,0]: 00406dc1,00407223,00407ddd,00407e00
; 0040813d,00408160,00408b87,00408bb7
; 0040dc28,0040dc4a
.text:0040c9cd 8bff MOV EDI,EDI
.text:0040c9cf 55 PUSH EBP
.text:0040c9d0 8bec MOV EBP,ESP
.text:0040c9d2 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:0040c9d5 85c9 TEST ECX,ECX
.text:0040c9d7 7516 JNZ LAB_0040c9ef
.text:0040c9d9 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040c9dc ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040c9df e8b03d0000 CALL ___pctype_func ;ushort * ___pctype_func(void)
.text:0040c9e4 50 PUSH EAX
.text:0040c9e5 e8329dffff CALL ___acrt_locale_get_ctype_array_value ;ushort ___acrt_locale_get_ctype_arra...
.text:0040c9ea 83c40c ADD ESP,0xc
.text:0040c9ed 5d POP EBP
.text:0040c9ee c3 RET
LAB_0040c9ef: ;XREF[1,0]: 0040c9d7
.text:0040c9ef 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:0040c9f2 56 PUSH ESI
.text:0040c9f3 8b31 MOV ESI,dword ptr [ECX]
.text:0040c9f5 8d4201 LEA EAX,[EDX + 0x1]
.text:0040c9f8 3d00010000 CMP EAX,0x100
.text:0040c9fd 770b JA LAB_0040ca0a
.text:0040c9ff 8b06 MOV EAX,dword ptr [ESI]
.text:0040ca01 0fb70450 MOVZX EAX,word ptr [EAX + EDX*0x2]
.text:0040ca05 23450c AND EAX,dword ptr [EBP + param_2+0x4]
.text:0040ca08 eb17 JMP LAB_0040ca21
LAB_0040ca0a: ;XREF[1,0]: 0040c9fd
.text:0040ca0a 837e0401 CMP dword ptr [ESI + 0x4],0x1
.text:0040ca0e 7e0f JLE LAB_0040ca1f
.text:0040ca10 51 PUSH ECX
.text:0040ca11 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040ca14 52 PUSH EDX
.text:0040ca15 e89e3d0000 CALL __isctype_l ;int __isctype_l(int _C, int _Type, _...
.text:0040ca1a 83c40c ADD ESP,0xc
.text:0040ca1d eb02 JMP LAB_0040ca21
LAB_0040ca1f: ;XREF[1,0]: 0040ca0e
.text:0040ca1f 33c0 XOR EAX,EAX
LAB_0040ca21: ;XREF[2,0]: 0040ca08,0040ca1d
.text:0040ca21 5e POP ESI
.text:0040ca22 5d POP EBP
.text:0040ca23 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* _memcpy_s *
;* *
;* Libraries: Visual Studio 2012, Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 *
;************************************************************************************************
;errno_t _memcpy_s(void * _Dst, rsize_t _DstSize, void * _Src, rsize_t _MaxCount)
;_Dst void * 4 ;XREF[1,0]: 0040ca35
;_DstSize rsize_t 8 ;XREF[3,0]: 0040ca57,0040ca6b,0040ca86
;_Src void * c ;XREF[1,0]: 0040ca50
;_MaxCount rsize_t 10 ;XREF[1,0]: 0040ca2a
;XREF[58,0]: 0040972d,004097a5,004098a9,00409943
; 0040998a,00409baa,00409c21,00409c5c
; 00409d42,00409e2e,00409ec8,00409f0f
; 0040a118,0040a18e,0040a1c9,0040a26c
; 0040a38e,0040a408,0040a574,0040a5b9
; 0040a79e,0040a870,0040a8b3,0040a92d
; 0040aa2e,0040aac4,0040ab11,0040ad0f
; 0040ad95,0040add7,0040ae7e,0040af8f
; 0040b184,0040b4db,0040b50e,0040b5be
; 00411631,00411650,00414a96,00414bb1
; 00414c56,00414de2,00414ecd,00414f81
; 0041505d,004150ee,00415135,00415394
; 00415418,00415579,0041560a,00415651
; 0041589a,0041597a,004159b9,00415a49
; 00415bce,00415c1a
.text:0040ca24 8bff MOV EDI,EDI
.text:0040ca26 55 PUSH EBP
.text:0040ca27 8bec MOV EBP,ESP
.text:0040ca29 56 PUSH ESI
.text:0040ca2a 8b7514 MOV ESI,dword ptr [EBP + _MaxCount+0x4]
.text:0040ca2d 85f6 TEST ESI,ESI
.text:0040ca2f 7504 JNZ LAB_0040ca35
.text:0040ca31 33c0 XOR EAX,EAX
.text:0040ca33 eb6d JMP LAB_0040caa2
LAB_0040ca35: ;XREF[1,0]: 0040ca2f
.text:0040ca35 8b4508 MOV EAX,dword ptr [EBP + _Dst+0x4]
.text:0040ca38 85c0 TEST EAX,EAX
.text:0040ca3a 7513 JNZ LAB_0040ca4f
.text:0040ca3c e8c3180000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040ca41 6a16 PUSH 0x16
.text:0040ca43 5e POP ESI
.text:0040ca44 8930 MOV dword ptr [EAX],ESI
.text:0040ca46 e8d8170000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040ca4b 8bc6 MOV EAX,ESI
.text:0040ca4d eb53 JMP LAB_0040caa2
LAB_0040ca4f: ;XREF[1,0]: 0040ca3a
.text:0040ca4f 57 PUSH EDI
.text:0040ca50 8b7d10 MOV EDI,dword ptr [EBP + _Src+0x4]
.text:0040ca53 85ff TEST EDI,EDI
.text:0040ca55 7414 JZ LAB_0040ca6b
.text:0040ca57 39750c CMP dword ptr [EBP + _DstSize+0x4],ESI
.text:0040ca5a 720f JC LAB_0040ca6b
.text:0040ca5c 56 PUSH ESI
.text:0040ca5d 57 PUSH EDI
.text:0040ca5e 50 PUSH EAX
.text:0040ca5f e84c66ffff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:0040ca64 83c40c ADD ESP,0xc
.text:0040ca67 33c0 XOR EAX,EAX
.text:0040ca69 eb36 JMP LAB_0040caa1
LAB_0040ca6b: ;XREF[2,0]: 0040ca55,0040ca5a
.text:0040ca6b ff750c PUSH dword ptr [EBP + _DstSize+0x4]
.text:0040ca6e 6a00 PUSH 0x0
.text:0040ca70 50 PUSH EAX
.text:0040ca71 e8ba5bffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040ca76 83c40c ADD ESP,0xc
.text:0040ca79 85ff TEST EDI,EDI
.text:0040ca7b 7509 JNZ LAB_0040ca86
.text:0040ca7d e882180000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040ca82 6a16 PUSH 0x16
.text:0040ca84 eb0c JMP LAB_0040ca92
LAB_0040ca86: ;XREF[1,0]: 0040ca7b
.text:0040ca86 39750c CMP dword ptr [EBP + _DstSize+0x4],ESI
.text:0040ca89 7313 JNC LAB_0040ca9e
.text:0040ca8b e874180000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040ca90 6a22 PUSH 0x22
LAB_0040ca92: ;XREF[1,0]: 0040ca84
.text:0040ca92 5e POP ESI
.text:0040ca93 8930 MOV dword ptr [EAX],ESI
.text:0040ca95 e889170000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040ca9a 8bc6 MOV EAX,ESI
.text:0040ca9c eb03 JMP LAB_0040caa1
LAB_0040ca9e: ;XREF[1,0]: 0040ca89
.text:0040ca9e 6a16 PUSH 0x16
.text:0040caa0 58 POP EAX
LAB_0040caa1: ;XREF[2,0]: 0040ca69,0040ca9c
.text:0040caa1 5f POP EDI
LAB_0040caa2: ;XREF[2,0]: 0040ca33,0040ca4d
.text:0040caa2 5e POP ESI
.text:0040caa3 5d POP EBP
.text:0040caa4 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040caa5(LPVOID param_1)
;param_1 LPVOID 4 ;XREF[1,0]: 0040caab
;local_8 undefined4 -8 ;XREF[2,0]: 0040caae,0040cab5
;XREF[9,0]: 004012be,004012ee,004015f1,004016b5
; 00402939,004029d0,004044bf,004044e6
; 0041aa2c
.text:0040caa5 8bff MOV EDI,EDI
.text:0040caa7 55 PUSH EBP
.text:0040caa8 8bec MOV EBP,ESP
.text:0040caaa 51 PUSH ECX
.text:0040caab ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040caae c745fc000... MOV dword ptr [EBP + local_8+0x4],0x0
.text:0040cab5 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:0040cab8 e8b7180000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040cabd 59 POP ECX
.text:0040cabe c9 LEAVE
.text:0040cabf c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __fgetc_nolock *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;uint __fgetc_nolock(FILE * param_1)
;param_1 FILE * 4 ;XREF[1,0]: 0040cac5
;XREF[2,0]: 0040cb12,0040cbf9
.text:0040cac0 8bff MOV EDI,EDI
.text:0040cac2 55 PUSH EBP
.text:0040cac3 8bec MOV EBP,ESP
.text:0040cac5 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:0040cac8 85d2 TEST EDX,EDX
.text:0040caca 7515 JNZ LAB_0040cae1
.text:0040cacc e833180000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040cad1 c70016000000 MOV dword ptr [EAX],0x16
.text:0040cad7 e847170000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040cadc 83c8ff OR EAX,0xffffffff
.text:0040cadf 5d POP EBP
.text:0040cae0 c3 RET
LAB_0040cae1: ;XREF[1,0]: 0040caca
.text:0040cae1 836a0801 SUB dword ptr [EDX + 0x8],0x1
.text:0040cae5 7909 JNS LAB_0040caf0
.text:0040cae7 52 PUSH EDX
.text:0040cae8 e803410000 CALL FUN_00410bf0 ;undefined FUN_00410bf0(FILE * param_1)
.text:0040caed 59 POP ECX
.text:0040caee 5d POP EBP
.text:0040caef c3 RET
LAB_0040caf0: ;XREF[1,0]: 0040cae5
.text:0040caf0 8b02 MOV EAX,dword ptr [EDX]
.text:0040caf2 8a08 MOV CL,byte ptr [EAX]
.text:0040caf4 40 INC EAX
.text:0040caf5 8902 MOV dword ptr [EDX],EAX
.text:0040caf7 0fb6c1 MOVZX EAX,CL
.text:0040cafa 5d POP EBP
.text:0040cafb c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040cafc(void)
;XREF[1,0]: 0040cc30
.text:0040cafc 6a00 PUSH 0x0
.text:0040cafe e8867effff CALL FUN_00404989 ;undefined * FUN_00404989(int param_1)
.text:0040cb03 50 PUSH EAX
.text:0040cb04 e80e000000 CALL FUN_0040cb17 ;uint FUN_0040cb17(FILE * param_1)
.text:0040cb09 59 POP ECX
.text:0040cb0a 59 POP ECX
.text:0040cb0b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040cb0c(FILE * param_1)
;param_1 FILE * 4
;XREF[11,0]: 00406861,004085fa,0040865f,004088d2
; 00408939,00408b6e,0040b946,0040bafb
; 0040be02,0040be86,0040c78c
.text:0040cb0c 8bff MOV EDI,EDI
.text:0040cb0e 55 PUSH EBP
.text:0040cb0f 8bec MOV EBP,ESP
.text:0040cb11 5d POP EBP
.text:0040cb12 e9a9ffffff JMP __fgetc_nolock ;uint __fgetc_nolock(FILE * param_1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040cb17(FILE * param_1)
;param_1 FILE * 4 ;XREF[2,0]: 0040cb23,0040cbaa
;local_8 undefined4 -8 ;XREF[2,0]: 0040cb51,0040cc04
;local_14 undefined4 -14 ;XREF[2,0]: 0040cbe2,0040cc12
;local_20 undefined4 -20 ;XREF[4,0]: 0040cb54,0040cb87,0040cb96,0040cba3
;local_24 undefined4 -24 ;XREF[2,0]: 0040cb47,0040cc01
;local_28 undefined4 -28 ;XREF[1,0]: 0040cb26
;XREF[1,0]: 0040cb04
.text:0040cb17 6a14 PUSH 0x14
.text:0040cb19 68c81d4200 PUSH .rdata:DAT_00421dc8 ;= FEh
.text:0040cb1e e8dd53ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040cb23 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040cb26 8975dc MOV dword ptr [EBP + local_28+0x4],ESI
.text:0040cb29 85f6 TEST ESI,ESI
.text:0040cb2b 7518 JNZ LAB_0040cb45
.text:0040cb2d e8d2170000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040cb32 c70016000000 MOV dword ptr [EAX],0x16
.text:0040cb38 e8e6160000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_0040cb3d: ;XREF[1,0]: 0040cbf3
.text:0040cb3d 83c8ff OR EAX,0xffffffff
.text:0040cb40 e9cd000000 JMP LAB_0040cc12
LAB_0040cb45: ;XREF[1,0]: 0040cb2b
.text:0040cb45 33ff XOR EDI,EDI
.text:0040cb47 897de0 MOV dword ptr [EBP + local_24+0x4],EDI
.text:0040cb4a 56 PUSH ESI
.text:0040cb4b e8957effff CALL __lock_file ;void __lock_file(FILE * _File)
.text:0040cb50 59 POP ECX
.text:0040cb51 897dfc MOV dword ptr [EBP + local_8+0x4],EDI
.text:0040cb54 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:0040cb57 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:0040cb5a 90 NOP
.text:0040cb5b c1e80c SHR EAX,0xc
.text:0040cb5e a801 TEST AL,0x1
.text:0040cb60 7567 JNZ LAB_0040cbc9
.text:0040cb62 56 PUSH ESI
.text:0040cb63 e873340000 CALL __fileno ;int __fileno(FILE * _File)
.text:0040cb68 59 POP ECX
.text:0040cb69 83f8ff CMP EAX,-0x1
.text:0040cb6c 7423 JZ LAB_0040cb91
.text:0040cb6e 83f8fe CMP EAX,-0x2
.text:0040cb71 741e JZ LAB_0040cb91
.text:0040cb73 8bd0 MOV EDX,EAX
.text:0040cb75 c1fa06 SAR EDX,0x6
.text:0040cb78 8bd8 MOV EBX,EAX
.text:0040cb7a 83e33f AND EBX,0x3f
.text:0040cb7d 6bcb38 IMUL ECX,EBX,0x38
.text:0040cb80 030c95c84... ADD ECX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:0040cb87 894de4 MOV dword ptr [EBP + local_20+0x4],ECX
.text:0040cb8a b9f8304200 MOV ECX,.data:DAT_004230f8
.text:0040cb8f eb12 JMP LAB_0040cba3
LAB_0040cb91: ;XREF[2,0]: 0040cb6c,0040cb71
.text:0040cb91 b9f8304200 MOV ECX,.data:DAT_004230f8
.text:0040cb96 894de4 MOV dword ptr [EBP +...,ECX=>.data:DAT_00...
.text:0040cb99 8bd0 MOV EDX,EAX
.text:0040cb9b c1fa06 SAR EDX,0x6
.text:0040cb9e 8bd8 MOV EBX,EAX
.text:0040cba0 83e33f AND EBX,0x3f
LAB_0040cba3: ;XREF[1,0]: 0040cb8f
.text:0040cba3 8b75e4 MOV ESI,dword ptr [EBP + local_20+0x4]
.text:0040cba6 807e2900 CMP byte ptr [ESI + ...,0x0
.text:0040cbaa 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040cbad 751d JNZ LAB_0040cbcc
.text:0040cbaf 83f8ff CMP EAX,-0x1
.text:0040cbb2 740f JZ LAB_0040cbc3
.text:0040cbb4 83f8fe CMP EAX,-0x2
.text:0040cbb7 740a JZ LAB_0040cbc3
.text:0040cbb9 6bcb38 IMUL ECX,EBX,0x38
.text:0040cbbc 030c95c84... ADD ECX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
LAB_0040cbc3: ;XREF[2,0]: 0040cbb2,0040cbb7
.text:0040cbc3 f6412d01 TEST byte ptr [ECX + ...,0x1
.text:0040cbc7 7503 JNZ LAB_0040cbcc
LAB_0040cbc9: ;XREF[1,0]: 0040cb60
.text:0040cbc9 33ff XOR EDI,EDI
.text:0040cbcb 47 INC EDI
LAB_0040cbcc: ;XREF[2,0]: 0040cbad,0040cbc7
.text:0040cbcc 85ff TEST EDI,EDI
.text:0040cbce 7528 JNZ LAB_0040cbf8
.text:0040cbd0 e82f170000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040cbd5 c70016000000 MOV dword ptr [EAX],0x16
.text:0040cbdb e843160000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040cbe0 6afe PUSH -0x2
.text:0040cbe2 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:0040cbe5 50 PUSH EAX
.text:0040cbe6 6814304200 PUSH .data:DAT_00423014 ;= BB40E64Eh
.text:0040cbeb e8a05bffff CALL FUN_00402790 ;undefined FUN_00402790(uint * param_...
.text:0040cbf0 83c40c ADD ESP,0xc
.text:0040cbf3 e945ffffff JMP LAB_0040cb3d
LAB_0040cbf8: ;XREF[1,0]: 0040cbce
.text:0040cbf8 56 PUSH ESI
.text:0040cbf9 e8c2feffff CALL __fgetc_nolock ;uint __fgetc_nolock(FILE * param_1)
.text:0040cbfe 59 POP ECX
.text:0040cbff 8bf8 MOV EDI,EAX
.text:0040cc01 897de0 MOV dword ptr [EBP + local_24+0x4],EDI
.text:0040cc04 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0040cc0b e818000000 CALL FUN_0040cc28 ;undefined FUN_0040cc28(void)
.text:0040cc10 8bc7 MOV EAX,EDI
LAB_0040cc12: ;XREF[1,0]: 0040cb40
.text:0040cc12 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:0040cc15 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:0040cc1c 59 POP ECX
.text:0040cc1d 5f POP EDI
.text:0040cc1e 5e POP ESI
.text:0040cc1f 5b POP EBX
.text:0040cc20 c9 LEAVE
.text:0040cc21 c3 RET
.text:0040cc22 8b align align(1)
.text:0040cc23 75 ?? 75h u
.text:0040cc24 dc ?? DCh
.text:0040cc25 8b ?? 8Bh
.text:0040cc26 7d ?? 7Dh }
.text:0040cc27 e0 ?? E0h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040cc28(void)
;XREF[1,0]: 0040cc0b
.text:0040cc28 56 PUSH ESI
.text:0040cc29 e8cb7dffff CALL __unlock_file ;void __unlock_file(FILE * _File)
.text:0040cc2e 59 POP ECX
.text:0040cc2f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined thunk_FUN_0040cafc(void)
;XREF[8,0]: 00401140,00401240,004012a0,00401340
; 00401380,004013d6,00401440,004014b0
.text:0040cc30 e9c7feffff JMP FUN_0040cafc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040cc35(SIZE_T param_1)
;param_1 SIZE_T 4
;XREF[5,0]: 00401272,004013ac,004015d4,0040166d
; 00404499
.text:0040cc35 8bff MOV EDI,EDI
.text:0040cc37 55 PUSH EBP
.text:0040cc38 8bec MOV EBP,ESP
.text:0040cc3a 5d POP EBP
.text:0040cc3b e991210000 JMP __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040cc40(uint param_1, uint * param_2)
;param_1 uint 4 ;XREF[1,0]: 0040cc61
;param_2 uint * 8 ;XREF[1,0]: 0040cc9e
;local_8 undefined4 -8 ;XREF[2,0]: 0040cc9b,0040cd7b
.text:0040cc40 8bff MOV EDI,EDI
.text:0040cc42 55 PUSH EBP
.text:0040cc43 8bec MOV EBP,ESP
.text:0040cc45 51 PUSH ECX
.text:0040cc46 56 PUSH ESI
.text:0040cc47 57 PUSH EDI
.text:0040cc48 e8ad390000 CALL FUN_004105fa ;__acrt_ptd * FUN_004105fa(void)
.text:0040cc4d 8bf0 MOV ESI,EAX
.text:0040cc4f 85f6 TEST ESI,ESI
.text:0040cc51 741c JZ LAB_0040cc6f
.text:0040cc53 8b16 MOV EDX,dword ptr [ESI]
.text:0040cc55 8bca MOV ECX,EDX
.text:0040cc57 8d8290000000 LEA EAX,[EDX + 0x90]
.text:0040cc5d 3bd0 CMP EDX,EAX
.text:0040cc5f 740e JZ LAB_0040cc6f
.text:0040cc61 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
LAB_0040cc64: ;XREF[1,0]: 0040cc6d
.text:0040cc64 3939 CMP dword ptr [ECX],EDI
.text:0040cc66 740d JZ LAB_0040cc75
.text:0040cc68 83c10c ADD ECX,0xc
.text:0040cc6b 3bc8 CMP ECX,EAX
.text:0040cc6d 75f5 JNZ LAB_0040cc64
LAB_0040cc6f: ;XREF[4,0]: 0040cc51,0040cc5f,0040cc77,0040cc7e
.text:0040cc6f 33c0 XOR EAX,EAX
LAB_0040cc71: ;XREF[2,0]: 0040cc8c,0040cc96
.text:0040cc71 5f POP EDI
.text:0040cc72 5e POP ESI
.text:0040cc73 c9 LEAVE
.text:0040cc74 c3 RET
LAB_0040cc75: ;XREF[1,0]: 0040cc66
.text:0040cc75 85c9 TEST ECX,ECX
.text:0040cc77 74f6 JZ LAB_0040cc6f
.text:0040cc79 8b7908 MOV EDI,dword ptr [ECX + 0x8]
.text:0040cc7c 85ff TEST EDI,EDI
.text:0040cc7e 74ef JZ LAB_0040cc6f
.text:0040cc80 83ff05 CMP EDI,0x5
.text:0040cc83 7509 JNZ LAB_0040cc8e
.text:0040cc85 83610800 AND dword ptr [ECX + 0x8],0x0
.text:0040cc89 33c0 XOR EAX,EAX
.text:0040cc8b 40 INC EAX
.text:0040cc8c ebe3 JMP LAB_0040cc71
LAB_0040cc8e: ;XREF[1,0]: 0040cc83
.text:0040cc8e 83ff01 CMP EDI,0x1
.text:0040cc91 7505 JNZ LAB_0040cc98
LAB_0040cc93: ;XREF[1,0]: 0040cd81
.text:0040cc93 83c8ff OR EAX,0xffffffff
.text:0040cc96 ebd9 JMP LAB_0040cc71
LAB_0040cc98: ;XREF[1,0]: 0040cc91
.text:0040cc98 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:0040cc9b 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040cc9e 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040cca1 894604 MOV dword ptr [ESI + 0x4],EAX
.text:0040cca4 83790408 CMP dword ptr [ECX + 0x4],0x8
.text:0040cca8 0f85bb000000 JNZ LAB_0040cd69
.text:0040ccae 83c224 ADD EDX,0x24
.text:0040ccb1 8d426c LEA EAX,[EDX + 0x6c]
.text:0040ccb4 eb07 JMP LAB_0040ccbd
LAB_0040ccb6: ;XREF[1,0]: 0040ccbf
.text:0040ccb6 83620800 AND dword ptr [EDX + 0x8],0x0
.text:0040ccba 83c20c ADD EDX,0xc
LAB_0040ccbd: ;XREF[1,0]: 0040ccb4
.text:0040ccbd 3bd0 CMP EDX,EAX
.text:0040ccbf 75f5 JNZ LAB_0040ccb6
.text:0040ccc1 b8910000c0 MOV EAX,0xc0000091
.text:0040ccc6 53 PUSH EBX
.text:0040ccc7 8b5e08 MOV EBX,dword ptr [ESI + 0x8]
.text:0040ccca 3901 CMP dword ptr [ECX],EAX
.text:0040cccc 7747 JA LAB_0040cd15
.text:0040ccce 743e JZ LAB_0040cd0e
.text:0040ccd0 81398d0000c0 CMP dword ptr [ECX],0xc000008d
.text:0040ccd6 742f JZ LAB_0040cd07
.text:0040ccd8 81398e0000c0 CMP dword ptr [ECX],0xc000008e
.text:0040ccde 7420 JZ LAB_0040cd00
.text:0040cce0 81398f0000c0 CMP dword ptr [ECX],0xc000008f
.text:0040cce6 7411 JZ LAB_0040ccf9
.text:0040cce8 8139900000c0 CMP dword ptr [ECX],0xc0000090
.text:0040ccee 8bc3 MOV EAX,EBX
.text:0040ccf0 7562 JNZ LAB_0040cd54
.text:0040ccf2 b881000000 MOV EAX,0x81
.text:0040ccf7 eb58 JMP LAB_0040cd51
LAB_0040ccf9: ;XREF[1,0]: 0040cce6
.text:0040ccf9 b886000000 MOV EAX,0x86
.text:0040ccfe eb51 JMP LAB_0040cd51
LAB_0040cd00: ;XREF[1,0]: 0040ccde
.text:0040cd00 b883000000 MOV EAX,0x83
.text:0040cd05 eb4a JMP LAB_0040cd51
LAB_0040cd07: ;XREF[1,0]: 0040ccd6
.text:0040cd07 b882000000 MOV EAX,0x82
.text:0040cd0c eb43 JMP LAB_0040cd51
LAB_0040cd0e: ;XREF[1,0]: 0040ccce
.text:0040cd0e b884000000 MOV EAX,0x84
.text:0040cd13 eb3c JMP LAB_0040cd51
LAB_0040cd15: ;XREF[1,0]: 0040cccc
.text:0040cd15 8139920000c0 CMP dword ptr [ECX],0xc0000092
.text:0040cd1b 742f JZ LAB_0040cd4c
.text:0040cd1d 8139930000c0 CMP dword ptr [ECX],0xc0000093
.text:0040cd23 7420 JZ LAB_0040cd45
.text:0040cd25 8139b40200c0 CMP dword ptr [ECX],0xc00002b4
.text:0040cd2b 7411 JZ LAB_0040cd3e
.text:0040cd2d 8139b50200c0 CMP dword ptr [ECX],0xc00002b5
.text:0040cd33 8bc3 MOV EAX,EBX
.text:0040cd35 751d JNZ LAB_0040cd54
.text:0040cd37 b88d000000 MOV EAX,0x8d
.text:0040cd3c eb13 JMP LAB_0040cd51
LAB_0040cd3e: ;XREF[1,0]: 0040cd2b
.text:0040cd3e b88e000000 MOV EAX,0x8e
.text:0040cd43 eb0c JMP LAB_0040cd51
LAB_0040cd45: ;XREF[1,0]: 0040cd23
.text:0040cd45 b885000000 MOV EAX,0x85
.text:0040cd4a eb05 JMP LAB_0040cd51
LAB_0040cd4c: ;XREF[1,0]: 0040cd1b
.text:0040cd4c b88a000000 MOV EAX,0x8a
LAB_0040cd51: ;XREF[8,0]: 0040ccf7,0040ccfe,0040cd05,0040cd0c
; 0040cd13,0040cd3c,0040cd43,0040cd4a
.text:0040cd51 894608 MOV dword ptr [ESI + 0x8],EAX
LAB_0040cd54: ;XREF[2,0]: 0040ccf0,0040cd35
.text:0040cd54 50 PUSH EAX
.text:0040cd55 6a08 PUSH 0x8
.text:0040cd57 8bcf MOV ECX,EDI
.text:0040cd59 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040cd5f ffd7 CALL EDI
.text:0040cd61 59 POP ECX
.text:0040cd62 59 POP ECX
.text:0040cd63 895e08 MOV dword ptr [ESI + 0x8],EBX
.text:0040cd66 5b POP EBX
.text:0040cd67 eb12 JMP LAB_0040cd7b
LAB_0040cd69: ;XREF[1,0]: 0040cca8
.text:0040cd69 83610800 AND dword ptr [ECX + 0x8],0x0
.text:0040cd6d ff7104 PUSH dword ptr [ECX + 0x4]
.text:0040cd70 8bcf MOV ECX,EDI
.text:0040cd72 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040cd78 ffd7 CALL EDI
.text:0040cd7a 59 POP ECX
LAB_0040cd7b: ;XREF[1,0]: 0040cd67
.text:0040cd7b 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:0040cd7e 894604 MOV dword ptr [ESI + 0x4],EAX
.text:0040cd81 e90dffffff JMP LAB_0040cc93
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040cd86(void)
;XREF[1,0]: 004125f7
.text:0040cd86 a1243d4200 MOV EAX,[.data:DAT_00423d24] ;= ??
.text:0040cd8b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040cd8c(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 0040cd91
;XREF[1,0]: 0040172b
.text:0040cd8c 8bff MOV EDI,EDI
.text:0040cd8e 55 PUSH EBP
.text:0040cd8f 8bec MOV EBP,ESP
.text:0040cd91 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040cd94 a3243d4200 MOV [.data:DAT_00423d24],EAX ;= ??
.text:0040cd99 5d POP EBP
.text:0040cd9a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_0040cd9b(void)
;XREF[2,0]: 00419aa5,00419b8d
.text:0040cd9b 8b0d14304200 MOV ECX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040cda1 8b15283d4200 MOV EDX,dword ptr [.data:DAT_00423d28] ;= ??
.text:0040cda7 83e11f AND ECX,0x1f
.text:0040cdaa 331514304200 XOR EDX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040cdb0 d3ca ROR EDX,CL
.text:0040cdb2 85d2 TEST EDX,EDX
.text:0040cdb4 0f95c0 SETNZ AL
.text:0040cdb7 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040cdb8(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 0040cdbd
;XREF[1,0]: 0040d962
.text:0040cdb8 8bff MOV EDI,EDI
.text:0040cdba 55 PUSH EBP
.text:0040cdbb 8bec MOV EBP,ESP
.text:0040cdbd 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040cdc0 a3283d4200 MOV [.data:DAT_00423d28],EAX ;= ??
.text:0040cdc5 5d POP EBP
.text:0040cdc6 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040cdc7(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 0040cdec
;XREF[3,0]: 00419536,00419aaf,0041a236
.text:0040cdc7 8bff MOV EDI,EDI
.text:0040cdc9 55 PUSH EBP
.text:0040cdca 8bec MOV EBP,ESP
.text:0040cdcc 8b0d14304200 MOV ECX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040cdd2 56 PUSH ESI
.text:0040cdd3 8b35283d4200 MOV ESI,dword ptr [.data:DAT_00423d28] ;= ??
.text:0040cdd9 83e11f AND ECX,0x1f
.text:0040cddc 333514304200 XOR ESI,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040cde2 d3ce ROR ESI,CL
.text:0040cde4 85f6 TEST ESI,ESI
.text:0040cde6 7504 JNZ LAB_0040cdec
.text:0040cde8 33c0 XOR EAX,EAX
.text:0040cdea eb0e JMP LAB_0040cdfa
LAB_0040cdec: ;XREF[1,0]: 0040cde6
.text:0040cdec ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040cdef 8bce MOV ECX,ESI
.text:0040cdf1 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040cdf7 ffd6 CALL ESI
.text:0040cdf9 59 POP ECX
LAB_0040cdfa: ;XREF[1,0]: 0040cdea
.text:0040cdfa 5e POP ESI
.text:0040cdfb 5d POP EBP
.text:0040cdfc c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___setusermatherr *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined ___setusermatherr(_func_void_void_ptr_ulong_void_ptr * param_1)
;param_1 _func_void_... 4 ;XREF[1,0]: 0040ce02
;XREF[1,0]: 0040178d
.text:0040cdfd 8bff MOV EDI,EDI
.text:0040cdff 55 PUSH EBP
.text:0040ce00 8bec MOV EBP,ESP
.text:0040ce02 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040ce05 e8ce77ffff CALL __crt_fast_encode_pointer;_func_void_void_ptr_ulong_void_ptr *...
.text:0040ce0a 59 POP ECX
.text:0040ce0b a3283d4200 MOV [.data:DAT_00423d28],EAX ;= ??
.text:0040ce10 5d POP EBP
.text:0040ce11 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_0040ce12(int param_1)
;param_1 int 4 ;XREF[1,0]: 0040ce1b
;local_8 undefined4 -8 ;XREF[6,0]: 0040ce83,0040ce87,0040ce9b,0040cebc,0040cec0
; 0040ced6
;local_c undefined4 -c ;XREF[6,0]: 0040cef2,0040cef9,0040cf09,0040cf13,0040cf2d
; 0040cf3f
;local_10 undefined4 -10 ;XREF[4,0]: 0040ce80,0040ce8a,0040ce98,0040ceb8
;XREF[1,0]: 0040d118
.text:0040ce12 8bff MOV EDI,EDI
.text:0040ce14 55 PUSH EBP
.text:0040ce15 8bec MOV EBP,ESP
.text:0040ce17 83ec0c SUB ESP,0xc
.text:0040ce1a 57 PUSH EDI
.text:0040ce1b 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0040ce1e 85ff TEST EDI,EDI
.text:0040ce20 7507 JNZ LAB_0040ce29
.text:0040ce22 33c0 XOR EAX,EAX
.text:0040ce24 e923010000 JMP LAB_0040cf4c
LAB_0040ce29: ;XREF[1,0]: 0040ce20
.text:0040ce29 56 PUSH ESI
.text:0040ce2a 83ff02 CMP EDI,0x2
.text:0040ce2d 741b JZ LAB_0040ce4a
.text:0040ce2f 83ff01 CMP EDI,0x1
.text:0040ce32 7416 JZ LAB_0040ce4a
.text:0040ce34 e8cb140000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040ce39 6a16 PUSH 0x16
.text:0040ce3b 5e POP ESI
.text:0040ce3c 8930 MOV dword ptr [EAX],ESI
.text:0040ce3e e8e0130000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040ce43 8bc6 MOV EAX,ESI
.text:0040ce45 e901010000 JMP LAB_0040cf4b
LAB_0040ce4a: ;XREF[2,0]: 0040ce2d,0040ce32
.text:0040ce4a 53 PUSH EBX
.text:0040ce4b e8f34c0000 CALL ___acrt_initialize_multibyte ;undefined4 ___acrt_initialize_multib...
.text:0040ce50 6804010000 PUSH 0x104
.text:0040ce55 bb303d4200 MOV EBX,.data:DAT_00423d30 ;= ??
.text:0040ce5a 33f6 XOR ESI,ESI
.text:0040ce5c 53 PUSH EBX=>.data:DAT_00423d30 ;= ??
.text:0040ce5d 56 PUSH ESI
.text:0040ce5e e8c3460000 CALL ___acrt_GetModuleFileNameA ;undefined ___acrt_GetModuleFileNameA...
.text:0040ce63 891d483e4200 MOV dword ptr [.data:DAT_00423e48],EBX ;= ??
.text:0040ce69 83c40c ADD ESP,0xc
.text:0040ce6c 8b1d583e4200 MOV EBX,dword ptr [.data:DAT_00423e58] ;= ??
.text:0040ce72 85db TEST EBX,EBX
.text:0040ce74 7405 JZ LAB_0040ce7b
.text:0040ce76 803b00 CMP byte ptr [EBX],0x0
.text:0040ce79 7505 JNZ LAB_0040ce80
LAB_0040ce7b: ;XREF[1,0]: 0040ce74
.text:0040ce7b bb303d4200 MOV EBX,.data:DAT_00423d30 ;= ??
LAB_0040ce80: ;XREF[1,0]: 0040ce79
.text:0040ce80 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040ce83 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
.text:0040ce86 50 PUSH EAX
.text:0040ce87 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:0040ce8a 8975f4 MOV dword ptr [EBP + local_10+0x4],ESI
.text:0040ce8d 50 PUSH EAX
.text:0040ce8e 56 PUSH ESI
.text:0040ce8f 56 PUSH ESI
.text:0040ce90 53 PUSH EBX=>.data:DAT_00423d30 ;= ??
.text:0040ce91 e8b9000000 CALL FUN_0040cf4f ;undefined FUN_0040cf4f(byte * param_...
.text:0040ce96 6a01 PUSH 0x1
.text:0040ce98 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:0040ce9b ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0040ce9e e820020000 CALL ___acrt_allocate_buffer_for_argv ;LPVOID ___acrt_allocate_buffer_for_a...
.text:0040cea3 8bf0 MOV ESI,EAX
.text:0040cea5 83c420 ADD ESP,0x20
.text:0040cea8 85f6 TEST ESI,ESI
.text:0040ceaa 750c JNZ LAB_0040ceb8
.text:0040ceac e853140000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040ceb1 6a0c PUSH 0xc
.text:0040ceb3 5e POP ESI
.text:0040ceb4 8930 MOV dword ptr [EAX],ESI
.text:0040ceb6 eb2f JMP LAB_0040cee7
LAB_0040ceb8: ;XREF[1,0]: 0040ceaa
.text:0040ceb8 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040cebb 50 PUSH EAX
.text:0040cebc 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:0040cebf 50 PUSH EAX
.text:0040cec0 8b45fc MOV EAX=>local_8,dword ptr [EBP + -0x4]
.text:0040cec3 8d0486 LEA EAX,[ESI + EAX*0x4]
.text:0040cec6 50 PUSH EAX
.text:0040cec7 56 PUSH ESI
.text:0040cec8 53 PUSH EBX=>.data:DAT_00423d30 ;= ??
.text:0040cec9 e881000000 CALL FUN_0040cf4f ;undefined FUN_0040cf4f(byte * param_...
.text:0040cece 83c414 ADD ESP,0x14
.text:0040ced1 83ff01 CMP EDI,0x1
.text:0040ced4 751c JNZ LAB_0040cef2
.text:0040ced6 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:0040ced9 48 DEC EAX
.text:0040ceda 8935503e4200 MOV dword ptr [.data:DAT_00423e50],ESI ;= ??
.text:0040cee0 a34c3e4200 MOV [.data:DAT_00423e4c],EAX ;= ??
.text:0040cee5 33f6 XOR ESI,ESI
LAB_0040cee7: ;XREF[1,0]: 0040ceb6
.text:0040cee7 6a00 PUSH 0x0
.text:0040cee9 e886140000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040ceee 8bc6 MOV EAX,ESI
.text:0040cef0 eb57 JMP LAB_0040cf49
LAB_0040cef2: ;XREF[1,0]: 0040ced4
.text:0040cef2 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0040cef5 33db XOR EBX,EBX
.text:0040cef7 50 PUSH EAX
.text:0040cef8 56 PUSH ESI
.text:0040cef9 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
.text:0040cefc e81d450000 CALL FUN_0041141e ;undefined FUN_0041141e(uchar * * par...
.text:0040cf01 8bf8 MOV EDI,EAX
.text:0040cf03 59 POP ECX
.text:0040cf04 59 POP ECX
.text:0040cf05 85ff TEST EDI,EDI
.text:0040cf07 740a JZ LAB_0040cf13
.text:0040cf09 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:0040cf0c e863140000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040cf11 eb2a JMP LAB_0040cf3d
LAB_0040cf13: ;XREF[1,0]: 0040cf07
.text:0040cf13 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:0040cf16 8bcb MOV ECX,EBX
.text:0040cf18 8bc2 MOV EAX,EDX
.text:0040cf1a 391a CMP dword ptr [EDX],EBX
.text:0040cf1c 7408 JZ LAB_0040cf26
LAB_0040cf1e: ;XREF[1,0]: 0040cf24
.text:0040cf1e 8d4004 LEA EAX,[EAX + 0x4]
.text:0040cf21 41 INC ECX
.text:0040cf22 3918 CMP dword ptr [EAX],EBX
.text:0040cf24 75f8 JNZ LAB_0040cf1e
LAB_0040cf26: ;XREF[1,0]: 0040cf1c
.text:0040cf26 53 PUSH EBX
.text:0040cf27 890d4c3e4200 MOV dword ptr [.data:DAT_00423e4c],ECX ;= ??
.text:0040cf2d 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
.text:0040cf30 8915503e4200 MOV dword ptr [.data:DAT_00423e50],EDX ;= ??
.text:0040cf36 e839140000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040cf3b 8bfb MOV EDI,EBX
LAB_0040cf3d: ;XREF[1,0]: 0040cf11
.text:0040cf3d 59 POP ECX
.text:0040cf3e 56 PUSH ESI
.text:0040cf3f 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
.text:0040cf42 e82d140000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040cf47 8bc7 MOV EAX,EDI
LAB_0040cf49: ;XREF[1,0]: 0040cef0
.text:0040cf49 59 POP ECX
.text:0040cf4a 5b POP EBX
LAB_0040cf4b: ;XREF[1,0]: 0040ce45
.text:0040cf4b 5e POP ESI
LAB_0040cf4c: ;XREF[1,0]: 0040ce24
.text:0040cf4c 5f POP EDI
.text:0040cf4d c9 LEAVE
.text:0040cf4e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040cf4f(byte * param_1, byte * * param_2, byte * param_3, int * param_4, int * param_5)
;param_1 byte * 4 ;XREF[1,0]: 0040cf6e
;param_2 byte * * 8 ;XREF[5,0]: 0040cf6a,0040cf7a,0040d001,0040d00d,0040d0af
;param_3 byte * c ;XREF[1,0]: 0040cf61
;param_4 int * 10 ;XREF[3,0]: 0040cf59,0040d010,0040d0bc
;param_5 int * 14 ;XREF[3,0]: 0040cf56,0040cfa9,0040d085
;local_5 undefined1 -5 ;XREF[5,0]: 0040cfde,0040d02e,0040d03e,0040d045,0040d062
;local_c undefined4 -c ;XREF[2,0]: 0040cf82,0040cfbb
;XREF[2,0]: 0040ce91,0040cec9
.text:0040cf4f 8bff MOV EDI,EDI
.text:0040cf51 55 PUSH EBP
.text:0040cf52 8bec MOV EBP,ESP
.text:0040cf54 51 PUSH ECX
.text:0040cf55 51 PUSH ECX
.text:0040cf56 8b4d18 MOV ECX,dword ptr [EBP + param_5+0x4]
.text:0040cf59 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:0040cf5c 53 PUSH EBX
.text:0040cf5d 56 PUSH ESI
.text:0040cf5e 832100 AND dword ptr [ECX],0x0
.text:0040cf61 8b7510 MOV ESI,dword ptr [EBP + param_3+0x4]
.text:0040cf64 c70001000000 MOV dword ptr [EAX],0x1
.text:0040cf6a 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040cf6d 57 PUSH EDI
.text:0040cf6e 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0040cf71 85c0 TEST EAX,EAX
.text:0040cf73 7408 JZ LAB_0040cf7d
.text:0040cf75 8930 MOV dword ptr [EAX],ESI
.text:0040cf77 83c004 ADD EAX,0x4
.text:0040cf7a 89450c MOV dword ptr [EBP + param_2+0x4],EAX
LAB_0040cf7d: ;XREF[1,0]: 0040cf73
.text:0040cf7d 32ff XOR BH,BH
LAB_0040cf7f: ;XREF[2,0]: 0040cfc7,0040cfd1
.text:0040cf7f 803f22 CMP byte ptr [EDI],0x22
.text:0040cf82 897df8 MOV dword ptr [EBP + local_c+0x4],EDI
.text:0040cf85 750a JNZ LAB_0040cf91
.text:0040cf87 84ff TEST BH,BH
.text:0040cf89 b322 MOV BL,0x22
.text:0040cf8b 0f94c7 SETZ BH
.text:0040cf8e 47 INC EDI
.text:0040cf8f eb34 JMP LAB_0040cfc5
LAB_0040cf91: ;XREF[1,0]: 0040cf85
.text:0040cf91 ff01 INC dword ptr [ECX]
.text:0040cf93 85f6 TEST ESI,ESI
.text:0040cf95 7405 JZ LAB_0040cf9c
.text:0040cf97 8a07 MOV AL,byte ptr [EDI]
.text:0040cf99 8806 MOV byte ptr [ESI],AL
.text:0040cf9b 46 INC ESI
LAB_0040cf9c: ;XREF[1,0]: 0040cf95
.text:0040cf9c 8a1f MOV BL,byte ptr [EDI]
.text:0040cf9e 47 INC EDI
.text:0040cf9f 0fbec3 MOVSX EAX,BL
.text:0040cfa2 50 PUSH EAX
.text:0040cfa3 e84b4e0000 CALL FUN_00411df3 ;undefined FUN_00411df3(byte param_1)
.text:0040cfa8 59 POP ECX
.text:0040cfa9 8b4d18 MOV ECX,dword ptr [EBP + param_5+0x4]
.text:0040cfac 85c0 TEST EAX,EAX
.text:0040cfae 7411 JZ LAB_0040cfc1
.text:0040cfb0 ff01 INC dword ptr [ECX]
.text:0040cfb2 85f6 TEST ESI,ESI
.text:0040cfb4 7405 JZ LAB_0040cfbb
.text:0040cfb6 8a07 MOV AL,byte ptr [EDI]
.text:0040cfb8 8806 MOV byte ptr [ESI],AL
.text:0040cfba 46 INC ESI
LAB_0040cfbb: ;XREF[1,0]: 0040cfb4
.text:0040cfbb 8b7df8 MOV EDI,dword ptr [EBP + local_c+0x4]
.text:0040cfbe 83c702 ADD EDI,0x2
LAB_0040cfc1: ;XREF[1,0]: 0040cfae
.text:0040cfc1 84db TEST BL,BL
.text:0040cfc3 7418 JZ LAB_0040cfdd
LAB_0040cfc5: ;XREF[1,0]: 0040cf8f
.text:0040cfc5 84ff TEST BH,BH
.text:0040cfc7 75b6 JNZ LAB_0040cf7f
.text:0040cfc9 80fb20 CMP BL,0x20
.text:0040cfcc 7405 JZ LAB_0040cfd3
.text:0040cfce 80fb09 CMP BL,0x9
.text:0040cfd1 75ac JNZ LAB_0040cf7f
LAB_0040cfd3: ;XREF[1,0]: 0040cfcc
.text:0040cfd3 85f6 TEST ESI,ESI
.text:0040cfd5 7407 JZ LAB_0040cfde
.text:0040cfd7 c646ff00 MOV byte ptr [ESI + -0x1],0x0
.text:0040cfdb eb01 JMP LAB_0040cfde
LAB_0040cfdd: ;XREF[1,0]: 0040cfc3
.text:0040cfdd 4f DEC EDI
LAB_0040cfde: ;XREF[2,0]: 0040cfd5,0040cfdb
.text:0040cfde c645ff00 MOV byte ptr [EBP + local_5+0x4],0x0
LAB_0040cfe2: ;XREF[1,0]: 0040d0aa
.text:0040cfe2 8a07 MOV AL,byte ptr [EDI]
.text:0040cfe4 84c0 TEST AL,AL
.text:0040cfe6 0f84c3000000 JZ LAB_0040d0af
LAB_0040cfec: ;XREF[1,0]: 0040cff7
.text:0040cfec 3c20 CMP AL,0x20
.text:0040cfee 7404 JZ LAB_0040cff4
.text:0040cff0 3c09 CMP AL,0x9
.text:0040cff2 7505 JNZ LAB_0040cff9
LAB_0040cff4: ;XREF[1,0]: 0040cfee
.text:0040cff4 47 INC EDI
.text:0040cff5 8a07 MOV AL,byte ptr [EDI]
.text:0040cff7 ebf3 JMP LAB_0040cfec
LAB_0040cff9: ;XREF[1,0]: 0040cff2
.text:0040cff9 84c0 TEST AL,AL
.text:0040cffb 0f84ae000000 JZ LAB_0040d0af
.text:0040d001 8b550c MOV EDX,dword ptr [EBP + param_2+0x4]
.text:0040d004 85d2 TEST EDX,EDX
.text:0040d006 7408 JZ LAB_0040d010
.text:0040d008 8932 MOV dword ptr [EDX],ESI
.text:0040d00a 83c204 ADD EDX,0x4
.text:0040d00d 89550c MOV dword ptr [EBP + param_2+0x4],EDX
LAB_0040d010: ;XREF[1,0]: 0040d006
.text:0040d010 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:0040d013 ff00 INC dword ptr [EAX]
LAB_0040d015: ;XREF[1,0]: 0040d09b
.text:0040d015 33db XOR EBX,EBX
.text:0040d017 43 INC EBX
.text:0040d018 33c0 XOR EAX,EAX
.text:0040d01a eb02 JMP LAB_0040d01e
LAB_0040d01c: ;XREF[1,0]: 0040d023
.text:0040d01c 47 INC EDI
.text:0040d01d 40 INC EAX
LAB_0040d01e: ;XREF[1,0]: 0040d01a
.text:0040d01e 8a17 MOV DL,byte ptr [EDI]
.text:0040d020 80fa5c CMP DL,0x5c
.text:0040d023 74f7 JZ LAB_0040d01c
.text:0040d025 80fa22 CMP DL,0x22
.text:0040d028 752e JNZ LAB_0040d058
.text:0040d02a a801 TEST AL,0x1
.text:0040d02c 751b JNZ LAB_0040d049
.text:0040d02e 8a55ff MOV DL,byte ptr [EBP + local_5+0x4]
.text:0040d031 84d2 TEST DL,DL
.text:0040d033 740c JZ LAB_0040d041
.text:0040d035 807f0122 CMP byte ptr [EDI + 0x1],0x22
.text:0040d039 7503 JNZ LAB_0040d03e
.text:0040d03b 47 INC EDI
.text:0040d03c eb0b JMP LAB_0040d049
LAB_0040d03e: ;XREF[1,0]: 0040d039
.text:0040d03e 8a55ff MOV DL,byte ptr [EBP + local_5+0x4]
LAB_0040d041: ;XREF[1,0]: 0040d033
.text:0040d041 33db XOR EBX,EBX
.text:0040d043 84d2 TEST DL,DL
.text:0040d045 0f9445ff SETZ byte ptr [EBP + local_5+0x4]
LAB_0040d049: ;XREF[2,0]: 0040d02c,0040d03c
.text:0040d049 d1e8 SHR EAX,0x1
.text:0040d04b eb0b JMP LAB_0040d058
LAB_0040d04d: ;XREF[1,0]: 0040d05a
.text:0040d04d 48 DEC EAX
.text:0040d04e 85f6 TEST ESI,ESI
.text:0040d050 7404 JZ LAB_0040d056
.text:0040d052 c6065c MOV byte ptr [ESI],0x5c
.text:0040d055 46 INC ESI
LAB_0040d056: ;XREF[1,0]: 0040d050
.text:0040d056 ff01 INC dword ptr [ECX]
LAB_0040d058: ;XREF[2,0]: 0040d028,0040d04b
.text:0040d058 85c0 TEST EAX,EAX
.text:0040d05a 75f1 JNZ LAB_0040d04d
.text:0040d05c 8a07 MOV AL,byte ptr [EDI]
.text:0040d05e 84c0 TEST AL,AL
.text:0040d060 743e JZ LAB_0040d0a0
.text:0040d062 807dff00 CMP byte ptr [EBP + local_5+0x4],0x0
.text:0040d066 7508 JNZ LAB_0040d070
.text:0040d068 3c20 CMP AL,0x20
.text:0040d06a 7434 JZ LAB_0040d0a0
.text:0040d06c 3c09 CMP AL,0x9
.text:0040d06e 7430 JZ LAB_0040d0a0
LAB_0040d070: ;XREF[1,0]: 0040d066
.text:0040d070 85db TEST EBX,EBX
.text:0040d072 7426 JZ LAB_0040d09a
.text:0040d074 85f6 TEST ESI,ESI
.text:0040d076 7403 JZ LAB_0040d07b
.text:0040d078 8806 MOV byte ptr [ESI],AL
.text:0040d07a 46 INC ESI
LAB_0040d07b: ;XREF[1,0]: 0040d076
.text:0040d07b 0fbe07 MOVSX EAX,byte ptr [EDI]
.text:0040d07e 50 PUSH EAX
.text:0040d07f e86f4d0000 CALL FUN_00411df3 ;undefined FUN_00411df3(byte param_1)
.text:0040d084 59 POP ECX
.text:0040d085 8b4d18 MOV ECX,dword ptr [EBP + param_5+0x4]
.text:0040d088 85c0 TEST EAX,EAX
.text:0040d08a 740c JZ LAB_0040d098
.text:0040d08c 47 INC EDI
.text:0040d08d ff01 INC dword ptr [ECX]
.text:0040d08f 85f6 TEST ESI,ESI
.text:0040d091 7405 JZ LAB_0040d098
.text:0040d093 8a07 MOV AL,byte ptr [EDI]
.text:0040d095 8806 MOV byte ptr [ESI],AL
.text:0040d097 46 INC ESI
LAB_0040d098: ;XREF[2,0]: 0040d08a,0040d091
.text:0040d098 ff01 INC dword ptr [ECX]
LAB_0040d09a: ;XREF[1,0]: 0040d072
.text:0040d09a 47 INC EDI
.text:0040d09b e975ffffff JMP LAB_0040d015
LAB_0040d0a0: ;XREF[3,0]: 0040d060,0040d06a,0040d06e
.text:0040d0a0 85f6 TEST ESI,ESI
.text:0040d0a2 7404 JZ LAB_0040d0a8
.text:0040d0a4 c60600 MOV byte ptr [ESI],0x0
.text:0040d0a7 46 INC ESI
LAB_0040d0a8: ;XREF[1,0]: 0040d0a2
.text:0040d0a8 ff01 INC dword ptr [ECX]
.text:0040d0aa e933ffffff JMP LAB_0040cfe2
LAB_0040d0af: ;XREF[2,0]: 0040cfe6,0040cffb
.text:0040d0af 8b550c MOV EDX,dword ptr [EBP + param_2+0x4]
.text:0040d0b2 5f POP EDI
.text:0040d0b3 5e POP ESI
.text:0040d0b4 5b POP EBX
.text:0040d0b5 85d2 TEST EDX,EDX
.text:0040d0b7 7403 JZ LAB_0040d0bc
.text:0040d0b9 832200 AND dword ptr [EDX],0x0
LAB_0040d0bc: ;XREF[1,0]: 0040d0b7
.text:0040d0bc 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:0040d0bf ff00 INC dword ptr [EAX]
.text:0040d0c1 c9 LEAVE
.text:0040d0c2 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_allocate_buffer_for_argv *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;LPVOID ___acrt_allocate_buffer_for_argv(uint param_1, uint param_2, uint param_3)
;param_1 uint 4 ;XREF[1,0]: 0040d0c9
;param_2 uint 8 ;XREF[1,0]: 0040d0d7
;param_3 uint c ;XREF[2,0]: 0040d0dc,0040d0e3
;XREF[2,0]: 0040ce9e,00410e77
.text:0040d0c3 8bff MOV EDI,EDI
.text:0040d0c5 55 PUSH EBP
.text:0040d0c6 8bec MOV EBP,ESP
.text:0040d0c8 56 PUSH ESI
.text:0040d0c9 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040d0cc 81feffffff3f CMP ESI,0x3fffffff
.text:0040d0d2 7339 JNC LAB_0040d10d
.text:0040d0d4 83c8ff OR EAX,0xffffffff
.text:0040d0d7 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040d0da 33d2 XOR EDX,EDX
.text:0040d0dc f77510 DIV dword ptr [EBP + param_3+0x4]
.text:0040d0df 3bc8 CMP ECX,EAX
.text:0040d0e1 732a JNC LAB_0040d10d
.text:0040d0e3 0faf4d10 IMUL ECX,dword ptr [EBP + param_3+0x4]
.text:0040d0e7 c1e602 SHL ESI,0x2
.text:0040d0ea 8bc6 MOV EAX,ESI
.text:0040d0ec f7d0 NOT EAX
.text:0040d0ee 3bc1 CMP EAX,ECX
.text:0040d0f0 761b JBE LAB_0040d10d
.text:0040d0f2 8d040e LEA EAX,[ESI + ECX*0x1]
.text:0040d0f5 6a01 PUSH 0x1
.text:0040d0f7 50 PUSH EAX
.text:0040d0f8 e81a120000 CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:0040d0fd 6a00 PUSH 0x0
.text:0040d0ff 8bf0 MOV ESI,EAX
.text:0040d101 e86e120000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d106 83c40c ADD ESP,0xc
.text:0040d109 8bc6 MOV EAX,ESI
.text:0040d10b eb02 JMP LAB_0040d10f
LAB_0040d10d: ;XREF[3,0]: 0040d0d2,0040d0e1,0040d0f0
.text:0040d10d 33c0 XOR EAX,EAX
LAB_0040d10f: ;XREF[1,0]: 0040d10b
.text:0040d10f 5e POP ESI
.text:0040d110 5d POP EBP
.text:0040d111 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040d112(int param_1)
;param_1 int 4
;XREF[1,0]: 0040176f
.text:0040d112 8bff MOV EDI,EDI
.text:0040d114 55 PUSH EBP
.text:0040d115 8bec MOV EBP,ESP
.text:0040d117 5d POP EBP
.text:0040d118 e9f5fcffff JMP FUN_0040ce12 ;int FUN_0040ce12(int param_1)
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* char * * __cdecl common_get_or_create_environment_nolock(void) *
;* wchar_t * * __cdecl common_get_or_create_environment_nolock(void) *
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;int common_get_or_create_environment_nolock<>(void)
;XREF[2,0]: 0040d36d,0040d3cc
.text:0040d11d a1383e4200 MOV EAX,[.data:DAT_00423e38] ;= ??
.text:0040d122 85c0 TEST EAX,EAX
.text:0040d124 7522 JNZ LAB_0040d148
.text:0040d126 39053c3e4200 CMP dword ptr [.data:DAT_00423e3c],EAX ;= ??
.text:0040d12c 7418 JZ LAB_0040d146
.text:0040d12e e816000000 CALL FUN_0040d149 ;undefined4 FUN_0040d149(void)
.text:0040d133 85c0 TEST EAX,EAX
.text:0040d135 7409 JZ LAB_0040d140
.text:0040d137 e878010000 CALL FUN_0040d2b4 ;undefined4 FUN_0040d2b4(void)
.text:0040d13c 85c0 TEST EAX,EAX
.text:0040d13e 7506 JNZ LAB_0040d146
LAB_0040d140: ;XREF[1,0]: 0040d135
.text:0040d140 a1383e4200 MOV EAX,[.data:DAT_00423e38] ;= ??
.text:0040d145 c3 RET
LAB_0040d146: ;XREF[2,0]: 0040d12c,0040d13e
.text:0040d146 33c0 XOR EAX,EAX
LAB_0040d148: ;XREF[1,0]: 0040d124
.text:0040d148 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040d149(void)
;XREF[2,0]: 0040d12e,0040d3d7
.text:0040d149 833d383e4... CMP dword ptr [.data:DAT_00423e38],0x0 ;= ??
.text:0040d150 7403 JZ LAB_0040d155
.text:0040d152 33c0 XOR EAX,EAX
.text:0040d154 c3 RET
LAB_0040d155: ;XREF[1,0]: 0040d150
.text:0040d155 56 PUSH ESI
.text:0040d156 e8e8490000 CALL ___acrt_initialize_multibyte ;undefined4 ___acrt_initialize_multib...
.text:0040d15b e8a04e0000 CALL FUN_00412000 ;LPWCH FUN_00412000(void)
.text:0040d160 8bf0 MOV ESI,EAX
.text:0040d162 85f6 TEST ESI,ESI
.text:0040d164 750c JNZ LAB_0040d172
.text:0040d166 50 PUSH EAX
.text:0040d167 e808120000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d16c 59 POP ECX
.text:0040d16d 83c8ff OR EAX,0xffffffff
.text:0040d170 5e POP ESI
.text:0040d171 c3 RET
LAB_0040d172: ;XREF[1,0]: 0040d164
.text:0040d172 57 PUSH EDI
.text:0040d173 56 PUSH ESI
.text:0040d174 e82a000000 CALL FUN_0040d1a3 ;char * * FUN_0040d1a3(char * param_1)
.text:0040d179 59 POP ECX
.text:0040d17a 85c0 TEST EAX,EAX
.text:0040d17c 7505 JNZ LAB_0040d183
.text:0040d17e 83cfff OR EDI,0xffffffff
.text:0040d181 eb0c JMP LAB_0040d18f
LAB_0040d183: ;XREF[1,0]: 0040d17c
.text:0040d183 a3443e4200 MOV [.data:DAT_00423e44],EAX ;= ??
.text:0040d188 33ff XOR EDI,EDI
.text:0040d18a a3383e4200 MOV [.data:DAT_00423e38],EAX ;= ??
LAB_0040d18f: ;XREF[1,0]: 0040d181
.text:0040d18f 6a00 PUSH 0x0
.text:0040d191 e8de110000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d196 56 PUSH ESI
.text:0040d197 e8d8110000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d19c 59 POP ECX
.text:0040d19d 59 POP ECX
.text:0040d19e 8bc7 MOV EAX,EDI
.text:0040d1a0 5f POP EDI
.text:0040d1a1 5e POP ESI
.text:0040d1a2 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;char * * FUN_0040d1a3(char * param_1)
;param_1 char * 4 ;XREF[1,0]: 0040d1ab
;local_8 undefined4 -8 ;XREF[3,0]: 0040d1f1,0040d230,0040d23a
;local_c undefined4 -c ;XREF[3,0]: 0040d207,0040d220,0040d242
;XREF[1,0]: 0040d174
.text:0040d1a3 8bff MOV EDI,EDI
.text:0040d1a5 55 PUSH EBP
.text:0040d1a6 8bec MOV EBP,ESP
.text:0040d1a8 51 PUSH ECX
.text:0040d1a9 51 PUSH ECX
.text:0040d1aa 53 PUSH EBX
.text:0040d1ab 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:0040d1ae 33d2 XOR EDX,EDX
.text:0040d1b0 56 PUSH ESI
.text:0040d1b1 57 PUSH EDI
.text:0040d1b2 8bf3 MOV ESI,EBX
.text:0040d1b4 8a03 MOV AL,byte ptr [EBX]
.text:0040d1b6 eb18 JMP LAB_0040d1d0
LAB_0040d1b8: ;XREF[1,0]: 0040d1d2
.text:0040d1b8 3c3d CMP AL,0x3d
.text:0040d1ba 7401 JZ LAB_0040d1bd
.text:0040d1bc 42 INC EDX
LAB_0040d1bd: ;XREF[1,0]: 0040d1ba
.text:0040d1bd 8bce MOV ECX,ESI
.text:0040d1bf 8d7901 LEA EDI,[ECX + 0x1]
LAB_0040d1c2: ;XREF[1,0]: 0040d1c7
.text:0040d1c2 8a01 MOV AL,byte ptr [ECX]
.text:0040d1c4 41 INC ECX
.text:0040d1c5 84c0 TEST AL,AL
.text:0040d1c7 75f9 JNZ LAB_0040d1c2
.text:0040d1c9 2bcf SUB ECX,EDI
.text:0040d1cb 46 INC ESI
.text:0040d1cc 03f1 ADD ESI,ECX
.text:0040d1ce 8a06 MOV AL,byte ptr [ESI]
LAB_0040d1d0: ;XREF[1,0]: 0040d1b6
.text:0040d1d0 84c0 TEST AL,AL
.text:0040d1d2 75e4 JNZ LAB_0040d1b8
.text:0040d1d4 8d4201 LEA EAX,[EDX + 0x1]
.text:0040d1d7 6a04 PUSH 0x4
.text:0040d1d9 50 PUSH EAX
.text:0040d1da e838110000 CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:0040d1df 8bf0 MOV ESI,EAX
.text:0040d1e1 59 POP ECX
.text:0040d1e2 59 POP ECX
.text:0040d1e3 85f6 TEST ESI,ESI
.text:0040d1e5 750a JNZ LAB_0040d1f1
.text:0040d1e7 50 PUSH EAX
.text:0040d1e8 e887110000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d1ed 33c0 XOR EAX,EAX
.text:0040d1ef eb66 JMP LAB_0040d257
LAB_0040d1f1: ;XREF[1,0]: 0040d1e5
.text:0040d1f1 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
.text:0040d1f4 eb52 JMP LAB_0040d248
LAB_0040d1f6: ;XREF[1,0]: 0040d24c
.text:0040d1f6 8bcb MOV ECX,EBX
.text:0040d1f8 8d7901 LEA EDI,[ECX + 0x1]
LAB_0040d1fb: ;XREF[1,0]: 0040d200
.text:0040d1fb 8a01 MOV AL,byte ptr [ECX]
.text:0040d1fd 41 INC ECX
.text:0040d1fe 84c0 TEST AL,AL
.text:0040d200 75f9 JNZ LAB_0040d1fb
.text:0040d202 2bcf SUB ECX,EDI
.text:0040d204 8d4101 LEA EAX,[ECX + 0x1]
.text:0040d207 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0040d20a 80fa3d CMP DL,0x3d
.text:0040d20d 7437 JZ LAB_0040d246
.text:0040d20f 6a01 PUSH 0x1
.text:0040d211 50 PUSH EAX
.text:0040d212 e800110000 CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:0040d217 8bf8 MOV EDI,EAX
.text:0040d219 59 POP ECX
.text:0040d21a 59 POP ECX
.text:0040d21b 85ff TEST EDI,EDI
.text:0040d21d 743e JZ LAB_0040d25d
.text:0040d21f 53 PUSH EBX
.text:0040d220 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:0040d223 57 PUSH EDI
.text:0040d224 e8c6080000 CALL FUN_0040daef ;undefined4 FUN_0040daef(char * param...
.text:0040d229 83c40c ADD ESP,0xc
.text:0040d22c 85c0 TEST EAX,EAX
.text:0040d22e 7548 JNZ LAB_0040d278
.text:0040d230 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:0040d233 6a00 PUSH 0x0
.text:0040d235 8938 MOV dword ptr [EAX],EDI
.text:0040d237 83c004 ADD EAX,0x4
.text:0040d23a 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040d23d e832110000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d242 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:0040d245 59 POP ECX
LAB_0040d246: ;XREF[1,0]: 0040d20d
.text:0040d246 03d8 ADD EBX,EAX
LAB_0040d248: ;XREF[1,0]: 0040d1f4
.text:0040d248 8a13 MOV DL,byte ptr [EBX]
.text:0040d24a 84d2 TEST DL,DL
.text:0040d24c 75a8 JNZ LAB_0040d1f6
.text:0040d24e 6a00 PUSH 0x0
.text:0040d250 e81f110000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d255 8bc6 MOV EAX,ESI
LAB_0040d257: ;XREF[1,0]: 0040d1ef
.text:0040d257 59 POP ECX
LAB_0040d258: ;XREF[1,0]: 0040d276
.text:0040d258 5f POP EDI
.text:0040d259 5e POP ESI
.text:0040d25a 5b POP EBX
.text:0040d25b c9 LEAVE
.text:0040d25c c3 RET
LAB_0040d25d: ;XREF[1,0]: 0040d21d
.text:0040d25d 56 PUSH ESI
.text:0040d25e e822000000 CALL free_environment<> ;undefined free_environment<>(LPVOID ...
.text:0040d263 6a00 PUSH 0x0
.text:0040d265 e80a110000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d26a 6a00 PUSH 0x0
.text:0040d26c e803110000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d271 83c40c ADD ESP,0xc
.text:0040d274 33c0 XOR EAX,EAX
.text:0040d276 ebe0 JMP LAB_0040d258
LAB_0040d278: ;XREF[1,0]: 0040d22e
.text:0040d278 33c0 XOR EAX,EAX
.text:0040d27a 50 PUSH EAX
.text:0040d27b 50 PUSH EAX
.text:0040d27c 50 PUSH EAX
.text:0040d27d 50 PUSH EAX
.text:0040d27e 50 PUSH EAX
.text:0040d27f e8af0f0000 CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:0040d284 cc align align(1)
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* void __cdecl free_environment(char * * const) *
;* void __cdecl free_environment(wchar_t * * const) *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined free_environment<>(LPVOID * param_1)
;param_1 LPVOID * 4 ;XREF[1,0]: 0040d28b
;XREF[5,0]: 0040d25e,0040d34a,0040d365,0040d3a5
; 0040d3b0
.text:0040d285 8bff MOV EDI,EDI
.text:0040d287 55 PUSH EBP
.text:0040d288 8bec MOV EBP,ESP
.text:0040d28a 56 PUSH ESI
.text:0040d28b 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040d28e 85f6 TEST ESI,ESI
.text:0040d290 741f JZ LAB_0040d2b1
.text:0040d292 8b06 MOV EAX,dword ptr [ESI]
.text:0040d294 57 PUSH EDI
.text:0040d295 8bfe MOV EDI,ESI
.text:0040d297 eb0c JMP LAB_0040d2a5
LAB_0040d299: ;XREF[1,0]: 0040d2a7
.text:0040d299 50 PUSH EAX
.text:0040d29a e8d5100000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d29f 8d7f04 LEA EDI,[EDI + 0x4]
.text:0040d2a2 8b07 MOV EAX,dword ptr [EDI]
.text:0040d2a4 59 POP ECX
LAB_0040d2a5: ;XREF[1,0]: 0040d297
.text:0040d2a5 85c0 TEST EAX,EAX
.text:0040d2a7 75f0 JNZ LAB_0040d299
.text:0040d2a9 56 PUSH ESI
.text:0040d2aa e8c5100000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d2af 59 POP ECX
.text:0040d2b0 5f POP EDI
LAB_0040d2b1: ;XREF[1,0]: 0040d290
.text:0040d2b1 5e POP ESI
.text:0040d2b2 5d POP EBP
.text:0040d2b3 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040d2b4(void)
;XREF[1,0]: 0040d137
.text:0040d2b4 8bff MOV EDI,EDI
.text:0040d2b6 53 PUSH EBX
.text:0040d2b7 56 PUSH ESI
.text:0040d2b8 57 PUSH EDI
.text:0040d2b9 8b3d3c3e4200 MOV EDI,dword ptr [.data:DAT_00423e3c] ;= ??
.text:0040d2bf 85ff TEST EDI,EDI
.text:0040d2c1 746d JZ LAB_0040d330
.text:0040d2c3 8b07 MOV EAX,dword ptr [EDI]
.text:0040d2c5 85c0 TEST EAX,EAX
.text:0040d2c7 745c JZ LAB_0040d325
.text:0040d2c9 33db XOR EBX,EBX
LAB_0040d2cb: ;XREF[1,0]: 0040d323
.text:0040d2cb 53 PUSH EBX
.text:0040d2cc 53 PUSH EBX
.text:0040d2cd 53 PUSH EBX
.text:0040d2ce 53 PUSH EBX
.text:0040d2cf 6aff PUSH -0x1
.text:0040d2d1 50 PUSH EAX
.text:0040d2d2 53 PUSH EBX
.text:0040d2d3 53 PUSH EBX
.text:0040d2d4 e8844c0000 CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:0040d2d9 8bd8 MOV EBX,EAX
.text:0040d2db 83c420 ADD ESP,0x20
.text:0040d2de 85db TEST EBX,EBX
.text:0040d2e0 744e JZ LAB_0040d330
.text:0040d2e2 6a01 PUSH 0x1
.text:0040d2e4 53 PUSH EBX
.text:0040d2e5 e82d100000 CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:0040d2ea 59 POP ECX
.text:0040d2eb 8bf0 MOV ESI,EAX
.text:0040d2ed 59 POP ECX
.text:0040d2ee 6a00 PUSH 0x0
.text:0040d2f0 85f6 TEST ESI,ESI
.text:0040d2f2 7436 JZ LAB_0040d32a
.text:0040d2f4 6a00 PUSH 0x0
.text:0040d2f6 53 PUSH EBX
.text:0040d2f7 56 PUSH ESI
.text:0040d2f8 6aff PUSH -0x1
.text:0040d2fa ff37 PUSH dword ptr [EDI]
.text:0040d2fc 33db XOR EBX,EBX
.text:0040d2fe 53 PUSH EBX
.text:0040d2ff 53 PUSH EBX
.text:0040d300 e8584c0000 CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:0040d305 83c420 ADD ESP,0x20
.text:0040d308 85c0 TEST EAX,EAX
.text:0040d30a 741d JZ LAB_0040d329
.text:0040d30c 53 PUSH EBX
.text:0040d30d 56 PUSH ESI
.text:0040d30e e80c510000 CALL FUN_0041241f ;undefined FUN_0041241f(char * param_...
.text:0040d313 53 PUSH EBX
.text:0040d314 e85b100000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d319 83c704 ADD EDI,0x4
.text:0040d31c 83c40c ADD ESP,0xc
.text:0040d31f 8b07 MOV EAX,dword ptr [EDI]
.text:0040d321 85c0 TEST EAX,EAX
.text:0040d323 75a6 JNZ LAB_0040d2cb
LAB_0040d325: ;XREF[1,0]: 0040d2c7
.text:0040d325 33c0 XOR EAX,EAX
.text:0040d327 eb0a JMP LAB_0040d333
LAB_0040d329: ;XREF[1,0]: 0040d30a
.text:0040d329 56 PUSH ESI
LAB_0040d32a: ;XREF[1,0]: 0040d2f2
.text:0040d32a e845100000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d32f 59 POP ECX
LAB_0040d330: ;XREF[2,0]: 0040d2c1,0040d2e0
.text:0040d330 83c8ff OR EAX,0xffffffff
LAB_0040d333: ;XREF[1,0]: 0040d327
.text:0040d333 5f POP EDI
.text:0040d334 5e POP ESI
.text:0040d335 5b POP EBX
.text:0040d336 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* void __cdecl uninitialize_environment_internal(char * * &) *
;* void __cdecl uninitialize_environment_internal(wchar_t * * &) *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined uninitialize_environment_internal<>(undefined4 * param_1)
;param_1 undefined4 * 4 ;XREF[1,0]: 0040d33c
;XREF[1,0]: 0040d387
.text:0040d337 8bff MOV EDI,EDI
.text:0040d339 55 PUSH EBP
.text:0040d33a 8bec MOV EBP,ESP
.text:0040d33c 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040d33f 8b00 MOV EAX,dword ptr [EAX]
.text:0040d341 3b05443e4200 CMP EAX,dword ptr [.data:DAT_00423e44] ;= ??
.text:0040d347 7407 JZ LAB_0040d350
.text:0040d349 50 PUSH EAX
.text:0040d34a e836ffffff CALL free_environment<> ;undefined free_environment<>(LPVOID ...
.text:0040d34f 59 POP ECX
LAB_0040d350: ;XREF[1,0]: 0040d347
.text:0040d350 5d POP EBP
.text:0040d351 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* void __cdecl uninitialize_environment_internal(char * * &) *
;* void __cdecl uninitialize_environment_internal(wchar_t * * &) *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined uninitialize_environment_internal<>(undefined4 * param_1)
;param_1 undefined4 * 4 ;XREF[1,0]: 0040d357
;XREF[1,0]: 0040d39a
.text:0040d352 8bff MOV EDI,EDI
.text:0040d354 55 PUSH EBP
.text:0040d355 8bec MOV EBP,ESP
.text:0040d357 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040d35a 8b00 MOV EAX,dword ptr [EAX]
.text:0040d35c 3b05403e4200 CMP EAX,dword ptr [.data:DAT_00423e40] ;= ??
.text:0040d362 7407 JZ LAB_0040d36b
.text:0040d364 50 PUSH EAX
.text:0040d365 e81bffffff CALL free_environment<> ;undefined free_environment<>(LPVOID ...
.text:0040d36a 59 POP ECX
LAB_0040d36b: ;XREF[1,0]: 0040d362
.text:0040d36b 5d POP EBP
.text:0040d36c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int common_get_or_create_environment_nolock<>(void)
;XREF[1,0]: 00412106
.text:0040d36d e9abfdffff JMP common_get_or_create_environment_nolo...
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040d372(void)
;local_8 undefined4 -8 ;XREF[2,0]: 0040d37e,0040d38c
;XREF[1,0]: 0040d93e
.text:0040d372 6a00 PUSH 0x0
.text:0040d374 b87aad4100 MOV EAX,LAB_0041ad7a
.text:0040d379 e85ad20000 CALL __EH_prolog3 ;undefined __EH_prolog3(int param_1)
.text:0040d37e 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040d382 68383e4200 PUSH .data:DAT_00423e38 ;= ??
.text:0040d387 e8abffffff CALL uninitialize_environment_internal<> ;undefined uninitialize_environment_i...
.text:0040d38c c745fc010... MOV dword ptr [EBP + local_8+0x4],0x1
.text:0040d393 c704243c3... MOV dword ptr [ESP],.data:DAT_00423e3c ;= ??
.text:0040d39a e8b3ffffff CALL uninitialize_environment_internal<> ;undefined uninitialize_environment_i...
.text:0040d39f ff35443e4200 PUSH dword ptr [.data:DAT_00423e44] ;= ??
.text:0040d3a5 e8dbfeffff CALL free_environment<> ;undefined free_environment<>(LPVOID ...
.text:0040d3aa ff35403e4200 PUSH dword ptr [.data:DAT_00423e40] ;= ??
.text:0040d3b0 e8d0feffff CALL free_environment<> ;undefined free_environment<>(LPVOID ...
.text:0040d3b5 83c40c ADD ESP,0xc
.text:0040d3b8 e807d20000 CALL __EH_epilog3 ;undefined __EH_epilog3(void)
.text:0040d3bd c3 RET
.text:0040d3be cccccccccc align align(5)
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* __get_initial_narrow_environment *
;* __get_initial_wide_environment *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined FID_conflict:__get_initial_narrow_environment(void)
;XREF[1,0]: 004018cb
.text:0040d3c3 a1443e4200 MOV EAX,[.data:DAT_00423e44] ;= ??
.text:0040d3c8 85c0 TEST EAX,EAX
.text:0040d3ca 750a JNZ LAB_0040d3d6
.text:0040d3cc e84cfdffff CALL common_get_or_create_environment_nolo...;int common_get_or_create_environment...
.text:0040d3d1 a3443e4200 MOV [.data:DAT_00423e44],EAX ;= ??
LAB_0040d3d6: ;XREF[1,0]: 0040d3ca
.text:0040d3d6 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 thunk_FUN_0040d149(void)
;XREF[1,0]: 004017b7
.text:0040d3d7 e96dfdffff JMP FUN_0040d149
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040d3dc(undefined * * param_1, undefined * * param_2)
;param_1 undefined * * 4 ;XREF[1,0]: 0040d3e2
;param_2 undefined * * 8 ;XREF[2,0]: 0040d3e5,0040d3fe
;XREF[3,0]: 00401864,0040467f,00404690
.text:0040d3dc 8bff MOV EDI,EDI
.text:0040d3de 55 PUSH EBP
.text:0040d3df 8bec MOV EBP,ESP
.text:0040d3e1 56 PUSH ESI
.text:0040d3e2 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040d3e5 3b750c CMP ESI,dword ptr [EBP + param_2+0x4]
.text:0040d3e8 741a JZ LAB_0040d404
.text:0040d3ea 57 PUSH EDI
LAB_0040d3eb: ;XREF[1,0]: 0040d401
.text:0040d3eb 8b3e MOV EDI,dword ptr [ESI]
.text:0040d3ed 85ff TEST EDI,EDI
.text:0040d3ef 740a JZ LAB_0040d3fb
.text:0040d3f1 8bcf MOV ECX,EDI
.text:0040d3f3 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040d3f9 ffd7 CALL EDI
LAB_0040d3fb: ;XREF[1,0]: 0040d3ef
.text:0040d3fb 83c604 ADD ESI,0x4
.text:0040d3fe 3b750c CMP ESI,dword ptr [EBP + param_2+0x4]
.text:0040d401 75e8 JNZ LAB_0040d3eb
.text:0040d403 5f POP EDI
LAB_0040d404: ;XREF[1,0]: 0040d3e8
.text:0040d404 5e POP ESI
.text:0040d405 5d POP EBP
.text:0040d406 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __initterm_e *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;int __initterm_e(undefined * * param_1, undefined * * param_2)
;param_1 undefined * * 4 ;XREF[1,0]: 0040d40d
;param_2 undefined * * 8 ;XREF[1,0]: 0040d42a
;XREF[1,0]: 0040183e
.text:0040d407 8bff MOV EDI,EDI
.text:0040d409 55 PUSH EBP
.text:0040d40a 8bec MOV EBP,ESP
.text:0040d40c 56 PUSH ESI
.text:0040d40d 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040d410 57 PUSH EDI
.text:0040d411 eb17 JMP LAB_0040d42a
LAB_0040d413: ;XREF[1,0]: 0040d42d
.text:0040d413 8b3e MOV EDI,dword ptr [ESI]
.text:0040d415 85ff TEST EDI,EDI
.text:0040d417 740e JZ LAB_0040d427
.text:0040d419 8bcf MOV ECX,EDI
.text:0040d41b ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040d421 ffd7 CALL EDI
.text:0040d423 85c0 TEST EAX,EAX
.text:0040d425 750a JNZ LAB_0040d431
LAB_0040d427: ;XREF[1,0]: 0040d417
.text:0040d427 83c604 ADD ESI,0x4
LAB_0040d42a: ;XREF[1,0]: 0040d411
.text:0040d42a 3b750c CMP ESI,dword ptr [EBP + param_2+0x4]
.text:0040d42d 75e4 JNZ LAB_0040d413
.text:0040d42f 33c0 XOR EAX,EAX
LAB_0040d431: ;XREF[1,0]: 0040d425
.text:0040d431 5f POP EDI
.text:0040d432 5e POP ESI
.text:0040d433 5d POP EBP
.text:0040d434 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __set_fmode *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;errno_t __set_fmode(int _Mode)
;_Mode int 4 ;XREF[1,0]: 0040d43a
;XREF[1,0]: 00401736
.text:0040d435 8bff MOV EDI,EDI
.text:0040d437 55 PUSH EBP
.text:0040d438 8bec MOV EBP,ESP
.text:0040d43a 8b4508 MOV EAX,dword ptr [EBP + _Mode+0x4]
.text:0040d43d 3d00400000 CMP EAX,0x4000
.text:0040d442 7423 JZ LAB_0040d467
.text:0040d444 3d00800000 CMP EAX,0x8000
.text:0040d449 741c JZ LAB_0040d467
.text:0040d44b 3d00000100 CMP EAX,0x10000
.text:0040d450 7415 JZ LAB_0040d467
.text:0040d452 e8ad0e0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040d457 c70016000000 MOV dword ptr [EAX],0x16
.text:0040d45d e8c10d0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040d462 6a16 PUSH 0x16
.text:0040d464 58 POP EAX
.text:0040d465 5d POP EBP
.text:0040d466 c3 RET
LAB_0040d467: ;XREF[3,0]: 0040d442,0040d449,0040d450
.text:0040d467 b9f8424200 MOV ECX,.data:DAT_004242f8 ;= ??
.text:0040d46c 8701 XCHG dword ptr [ECX]=>.data:DAT_004242f8,EAX ;= ??
.text:0040d46e 33c0 XOR EAX,EAX
.text:0040d470 5d POP EBP
.text:0040d471 c3 RET
LAB_0040d472: ;XREF[1,0]: 0041cab8
.text:0040d472 ff1588b04100 CALL dword ptr [->KERNEL32.DLL::GetCommand...;= 00022582
.text:0040d478 a3583e4200 MOV [.data:DAT_00423e58],EAX ;= ??
.text:0040d47d ff158cb04100 CALL dword ptr [->KERNEL32.DLL::GetCommand...;= 00022594
.text:0040d483 a35c3e4200 MOV [.data:DAT_00423e5c],EAX ;= ??
.text:0040d488 b001 MOV AL,0x1
.text:0040d48a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined * FUN_0040d48b(void)
;XREF[1,0]: 004018d9
.text:0040d48b b84c3e4200 MOV EAX,.data:DAT_00423e4c ;= ??
.text:0040d490 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 * FUN_0040d491(void)
;XREF[1,0]: 004018d2
.text:0040d491 b8503e4200 MOV EAX,.data:DAT_00423e50 ;= ??
.text:0040d496 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 0040d4a3
;param_2 ;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 0040d4ae,0040d4db
;local_14 undefined4 -14 ;XREF[1,0]: 0040d4e7
;local_20 undefined4 -20 ;XREF[1,0]: 0040d4bc
;XREF[1,0]: 0040d530
.text:0040d497 6a0c PUSH 0xc
.text:0040d499 68181e4200 PUSH .rdata:DAT_00421e18 ;= FEh
.text:0040d49e e85d4affff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040d4a3 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040d4a6 ff30 PUSH dword ptr [EAX]
.text:0040d4a8 e8a60a0000 CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:0040d4ad 59 POP this
.text:0040d4ae 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040d4b2 bee0424200 MOV ESI,.data:DAT_004242e0 ;= ??
.text:0040d4b7 bf38314200 MOV EDI,.data:PTR_DAT_00423138 ;= 0041d860
LAB_0040d4bc: ;XREF[1,0]: 0040d4d9
; FWD[3,0]: Stack[-0x20],004242e0,004242e4
.text:0040d4bc 8975e4 MOV dword ptr [EBP +...,ESI=>.data:DAT_00...;= ??
.text:0040d4bf 81fee4424200 CMP ESI,.data:DAT_004242e4 ;= ??
.text:0040d4c5 7414 JZ LAB_0040d4db
.text:0040d4c7 393e CMP dword ptr [ESI]=>.data:DAT_004242e0,EDI ;= ??
.text:0040d4c9 740b JZ LAB_0040d4d6
.text:0040d4cb 57 PUSH EDI=>.data:PTR_DAT_00423138 ;= 0041d860
.text:0040d4cc 56 PUSH ESI=>.data:DAT_004242e0 ;= ??
.text:0040d4cd e8d8580000 CALL __updatetlocinfoEx_nolock ;undefined * * __updatetlocinfoEx_nol...
.text:0040d4d2 59 POP this
.text:0040d4d3 59 POP this
.text:0040d4d4 8906 MOV dword ptr [ESI]=>.data:DAT_004242e0,EAX ;= ??
LAB_0040d4d6: ;XREF[1,0]: 0040d4c9
.text:0040d4d6 83c604 ADD ESI,0x4
.text:0040d4d9 ebe1 JMP LAB_0040d4bc
LAB_0040d4db: ;XREF[1,0]: 0040d4c5
.text:0040d4db c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0040d4e2 e812000000 CALL FUN_0040d4f9 ;undefined FUN_0040d4f9(void)
.text:0040d4e7 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:0040d4ea 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:0040d4f1 59 POP this
.text:0040d4f2 5f POP EDI
.text:0040d4f3 5e POP ESI
.text:0040d4f4 5b POP EBX
.text:0040d4f5 c9 LEAVE
.text:0040d4f6 c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040d4f9(void)
;XREF[1,0]: 0040d4e2
.text:0040d4f9 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:0040d4fc ff30 PUSH dword ptr [EAX]
.text:0040d4fe e8980a0000 CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:0040d503 59 POP ECX
.text:0040d504 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040d505(void)
;XREF[1,0]: 00411a11
.text:0040d505 33c0 XOR EAX,EAX
.text:0040d507 b9603e4200 MOV ECX,.data:DAT_00423e60 ;= ??
.text:0040d50c 40 INC EAX
.text:0040d50d 8701 XCHG dword ptr [ECX]=>.data:DAT_00423e60,EAX ;= ??
.text:0040d50f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_uninitialize_locale *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_uninitialize_locale(void)
;local_5 undefined1 -5 ;XREF[2,0]: 0040d51e,0040d528
;local_c undefined4 -c ;XREF[2,0]: 0040d51b,0040d524
;local_10 undefined4 -10 ;XREF[2,0]: 0040d521,0040d52c
;XREF[1,0]: 0041b150
.text:0040d510 8bff MOV EDI,EDI
.text:0040d512 55 PUSH EBP
.text:0040d513 8bec MOV EBP,ESP
.text:0040d515 83ec0c SUB ESP,0xc
.text:0040d518 6a04 PUSH 0x4
.text:0040d51a 58 POP EAX
.text:0040d51b 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0040d51e 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:0040d521 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0040d524 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0040d527 50 PUSH EAX
.text:0040d528 8d45ff LEA EAX=>local_5,[EBP + -0x1]
.text:0040d52b 50 PUSH EAX
.text:0040d52c 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040d52f 50 PUSH EAX
.text:0040d530 e862ffffff CALL __crt_seh_guarded_call::operato... ;void operator() .text:0040d535 c9 LEAVE
.text:0040d536 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __configthreadlocale *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;int __configthreadlocale(int _Flag)
;_Flag int 4 ;XREF[1,0]: 0040d542
;XREF[1,0]: 004017a8
.text:0040d537 8bff MOV EDI,EDI
.text:0040d539 55 PUSH EBP
.text:0040d53a 8bec MOV EBP,ESP
.text:0040d53c 56 PUSH ESI
.text:0040d53d e8672f0000 CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:0040d542 8b5508 MOV EDX,dword ptr [EBP + _Flag+0x4]
.text:0040d545 8bf0 MOV ESI,EAX
.text:0040d547 6a00 PUSH 0x0
.text:0040d549 58 POP EAX
.text:0040d54a 8b8e50030000 MOV ECX,dword ptr [ESI + 0x350]
.text:0040d550 f6c102 TEST CL,0x2
.text:0040d553 0f94c0 SETZ AL
.text:0040d556 40 INC EAX
.text:0040d557 83faff CMP EDX,-0x1
.text:0040d55a 7433 JZ LAB_0040d58f
.text:0040d55c 85d2 TEST EDX,EDX
.text:0040d55e 7436 JZ LAB_0040d596
.text:0040d560 83fa01 CMP EDX,0x1
.text:0040d563 741f JZ LAB_0040d584
.text:0040d565 83fa02 CMP EDX,0x2
.text:0040d568 7415 JZ LAB_0040d57f
.text:0040d56a e8950d0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040d56f c70016000000 MOV dword ptr [EAX],0x16
.text:0040d575 e8a90c0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040d57a 83c8ff OR EAX,0xffffffff
.text:0040d57d eb17 JMP LAB_0040d596
LAB_0040d57f: ;XREF[1,0]: 0040d568
.text:0040d57f 83e1fd AND ECX,0xfffffffd
.text:0040d582 eb03 JMP LAB_0040d587
LAB_0040d584: ;XREF[1,0]: 0040d563
.text:0040d584 83c902 OR ECX,0x2
LAB_0040d587: ;XREF[1,0]: 0040d582
.text:0040d587 898e50030000 MOV dword ptr [ESI + 0x350],ECX
.text:0040d58d eb07 JMP LAB_0040d596
LAB_0040d58f: ;XREF[1,0]: 0040d55a
.text:0040d58f 830d78374... OR dword ptr [.data...,0xffffffff ;= FFFFFFFEh
LAB_0040d596: ;XREF[3,0]: 0040d55e,0040d57d,0040d58d
.text:0040d596 5e POP ESI
.text:0040d597 5d POP EBP
.text:0040d598 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040d599(void)
;XREF[3,0]: 0040e33b,0040ede6,00417c92
.text:0040d599 a1643e4200 MOV EAX,[.data:DAT_00423e64] ;= ??
.text:0040d59e 90 NOP
.text:0040d59f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __set_new_mode *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined4 __set_new_mode(int param_1)
;param_1 int 4 ;XREF[1,0]: 0040d5a5
.text:0040d5a0 8bff MOV EDI,EDI
.text:0040d5a2 55 PUSH EBP
.text:0040d5a3 8bec MOV EBP,ESP
.text:0040d5a5 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040d5a8 85c0 TEST EAX,EAX
.text:0040d5aa 741a JZ LAB_0040d5c6
.text:0040d5ac 83f801 CMP EAX,0x1
.text:0040d5af 7415 JZ LAB_0040d5c6
.text:0040d5b1 e84e0d0000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040d5b6 c70016000000 MOV dword ptr [EAX],0x16
.text:0040d5bc e8620c0000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040d5c1 83c8ff OR EAX,0xffffffff
.text:0040d5c4 5d POP EBP
.text:0040d5c5 c3 RET
LAB_0040d5c6: ;XREF[2,0]: 0040d5aa,0040d5af
.text:0040d5c6 b9643e4200 MOV ECX,.data:DAT_00423e64 ;= ??
.text:0040d5cb 8701 XCHG dword ptr [ECX]=>.data:DAT_00423e64,EAX ;= ??
.text:0040d5cd 5d POP EBP
.text:0040d5ce c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined * FUN_0040d5cf(void)
;XREF[1,0]: 00401742
.text:0040d5cf b8683e4200 MOV EAX,.data:DAT_00423e68 ;= ??
.text:0040d5d4 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: int __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 0040d5e5
;param_2 0040d5f4
;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 0040d5f0,0040d601
;local_14 undefined4 -14 ;XREF[1,0]: 0040d60f
;local_20 undefined4 -20 ;XREF[2,0]: 0040d5e1,0040d5fe
;XREF[1,0]: 0040d8ab
.text:0040d5d5 6a0c PUSH 0xc
.text:0040d5d7 68801e4200 PUSH .rdata:DAT_00421e80 ;= FEh
.text:0040d5dc e81f49ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040d5e1 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
.text:0040d5e5 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040d5e8 ff30 PUSH dword ptr [EAX]
.text:0040d5ea e864090000 CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:0040d5ef 59 POP this
.text:0040d5f0 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040d5f4 8b4d0c MOV this,dword ptr [EBP + param_2+0x4]
.text:0040d5f7 e891010000 CALL ;int operator()( .text:0040d5fc 8bf0 MOV ESI,EAX
.text:0040d5fe 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:0040d601 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0040d608 e817000000 CALL FUN_0040d624 ;undefined FUN_0040d624(void)
.text:0040d60d 8bc6 MOV EAX,ESI
.text:0040d60f 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:0040d612 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:0040d619 59 POP this
.text:0040d61a 5f POP EDI
.text:0040d61b 5e POP ESI
.text:0040d61c 5b POP EBX
.text:0040d61d c9 LEAVE
.text:0040d61e c20c00 RET 0xc
.text:0040d621 8b align align(1)
.text:0040d622 75 ?? 75h u
.text:0040d623 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040d624(void)
;XREF[1,0]: 0040d608
.text:0040d624 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:0040d627 ff30 PUSH dword ptr [EAX]
.text:0040d629 e86d090000 CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:0040d62e 59 POP ECX
.text:0040d62f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: int __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 0040d640
;param_2 0040d64f
;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 0040d64b,0040d65c
;local_14 undefined4 -14 ;XREF[1,0]: 0040d66a
;local_20 undefined4 -20 ;XREF[2,0]: 0040d63c,0040d659
;XREF[1,0]: 0040d910
.text:0040d630 6a0c PUSH 0xc
.text:0040d632 68601e4200 PUSH .rdata:DAT_00421e60 ;= FEh
.text:0040d637 e8c448ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040d63c 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
.text:0040d640 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040d643 ff30 PUSH dword ptr [EAX]
.text:0040d645 e809090000 CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:0040d64a 59 POP this
.text:0040d64b 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040d64f 8b4d0c MOV this,dword ptr [EBP + param_2+0x4]
.text:0040d652 e834000000 CALL FUN_0040d68b ;undefined4 FUN_0040d68b(int * * para...
.text:0040d657 8bf0 MOV ESI,EAX
.text:0040d659 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:0040d65c c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0040d663 e817000000 CALL FUN_0040d67f ;undefined FUN_0040d67f(void)
.text:0040d668 8bc6 MOV EAX,ESI
.text:0040d66a 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:0040d66d 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:0040d674 59 POP this
.text:0040d675 5f POP EDI
.text:0040d676 5e POP ESI
.text:0040d677 5b POP EBX
.text:0040d678 c9 LEAVE
.text:0040d679 c20c00 RET 0xc
.text:0040d67c 8b align align(1)
.text:0040d67d 75 ?? 75h u
.text:0040d67e e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040d67f(void)
;XREF[1,0]: 0040d663
.text:0040d67f 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:0040d682 ff30 PUSH dword ptr [EAX]
.text:0040d684 e812090000 CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:0040d689 59 POP ECX
.text:0040d68a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040d68b(int * * param_1)
;param_1 int * * ECX
;local_8 undefined4 -8 ;XREF[5,0]: 0040d6f1,0040d6f9,0040d711,0040d719,0040d72b
;local_c undefined4 -c ;XREF[3,0]: 0040d694,0040d743,0040d758
;XREF[1,0]: 0040d652
.text:0040d68b 8bff MOV EDI,EDI
.text:0040d68d 55 PUSH EBP
.text:0040d68e 8bec MOV EBP,ESP
.text:0040d690 51 PUSH param_1
.text:0040d691 51 PUSH param_1
.text:0040d692 8bc1 MOV EAX,param_1
.text:0040d694 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0040d697 53 PUSH EBX
.text:0040d698 56 PUSH ESI
.text:0040d699 8b00 MOV EAX,dword ptr [EAX]
.text:0040d69b 57 PUSH EDI
.text:0040d69c 8b30 MOV ESI,dword ptr [EAX]
.text:0040d69e 85f6 TEST ESI,ESI
.text:0040d6a0 0f84df000000 JZ LAB_0040d785
.text:0040d6a6 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0040d6ab 8bc8 MOV param_1,EAX
.text:0040d6ad 8b1e MOV EBX,dword ptr [ESI]
.text:0040d6af 83e11f AND param_1,0x1f
.text:0040d6b2 8b7e04 MOV EDI,dword ptr [ESI + 0x4]
.text:0040d6b5 33d8 XOR EBX,EAX
.text:0040d6b7 8b7608 MOV ESI,dword ptr [ESI + 0x8]
.text:0040d6ba 33f8 XOR EDI,EAX
.text:0040d6bc 33f0 XOR ESI,EAX
.text:0040d6be d3cf ROR EDI,param_1
.text:0040d6c0 d3ce ROR ESI,param_1
.text:0040d6c2 d3cb ROR EBX,param_1
.text:0040d6c4 3bfe CMP EDI,ESI
.text:0040d6c6 757b JNZ LAB_0040d743
.text:0040d6c8 2bf3 SUB ESI,EBX
.text:0040d6ca b800020000 MOV EAX,0x200
.text:0040d6cf c1fe02 SAR ESI,0x2
.text:0040d6d2 3bf0 CMP ESI,EAX
.text:0040d6d4 7702 JA LAB_0040d6d8
.text:0040d6d6 8bc6 MOV EAX,ESI
LAB_0040d6d8: ;XREF[1,0]: 0040d6d4
.text:0040d6d8 8d3c30 LEA EDI,[EAX + ESI*0x1]
.text:0040d6db 85ff TEST EDI,EDI
.text:0040d6dd 7503 JNZ LAB_0040d6e2
.text:0040d6df 6a20 PUSH 0x20
.text:0040d6e1 5f POP EDI
LAB_0040d6e2: ;XREF[1,0]: 0040d6dd
.text:0040d6e2 3bfe CMP EDI,ESI
.text:0040d6e4 721d JC LAB_0040d703
.text:0040d6e6 6a04 PUSH 0x4
.text:0040d6e8 57 PUSH EDI
.text:0040d6e9 53 PUSH EBX
.text:0040d6ea e80b570000 CALL __recalloc_base ;LPVOID __recalloc_base(void * param_...
.text:0040d6ef 6a00 PUSH 0x0
.text:0040d6f1 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040d6f4 e87b0c0000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d6f9 8b4dfc MOV param_1,dword ptr [EBP + local_8+0x4]
.text:0040d6fc 83c410 ADD ESP,0x10
.text:0040d6ff 85c9 TEST param_1,param_1
.text:0040d701 7520 JNZ LAB_0040d723
LAB_0040d703: ;XREF[1,0]: 0040d6e4
.text:0040d703 6a04 PUSH 0x4
.text:0040d705 8d7e04 LEA EDI,[ESI + 0x4]
.text:0040d708 57 PUSH EDI
.text:0040d709 53 PUSH EBX
.text:0040d70a e8eb560000 CALL __recalloc_base ;LPVOID __recalloc_base(void * param_...
.text:0040d70f 6a00 PUSH 0x0
.text:0040d711 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040d714 e85b0c0000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d719 8b4dfc MOV param_1,dword ptr [EBP + local_8+0x4]
.text:0040d71c 83c410 ADD ESP,0x10
.text:0040d71f 85c9 TEST param_1,param_1
.text:0040d721 7462 JZ LAB_0040d785
LAB_0040d723: ;XREF[1,0]: 0040d701
.text:0040d723 8d04b1 LEA EAX,[param_1 + ESI*0x4]
.text:0040d726 8bd9 MOV EBX,param_1
.text:0040d728 8d34b9 LEA ESI,[param_1 + EDI*0x4]
.text:0040d72b 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040d72e 8b0d14304200 MOV param_1,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040d734 8bf8 MOV EDI,EAX
.text:0040d736 3bfe CMP EDI,ESI
.text:0040d738 7409 JZ LAB_0040d743
LAB_0040d73a: ;XREF[1,0]: 0040d741
.text:0040d73a 8908 MOV dword ptr [EAX],param_1
.text:0040d73c 83c004 ADD EAX,0x4
.text:0040d73f 3bc6 CMP EAX,ESI
.text:0040d741 75f7 JNZ LAB_0040d73a
LAB_0040d743: ;XREF[2,0]: 0040d6c6,0040d738
.text:0040d743 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:0040d746 8b4004 MOV EAX,dword ptr [EAX + 0x4]
.text:0040d749 ff30 PUSH dword ptr [EAX]
.text:0040d74b e8886effff CALL __crt_fast_encode_pointer;_func_void_void_ptr_ulong_void_ptr *...
.text:0040d750 53 PUSH EBX
.text:0040d751 8907 MOV dword ptr [EDI],EAX
.text:0040d753 e8806effff CALL __crt_fast_encode_pointer;_func_void_void_ptr_ulong_void_ptr *...
.text:0040d758 8b5df8 MOV EBX,dword ptr [EBP + local_c+0x4]
.text:0040d75b 8b0b MOV param_1,dword ptr [EBX]
.text:0040d75d 8b09 MOV param_1,dword ptr [param_1]
.text:0040d75f 8901 MOV dword ptr [param_1],EAX
.text:0040d761 8d4704 LEA EAX,[EDI + 0x4]
.text:0040d764 50 PUSH EAX
.text:0040d765 e86e6effff CALL __crt_fast_encode_pointer;_func_void_void_ptr_ulong_void_ptr *...
.text:0040d76a 8b0b MOV param_1,dword ptr [EBX]
.text:0040d76c 56 PUSH ESI
.text:0040d76d 8b09 MOV param_1,dword ptr [param_1]
.text:0040d76f 894104 MOV dword ptr [param_1 + 0x4],EAX
.text:0040d772 e8616effff CALL __crt_fast_encode_pointer;_func_void_void_ptr_ulong_void_ptr *...
.text:0040d777 8b0b MOV param_1,dword ptr [EBX]
.text:0040d779 83c410 ADD ESP,0x10
.text:0040d77c 8b09 MOV param_1,dword ptr [param_1]
.text:0040d77e 894108 MOV dword ptr [param_1 + 0x8],EAX
.text:0040d781 33c0 XOR EAX,EAX
.text:0040d783 eb03 JMP LAB_0040d788
LAB_0040d785: ;XREF[2,0]: 0040d6a0,0040d721
.text:0040d785 83c8ff OR EAX,0xffffffff
LAB_0040d788: ;XREF[1,0]: 0040d783
.text:0040d788 5f POP EDI
.text:0040d789 5e POP ESI
.text:0040d78a 5b POP EBX
.text:0040d78b c9 LEAVE
.text:0040d78c c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: int __thiscall ::operator()(void)const *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int operator()( * this)
;this ;local_8 undefined4 -8 ;XREF[3,0]: 0040d7d6,0040d7e8,0040d7ef
;local_c undefined4 -c ;XREF[2,0]: 0040d7dc,0040d820
;local_10 undefined4 -10 ;XREF[3,0]: 0040d7d9,0040d82b,0040d835
;local_14 undefined4 -14 ;XREF[4,0]: 0040d7f8,0040d801,0040d823,0040d830
;local_18 undefined4 -18 ;XREF[2,0]: 0040d799,0040d826
;XREF[1,0]: 0040d5f7
.text:0040d78d 8bff MOV EDI,EDI
.text:0040d78f 55 PUSH EBP
.text:0040d790 8bec MOV EBP,ESP
.text:0040d792 83ec14 SUB ESP,0x14
.text:0040d795 53 PUSH EBX
.text:0040d796 8bd9 MOV EBX,this
.text:0040d798 57 PUSH EDI
.text:0040d799 895dec MOV dword ptr [EBP + local_18+0x4],EBX
.text:0040d79c 8b03 MOV EAX,dword ptr [EBX]
.text:0040d79e 8b38 MOV EDI,dword ptr [EAX]
.text:0040d7a0 85ff TEST EDI,EDI
.text:0040d7a2 7508 JNZ LAB_0040d7ac
.text:0040d7a4 83c8ff OR EAX,0xffffffff
.text:0040d7a7 e9b7000000 JMP LAB_0040d863
LAB_0040d7ac: ;XREF[1,0]: 0040d7a2
.text:0040d7ac 8b1514304200 MOV EDX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040d7b2 8bca MOV this,EDX
.text:0040d7b4 56 PUSH ESI
.text:0040d7b5 8b37 MOV ESI,dword ptr [EDI]
.text:0040d7b7 83e11f AND this,0x1f
.text:0040d7ba 8b7f04 MOV EDI,dword ptr [EDI + 0x4]
.text:0040d7bd 33f2 XOR ESI,EDX
.text:0040d7bf 33fa XOR EDI,EDX
.text:0040d7c1 d3ce ROR ESI,this
.text:0040d7c3 d3cf ROR EDI,this
.text:0040d7c5 85f6 TEST ESI,ESI
.text:0040d7c7 0f8493000000 JZ LAB_0040d860
.text:0040d7cd 83feff CMP ESI,-0x1
.text:0040d7d0 0f848a000000 JZ LAB_0040d860
.text:0040d7d6 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:0040d7d9 897df4 MOV dword ptr [EBP + local_10+0x4],EDI
LAB_0040d7dc: ;XREF[1,0]: 0040d838
.text:0040d7dc 8975f8 MOV dword ptr [EBP + local_c+0x4],ESI
LAB_0040d7df: ;XREF[2,0]: 0040d7eb,0040d82e
.text:0040d7df 83ef04 SUB EDI,0x4
.text:0040d7e2 3bfe CMP EDI,ESI
.text:0040d7e4 7254 JC LAB_0040d83a
.text:0040d7e6 8b07 MOV EAX,dword ptr [EDI]
.text:0040d7e8 3b45fc CMP EAX,dword ptr [EBP + local_8+0x4]
.text:0040d7eb 74f2 JZ LAB_0040d7df
.text:0040d7ed 33c2 XOR EAX,EDX
.text:0040d7ef 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
.text:0040d7f2 d3c8 ROR EAX,this
.text:0040d7f4 8bc8 MOV this,EAX
.text:0040d7f6 8917 MOV dword ptr [EDI],EDX
.text:0040d7f8 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:0040d7fb ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040d801 ff55f0 CALL dword ptr [EBP + local_14+0x4]
.text:0040d804 8b03 MOV EAX,dword ptr [EBX]
.text:0040d806 8b1514304200 MOV EDX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040d80c 8bca MOV this,EDX
.text:0040d80e 83e11f AND this,0x1f
.text:0040d811 8b00 MOV EAX,dword ptr [EAX]
.text:0040d813 8b18 MOV EBX,dword ptr [EAX]
.text:0040d815 8b4004 MOV EAX,dword ptr [EAX + 0x4]
.text:0040d818 33da XOR EBX,EDX
.text:0040d81a d3cb ROR EBX,this
.text:0040d81c 33c2 XOR EAX,EDX
.text:0040d81e d3c8 ROR EAX,this
.text:0040d820 3b5df8 CMP EBX,dword ptr [EBP + local_c+0x4]
.text:0040d823 895df0 MOV dword ptr [EBP + local_14+0x4],EBX
.text:0040d826 8b5dec MOV EBX,dword ptr [EBP + local_18+0x4]
.text:0040d829 7505 JNZ LAB_0040d830
.text:0040d82b 3b45f4 CMP EAX,dword ptr [EBP + local_10+0x4]
.text:0040d82e 74af JZ LAB_0040d7df
LAB_0040d830: ;XREF[1,0]: 0040d829
.text:0040d830 8b75f0 MOV ESI,dword ptr [EBP + local_14+0x4]
.text:0040d833 8bf8 MOV EDI,EAX
.text:0040d835 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0040d838 eba2 JMP LAB_0040d7dc
LAB_0040d83a: ;XREF[1,0]: 0040d7e4
.text:0040d83a 83feff CMP ESI,-0x1
.text:0040d83d 740d JZ LAB_0040d84c
.text:0040d83f 56 PUSH ESI
.text:0040d840 e82f0b0000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d845 8b1514304200 MOV EDX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040d84b 59 POP this
LAB_0040d84c: ;XREF[1,0]: 0040d83d
.text:0040d84c 8b03 MOV EAX,dword ptr [EBX]
.text:0040d84e 8b00 MOV EAX,dword ptr [EAX]
.text:0040d850 8910 MOV dword ptr [EAX],EDX
.text:0040d852 8b03 MOV EAX,dword ptr [EBX]
.text:0040d854 8b00 MOV EAX,dword ptr [EAX]
.text:0040d856 895004 MOV dword ptr [EAX + 0x4],EDX
.text:0040d859 8b03 MOV EAX,dword ptr [EBX]
.text:0040d85b 8b00 MOV EAX,dword ptr [EAX]
.text:0040d85d 895008 MOV dword ptr [EAX + 0x8],EDX
LAB_0040d860: ;XREF[2,0]: 0040d7c7,0040d7d0
.text:0040d860 33c0 XOR EAX,EAX
.text:0040d862 5e POP ESI
LAB_0040d863: ;XREF[1,0]: 0040d7a7
.text:0040d863 5f POP EDI
.text:0040d864 5b POP EBX
.text:0040d865 c9 LEAVE
.text:0040d866 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __crt_atexit *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined __crt_atexit(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 0040d86c
;XREF[1,0]: 00401b97
.text:0040d867 8bff MOV EDI,EDI
.text:0040d869 55 PUSH EBP
.text:0040d86a 8bec MOV EBP,ESP
.text:0040d86c ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040d86f 686c3e4200 PUSH .data:DAT_00423e6c ;= ??
.text:0040d874 e86b000000 CALL __register_onexit_function ;undefined __register_onexit_function...
.text:0040d879 59 POP ECX
.text:0040d87a 59 POP ECX
.text:0040d87b 5d POP EBP
.text:0040d87c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040d87d(void)
;local_8 undefined4 -8 ;XREF[1,0]: 0040d88f
;local_11 undefined1 -11 ;XREF[1,0]: 0040d893
;local_18 undefined4 -18 ;XREF[2,0]: 0040d899,0040d89f
;local_1c undefined4 -1c ;XREF[2,0]: 0040d88c,0040d8a3
;local_20 undefined4 -20 ;XREF[2,0]: 0040d89c,0040d8a7
;XREF[1,0]: 00404662
.text:0040d87d 6a10 PUSH 0x10
.text:0040d87f b897ad4100 MOV EAX,LAB_0041ad97
.text:0040d884 e84fcd0000 CALL __EH_prolog3 ;undefined __EH_prolog3(int param_1)
.text:0040d889 8d4508 LEA EAX=>Stack[0x4],[EBP + 0x8]
.text:0040d88c 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:0040d88f 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040d893 8d4df3 LEA ECX=>local_11,[EBP + -0xd]
.text:0040d896 6a02 PUSH 0x2
.text:0040d898 58 POP EAX
.text:0040d899 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0040d89c 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:0040d89f 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:0040d8a2 50 PUSH EAX
.text:0040d8a3 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:0040d8a6 50 PUSH EAX
.text:0040d8a7 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
.text:0040d8aa 50 PUSH EAX
.text:0040d8ab e825fdffff CALL __crt_seh_guarded_call::operator... ;int operator() .text:0040d8b0 e80fcd0000 CALL __EH_epilog3 ;undefined __EH_epilog3(void)
.text:0040d8b5 c3 RET
.text:0040d8b6 cccccccccc align align(5)
;************************************************************************************************
;* Library Function - Single Match *
;* __initialize_onexit_table *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 __initialize_onexit_table(int * param_1)
;param_1 int * 4 ;XREF[1,0]: 0040d8c0
;XREF[4,0]: 00401a57,00401a66,0040d929,0040d935
.text:0040d8bb 8bff MOV EDI,EDI
.text:0040d8bd 55 PUSH EBP
.text:0040d8be 8bec MOV EBP,ESP
.text:0040d8c0 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040d8c3 85c9 TEST ECX,ECX
.text:0040d8c5 7505 JNZ LAB_0040d8cc
.text:0040d8c7 83c8ff OR EAX,0xffffffff
.text:0040d8ca 5d POP EBP
.text:0040d8cb c3 RET
LAB_0040d8cc: ;XREF[1,0]: 0040d8c5
.text:0040d8cc 8b01 MOV EAX,dword ptr [ECX]
.text:0040d8ce 3b4108 CMP EAX,dword ptr [ECX + 0x8]
.text:0040d8d1 750d JNZ LAB_0040d8e0
.text:0040d8d3 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0040d8d8 8901 MOV dword ptr [ECX],EAX
.text:0040d8da 894104 MOV dword ptr [ECX + 0x4],EAX
.text:0040d8dd 894108 MOV dword ptr [ECX + 0x8],EAX
LAB_0040d8e0: ;XREF[1,0]: 0040d8d1
.text:0040d8e0 33c0 XOR EAX,EAX
.text:0040d8e2 5d POP EBP
.text:0040d8e3 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __register_onexit_function *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined __register_onexit_function(void)
;local_5 undefined1 -5 ;XREF[1,0]: 0040d8f2
;local_c undefined4 -c ;XREF[2,0]: 0040d8fe,0040d904
;local_10 undefined4 -10 ;XREF[2,0]: 0040d901,0040d90c
;local_14 undefined4 -14 ;XREF[1,0]: 0040d8fa
;local_18 undefined4 -18 ;XREF[2,0]: 0040d8ef,0040d908
;XREF[2,0]: 00401ba3,0040d874
.text:0040d8e4 8bff MOV EDI,EDI
.text:0040d8e6 55 PUSH EBP
.text:0040d8e7 8bec MOV EBP,ESP
.text:0040d8e9 83ec14 SUB ESP,0x14
.text:0040d8ec 8d4508 LEA EAX=>Stack[0x4],[EBP + 0x8]
.text:0040d8ef 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0040d8f2 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:0040d8f5 6a02 PUSH 0x2
.text:0040d8f7 8d450c LEA EAX=>Stack[0x8],[EBP + 0xc]
.text:0040d8fa 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:0040d8fd 58 POP EAX
.text:0040d8fe 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0040d901 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0040d904 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0040d907 50 PUSH EAX
.text:0040d908 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:0040d90b 50 PUSH EAX
.text:0040d90c 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040d90f 50 PUSH EAX
.text:0040d910 e81bfdffff CALL __crt_seh_guarded_call::operator... ;int operator() .text:0040d915 c9 LEAVE
.text:0040d916 c3 RET
LAB_0040d917: ;XREF[1,0]: 0041ca70
.text:0040d917 c705e0424... MOV dword ptr [.data...,.data:PTR_DAT_004...;= ??
;= 0041d860
.text:0040d921 b001 MOV AL,0x1
.text:0040d923 c3 RET
LAB_0040d924: ;XREF[1,0]: 0041cae8
.text:0040d924 686c3e4200 PUSH .data:DAT_00423e6c ;= ??
.text:0040d929 e88dffffff CALL __initialize_onexit_table ;undefined4 __initialize_onexit_table...
.text:0040d92e c70424783... MOV dword ptr [ESP],.data:DAT_00423e78 ;= ??
.text:0040d935 e881ffffff CALL __initialize_onexit_table ;undefined4 __initialize_onexit_table...
.text:0040d93a 59 POP ECX
.text:0040d93b b001 MOV AL,0x1
.text:0040d93d c3 RET
LAB_0040d93e: ;XREF[1,0]: 0041cae4
.text:0040d93e e82ffaffff CALL FUN_0040d372 ;undefined FUN_0040d372(void)
.text:0040d943 b001 MOV AL,0x1
.text:0040d945 c3 RET
.text:0040d946 8bff MOV EDI,EDI
.text:0040d948 56 PUSH ESI
.text:0040d949 8b3514304200 MOV ESI,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040d94f 56 PUSH ESI
.text:0040d950 e80b080000 CALL FUN_0040e160 ;undefined FUN_0040e160(undefined4 pa...
.text:0040d955 56 PUSH ESI
.text:0040d956 e8c0550000 CALL FUN_00412f1b ;undefined FUN_00412f1b(undefined4 pa...
.text:0040d95b 56 PUSH ESI
.text:0040d95c e845570000 CALL FUN_004130a6 ;undefined FUN_004130a6(undefined4 pa...
.text:0040d961 56 PUSH ESI
.text:0040d962 e851f4ffff CALL FUN_0040cdb8 ;undefined FUN_0040cdb8(undefined4 pa...
.text:0040d967 56 PUSH ESI
.text:0040d968 e8d56effff CALL FUN_00404842 ;undefined FUN_00404842(undefined4 pa...
.text:0040d96d 83c414 ADD ESP,0x14
.text:0040d970 b001 MOV AL,0x1
.text:0040d972 5e POP ESI
.text:0040d973 c3 RET
LAB_0040d974: ;XREF[1,0]: 0041caa4
.text:0040d974 6a00 PUSH 0x0
.text:0040d976 e8a24affff CALL ___vcrt_uninitialize ;undefined4 ___vcrt_uninitialize(char...
.text:0040d97b 59 POP ECX
.text:0040d97c c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* _uninitialize_allocated_memory *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined _uninitialize_allocated_memory(void)
;local_5 undefined1 -5 ;XREF[1,0]: 0040d988
;XREF[1,0]: 0041cadc
.text:0040d97d 8bff MOV EDI,EDI
.text:0040d97f 55 PUSH EBP
.text:0040d980 8bec MOV EBP,ESP
.text:0040d982 51 PUSH ECX
.text:0040d983 68ec424200 PUSH .data:DAT_004242ec ;= ??
.text:0040d988 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:0040d98b e854000000 CALL ;void operator()( .text:0040d990 b001 MOV AL,0x1
.text:0040d992 c9 LEAVE
.text:0040d993 c3 RET
.text:0040d994 8bff MOV EDI,EDI
.text:0040d996 56 PUSH ESI
.text:0040d997 ff35d8424200 PUSH dword ptr [.data:DAT_004242d8] ;= ??
.text:0040d99d e8d2090000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d9a2 ff35dc424200 PUSH dword ptr [.data:DAT_004242dc] ;= ??
.text:0040d9a8 33f6 XOR ESI,ESI
.text:0040d9aa 8935d8424200 MOV dword ptr [.data:DAT_004242d8],ESI ;= ??
.text:0040d9b0 e8bf090000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d9b5 ff35503e4200 PUSH dword ptr [.data:DAT_00423e50] ;= ??
.text:0040d9bb 8935dc424200 MOV dword ptr [.data:DAT_004242dc],ESI ;= ??
.text:0040d9c1 e8ae090000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d9c6 ff35543e4200 PUSH dword ptr [.data:DAT_00423e54] ;= ??
.text:0040d9cc 8935503e4200 MOV dword ptr [.data:DAT_00423e50],ESI ;= ??
.text:0040d9d2 e89d090000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040d9d7 83c410 ADD ESP,0x10
.text:0040d9da 8935543e4200 MOV dword ptr [.data:DAT_00423e54],ESI ;= ??
.text:0040d9e0 b001 MOV AL,0x1
.text:0040d9e2 5e POP ESI
.text:0040d9e3 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall ::operator()(struct __crt_m...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void operator()( * this, __crt_multibyte_data * * param_1)
;this ;param_1 __crt_multi... 4 ;XREF[1,0]: 0040d9ea
;XREF[1,0]: 0040d98b
.text:0040d9e4 8bff MOV EDI,EDI
.text:0040d9e6 55 PUSH EBP
.text:0040d9e7 8bec MOV EBP,ESP
.text:0040d9e9 56 PUSH ESI
.text:0040d9ea 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040d9ed 83c9ff OR this,0xffffffff
.text:0040d9f0 8b06 MOV EAX,dword ptr [ESI]
.text:0040d9f2 f00fc108 XADD.LOCK dword ptr [EAX],this
.text:0040d9f6 7515 JNZ LAB_0040da0d
.text:0040d9f8 57 PUSH EDI
.text:0040d9f9 bf00324200 MOV EDI,.data:DAT_00423200
.text:0040d9fe 393e CMP dword ptr [ESI],EDI
.text:0040da00 740a JZ LAB_0040da0c
.text:0040da02 ff36 PUSH dword ptr [ESI]
.text:0040da04 e86b090000 CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040da09 59 POP this
.text:0040da0a 893e MOV dword ptr [ESI],EDI=>.data:DAT_00423200
LAB_0040da0c: ;XREF[1,0]: 0040da00
.text:0040da0c 5f POP EDI
LAB_0040da0d: ;XREF[1,0]: 0040d9f6
.text:0040da0d 5e POP ESI
.text:0040da0e 5d POP EBP
.text:0040da0f c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_initialize *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_initialize(void)
;XREF[1,0]: 00401a11
.text:0040da12 68f0ca4100 PUSH .rdata:DAT_0041caf0 ;= 00000001h
.text:0040da17 6870ca4100 PUSH .rdata:PTR_LAB_0041ca70 ;= 0040d917
.text:0040da1c e861540000 CALL ___acrt_execute_initializers ;undefined4 ___acrt_execute_initializ...
.text:0040da21 59 POP ECX
.text:0040da22 59 POP ECX
.text:0040da23 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_uninitialize *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___acrt_uninitialize(char param_1)
;param_1 char 4 ;XREF[1,0]: 0040da29
;XREF[1,0]: 00401b75
.text:0040da24 8bff MOV EDI,EDI
.text:0040da26 55 PUSH EBP
.text:0040da27 8bec MOV EBP,ESP
.text:0040da29 807d0800 CMP byte ptr [EBP + param_1+0x4],0x0
.text:0040da2d 7412 JZ LAB_0040da41
.text:0040da2f 833d1c3d4... CMP dword ptr [.data:DAT_00423d1c],0x0 ;= ??
.text:0040da36 7405 JZ LAB_0040da3d
.text:0040da38 e859110000 CALL __flushall ;int __flushall(void)
LAB_0040da3d: ;XREF[1,0]: 0040da36
.text:0040da3d b001 MOV AL,0x1
.text:0040da3f 5d POP EBP
.text:0040da40 c3 RET
LAB_0040da41: ;XREF[1,0]: 0040da2d
.text:0040da41 68f0ca4100 PUSH .rdata:DAT_0041caf0 ;= 00000001h
.text:0040da46 6870ca4100 PUSH .rdata:PTR_LAB_0041ca70 ;= 0040d917
.text:0040da4b e89a540000 CALL ___acrt_execute_uninitializers ;undefined ___acrt_execute_uninitiali...
.text:0040da50 59 POP ECX
.text:0040da51 59 POP ECX
.text:0040da52 5d POP EBP
.text:0040da53 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __controlfp_s *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;errno_t __controlfp_s(uint * _CurrentState, uint _NewValue, uint _Mask)
;_CurrentState uint * 4 ;XREF[1,0]: 0040da68
;_NewValue uint 8 ;XREF[2,0]: 0040da5c,0040da97
;_Mask uint c ;XREF[1,0]: 0040da59
;XREF[5,0]: 00401c8a,004147dc,004148c4,004148d7
; 00415cf0
.text:0040da54 8bff MOV EDI,EDI
.text:0040da56 55 PUSH EBP
.text:0040da57 8bec MOV EBP,ESP
.text:0040da59 8b4d10 MOV ECX,dword ptr [EBP + _Mask+0x4]
.text:0040da5c 8b450c MOV EAX,dword ptr [EBP + _NewValue+0x4]
.text:0040da5f 81e1fffff7ff AND ECX,0xfff7ffff
.text:0040da65 23c1 AND EAX,ECX
.text:0040da67 56 PUSH ESI
.text:0040da68 8b7508 MOV ESI,dword ptr [EBP + _CurrentState+0x4]
.text:0040da6b a9e0fcf0fc TEST EAX,0xfcf0fce0
.text:0040da70 7424 JZ LAB_0040da96
.text:0040da72 85f6 TEST ESI,ESI
.text:0040da74 740d JZ LAB_0040da83
.text:0040da76 6a00 PUSH 0x0
.text:0040da78 6a00 PUSH 0x0
.text:0040da7a e8bc590000 CALL __control87 ;uint __control87(uint _NewValue, uin...
.text:0040da7f 59 POP ECX
.text:0040da80 59 POP ECX
.text:0040da81 8906 MOV dword ptr [ESI],EAX
LAB_0040da83: ;XREF[1,0]: 0040da74
.text:0040da83 e87c080000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040da88 6a16 PUSH 0x16
.text:0040da8a 5e POP ESI
.text:0040da8b 8930 MOV dword ptr [EAX],ESI
.text:0040da8d e891070000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040da92 8bc6 MOV EAX,ESI
.text:0040da94 eb1a JMP LAB_0040dab0
LAB_0040da96: ;XREF[1,0]: 0040da70
.text:0040da96 51 PUSH ECX
.text:0040da97 ff750c PUSH dword ptr [EBP + _NewValue+0x4]
.text:0040da9a 85f6 TEST ESI,ESI
.text:0040da9c 7409 JZ LAB_0040daa7
.text:0040da9e e898590000 CALL __control87 ;uint __control87(uint _NewValue, uin...
.text:0040daa3 8906 MOV dword ptr [ESI],EAX
.text:0040daa5 eb05 JMP LAB_0040daac
LAB_0040daa7: ;XREF[1,0]: 0040da9c
.text:0040daa7 e88f590000 CALL __control87 ;uint __control87(uint _NewValue, uin...
LAB_0040daac: ;XREF[1,0]: 0040daa5
.text:0040daac 59 POP ECX
.text:0040daad 59 POP ECX
.text:0040daae 33c0 XOR EAX,EAX
LAB_0040dab0: ;XREF[1,0]: 0040da94
.text:0040dab0 5e POP ESI
.text:0040dab1 5d POP EBP
.text:0040dab2 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* _terminate *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined _terminate(void)
;local_8 undefined4 -8 ;XREF[2,0]: 0040dacb,0040dae2
;XREF[7,0]: 00401e95,00402570,00402611,00402629
; 00403bb9,00404443,00404895
.text:0040dab3 6a08 PUSH 0x8
.text:0040dab5 68a01e4200 PUSH .rdata:DAT_00421ea0 ;= FEh
.text:0040daba e84144ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040dabf e8e5290000 CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:0040dac4 8b700c MOV ESI,dword ptr [EAX + 0xc]
.text:0040dac7 85f6 TEST ESI,ESI
.text:0040dac9 741e JZ LAB_0040dae9
.text:0040dacb 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040dacf 8bce MOV ECX,ESI
.text:0040dad1 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040dad7 ffd6 CALL ESI
.text:0040dad9 eb07 JMP LAB_0040dae2
.text:0040dadb 33 ?? 33h 3
.text:0040dadc c0 ?? C0h
.text:0040dadd 40 ?? 40h @
.text:0040dade c3 ?? C3h
.text:0040dadf 8b ?? 8Bh
.text:0040dae0 65 ?? 65h e
.text:0040dae1 e8 ?? E8h
LAB_0040dae2: ;XREF[1,0]: 0040dad9
.text:0040dae2 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
LAB_0040dae9: ;XREF[1,0]: 0040dac9
.text:0040dae9 e85b000000 CALL _abort ;void _abort(void)
.text:0040daee cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040daef(char * param_1, int param_2, int param_3)
;param_1 char * 4 ;XREF[1,0]: 0040daf4
;param_2 int 8 ;XREF[1,0]: 0040dafd
;param_3 int c ;XREF[1,0]: 0040db04
;XREF[8,0]: 004044a9,0040d224,0040f748,0040faa0
; 00412278,00412378,00414865,00414888
.text:0040daef 8bff MOV EDI,EDI
.text:0040daf1 55 PUSH EBP
.text:0040daf2 8bec MOV EBP,ESP
.text:0040daf4 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:0040daf7 56 PUSH ESI
.text:0040daf8 57 PUSH EDI
.text:0040daf9 85d2 TEST EDX,EDX
.text:0040dafb 7411 JZ LAB_0040db0e
.text:0040dafd 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040db00 85c9 TEST ECX,ECX
.text:0040db02 740a JZ LAB_0040db0e
.text:0040db04 8b7510 MOV ESI,dword ptr [EBP + param_3+0x4]
.text:0040db07 85f6 TEST ESI,ESI
.text:0040db09 7518 JNZ LAB_0040db23
.text:0040db0b c60200 MOV byte ptr [EDX],0x0
LAB_0040db0e: ;XREF[2,0]: 0040dafb,0040db02
.text:0040db0e e8f1070000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040db13 6a16 PUSH 0x16
LAB_0040db15: ;XREF[1,0]: 0040db43
.text:0040db15 5e POP ESI
.text:0040db16 8930 MOV dword ptr [EAX],ESI
.text:0040db18 e806070000 CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_0040db1d: ;XREF[1,0]: 0040db47
.text:0040db1d 5f POP EDI
.text:0040db1e 8bc6 MOV EAX,ESI
.text:0040db20 5e POP ESI
.text:0040db21 5d POP EBP
.text:0040db22 c3 RET
LAB_0040db23: ;XREF[1,0]: 0040db09
.text:0040db23 8bfa MOV EDI,EDX
.text:0040db25 2bf2 SUB ESI,EDX
LAB_0040db27: ;XREF[1,0]: 0040db34
.text:0040db27 8a043e MOV AL,byte ptr [ESI + EDI*0x1]
.text:0040db2a 8807 MOV byte ptr [EDI],AL
.text:0040db2c 47 INC EDI
.text:0040db2d 84c0 TEST AL,AL
.text:0040db2f 7414 JZ LAB_0040db45
.text:0040db31 83e901 SUB ECX,0x1
.text:0040db34 75f1 JNZ LAB_0040db27
.text:0040db36 85c9 TEST ECX,ECX
.text:0040db38 750b JNZ LAB_0040db45
.text:0040db3a 880a MOV byte ptr [EDX],CL
.text:0040db3c e8c3070000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040db41 6a22 PUSH 0x22
.text:0040db43 ebd0 JMP LAB_0040db15
LAB_0040db45: ;XREF[2,0]: 0040db2f,0040db38
.text:0040db45 33f6 XOR ESI,ESI
.text:0040db47 ebd4 JMP LAB_0040db1d
;************************************************************************************************
;* Library Function - Single Match *
;* _abort *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void _abort(void)
;XREF[16,0]: 0040294a,00402d5e,00402fd1,0040375c
; 00403c1a,00403d50,004041ae,004042fd
; 00404397,004058e6,0040dae9,0041055e
; 004105f4,00411b3d,0041239e,00412da4
.text:0040db49 e831550000 CALL ___acrt_get_sigabrt_handler ;undefined ___acrt_get_sigabrt_handle...
.text:0040db4e 85c0 TEST EAX,EAX
.text:0040db50 7408 JZ LAB_0040db5a
.text:0040db52 6a16 PUSH 0x16
.text:0040db54 e86b550000 CALL FUN_004130c4 ;undefined4 FUN_004130c4(int param_1)
.text:0040db59 59 POP ECX
LAB_0040db5a: ;XREF[1,0]: 0040db50
.text:0040db5a f605e8304... TEST byte ptr [.data:DAT_004230e8],0x2 ;= 02h
.text:0040db61 7422 JZ LAB_0040db85
.text:0040db63 6a17 PUSH 0x17 ;DWORD ProcessorFeature for IsProcess...
.text:0040db65 ff1524b04100 CALL dword ptr [->KERNEL32.DLL::IsProcesso...;= 000223b2
.text:0040db6b 85c0 TEST EAX,EAX
.text:0040db6d 7405 JZ LAB_0040db74
.text:0040db6f 6a07 PUSH 0x7
.text:0040db71 59 POP ECX
.text:0040db72 cd29 INT 0x29
LAB_0040db74: ;XREF[1,0]: 0040db6d
.text:0040db74 6a01 PUSH 0x1
.text:0040db76 6815000040 PUSH 0x40000015
.text:0040db7b 6a03 PUSH 0x3
.text:0040db7d e8a5040000 CALL ___acrt_call_reportfault ;undefined ___acrt_call_reportfault(i...
.text:0040db82 83c40c ADD ESP,0xc
LAB_0040db85: ;XREF[1,0]: 0040db61
.text:0040db85 6a03 PUSH 0x3
.text:0040db87 e8e36cffff CALL __exit ;undefined __exit(UINT param_1)
.text:0040db8c cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040db8d(uint param_1, uint param_2)
;param_1 uint 4
;param_2 uint 8
;XREF[1,0]: 0040299a
.text:0040db8d 8bff MOV EDI,EDI
.text:0040db8f 55 PUSH EBP
.text:0040db90 8bec MOV EBP,ESP
.text:0040db92 5d POP EBP
.text:0040db93 e97f070000 JMP __calloc_base ;LPVOID __calloc_base(uint param_1, u...
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ulonglong FUN_0040db98(__acrt_ptd * * param_1, byte * param_2, byte * * param_3, uint param_4, byte param_5)
;param_1 __acrt_ptd * * 4 ;XREF[4,0]: 0040dbc0,0040dc05,0040dc18,0040ddf5
;param_2 byte * 8 ;XREF[18,0]: 0040dba0,0040dbe9,0040dbf3,0040dc02,0040dc37
; 0040dc40,0040dc72,0040dc7b,0040dc80,0040dcc4
; 0040dcd9,0040dcf2,0040ddae,0040ddb7,0040ddc2
; 0040de1d,0040de2f,0040de52
;param_3 byte * * c ;XREF[4,0]: 0040dbde,0040ddd1,0040de12,0040de4b
;param_4 uint 10 ;XREF[2,0]: 0040dbaf,0040dc56
;param_5 byte 14 ;XREF[1,0]: 0040dc59
;local_8 undefined4 -8 ;XREF[6,0]: 0040dc5d,0040dc68,0040ddab,0040ddca,0040de03
; 0040de3e
;local_c undefined4 -c ;XREF[6,0]: 0040dc08,0040dc47,0040dc78,0040dcef,0040ddb4
; 0040ddbf
;local_10 undefined4 -10 ;XREF[8,0]: 0040dc1f,0040dc34,0040dcc1,0040dcd6,0040dd4d
; 0040dd64,0040dd74,0040dd9d
;local_14 undefined4 -14 ;XREF[7,0]: 0040dbf8,0040dd54,0040dd67,0040dd6c,0040dd91
; 0040dda8,0040dde3
;local_18 undefined4 -18 ;XREF[2,0]: 0040dd0c,0040dd59
;local_1c undefined4 -1c ;XREF[2,0]: 0040dd03,0040dd5c
;local_20 undefined4 -20 ;XREF[2,0]: 0040dd17,0040dd77
;local_24 undefined4 -24 ;XREF[2,0]: 0040dd14,0040dd7e
;local_28 undefined4 -28 ;XREF[2,0]: 0040dd6f,0040dd8a
;local_2c undefined4 -2c ;XREF[2,0]: 0040dbfc,0040ddd8
;XREF[1,0]: 00410944
.text:0040db98 8bff MOV EDI,EDI
.text:0040db9a 55 PUSH EBP
.text:0040db9b 8bec MOV EBP,ESP
.text:0040db9d 83ec28 SUB ESP,0x28
.text:0040dba0 8d4d0c LEA ECX=>param_2,[EBP + 0xc]
.text:0040dba3 53 PUSH EBX
.text:0040dba4 56 PUSH ESI
.text:0040dba5 57 PUSH EDI
.text:0040dba6 e89089ffff CALL FUN_0040653b ;undefined4 FUN_0040653b(int * param_1)
.text:0040dbab 84c0 TEST AL,AL
.text:0040dbad 742f JZ LAB_0040dbde
.text:0040dbaf 8b7514 MOV ESI,dword ptr [EBP + param_4+0x4]
.text:0040dbb2 85f6 TEST ESI,ESI
.text:0040dbb4 743d JZ LAB_0040dbf3
.text:0040dbb6 83fe02 CMP ESI,0x2
.text:0040dbb9 7c05 JL LAB_0040dbc0
.text:0040dbbb 83fe24 CMP ESI,0x24
.text:0040dbbe 7e33 JLE LAB_0040dbf3
LAB_0040dbc0: ;XREF[1,0]: 0040dbb9
.text:0040dbc0 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040dbc3 50 PUSH EAX
.text:0040dbc4 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:0040dbc8 c74018160... MOV dword ptr [EAX + 0x18],0x16
.text:0040dbcf 33c0 XOR EAX,EAX
.text:0040dbd1 50 PUSH EAX
.text:0040dbd2 50 PUSH EAX
.text:0040dbd3 50 PUSH EAX
.text:0040dbd4 50 PUSH EAX
.text:0040dbd5 50 PUSH EAX
.text:0040dbd6 e8cb050000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:0040dbdb 83c418 ADD ESP,0x18
LAB_0040dbde: ;XREF[1,0]: 0040dbad
.text:0040dbde 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:0040dbe1 85c9 TEST ECX,ECX
.text:0040dbe3 0f84f4010000 JZ LAB_0040dddd
.text:0040dbe9 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040dbec 8901 MOV dword ptr [ECX],EAX
.text:0040dbee e9ea010000 JMP LAB_0040dddd
LAB_0040dbf3: ;XREF[2,0]: 0040dbb4,0040dbbe
.text:0040dbf3 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040dbf6 33ff XOR EDI,EDI
.text:0040dbf8 8365f000 AND dword ptr [EBP + local_14+0x4],0x0
.text:0040dbfc 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:0040dbff 8a18 MOV BL,byte ptr [EAX]
.text:0040dc01 40 INC EAX
.text:0040dc02 89450c MOV dword ptr [EBP + param_2+0x4],EAX
.text:0040dc05 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040dc08 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:0040dc0b 80781400 CMP byte ptr [EAX + 0x14],0x0
.text:0040dc0f 750a JNZ LAB_0040dc1b
.text:0040dc11 8bc8 MOV ECX,EAX
.text:0040dc13 e8c888ffff CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
.text:0040dc18 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
LAB_0040dc1b: ;XREF[1,0]: 0040dc0f
.text:0040dc1b 83c00c ADD EAX,0xc
.text:0040dc1e 50 PUSH EAX
.text:0040dc1f 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0040dc22 0fb6c3 MOVZX EAX,BL
.text:0040dc25 6a08 PUSH 0x8
.text:0040dc27 50 PUSH EAX
.text:0040dc28 e8a0edffff CALL FUN_0040c9cd ;uint FUN_0040c9cd(int param_1, uint ...
.text:0040dc2d 83c40c ADD ESP,0xc
.text:0040dc30 85c0 TEST EAX,EAX
.text:0040dc32 7425 JZ LAB_0040dc59
.text:0040dc34 8b75f4 MOV ESI,dword ptr [EBP + local_10+0x4]
LAB_0040dc37: ;XREF[1,0]: 0040dc54
.text:0040dc37 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040dc3a 56 PUSH ESI
.text:0040dc3b 6a08 PUSH 0x8
.text:0040dc3d 8a18 MOV BL,byte ptr [EAX]
.text:0040dc3f 40 INC EAX
.text:0040dc40 89450c MOV dword ptr [EBP + param_2+0x4],EAX
.text:0040dc43 0fb6c3 MOVZX EAX,BL
.text:0040dc46 50 PUSH EAX
.text:0040dc47 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:0040dc4a e87eedffff CALL FUN_0040c9cd ;uint FUN_0040c9cd(int param_1, uint ...
.text:0040dc4f 83c40c ADD ESP,0xc
.text:0040dc52 85c0 TEST EAX,EAX
.text:0040dc54 75e1 JNZ LAB_0040dc37
.text:0040dc56 8b7514 MOV ESI,dword ptr [EBP + param_4+0x4]
LAB_0040dc59: ;XREF[1,0]: 0040dc32
.text:0040dc59 0fb64518 MOVZX EAX,byte ptr [EBP + param_5+0x4]
.text:0040dc5d 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040dc60 80fb2d CMP BL,0x2d
.text:0040dc63 7508 JNZ LAB_0040dc6d
.text:0040dc65 83c802 OR EAX,0x2
.text:0040dc68 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040dc6b eb05 JMP LAB_0040dc72
LAB_0040dc6d: ;XREF[1,0]: 0040dc63
.text:0040dc6d 80fb2b CMP BL,0x2b
.text:0040dc70 750e JNZ LAB_0040dc80
LAB_0040dc72: ;XREF[1,0]: 0040dc6b
.text:0040dc72 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040dc75 8a19 MOV BL,byte ptr [ECX]
.text:0040dc77 41 INC ECX
.text:0040dc78 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:0040dc7b 894d0c MOV dword ptr [EBP + param_2+0x4],ECX
.text:0040dc7e eb03 JMP LAB_0040dc83
LAB_0040dc80: ;XREF[1,0]: 0040dc70
.text:0040dc80 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
LAB_0040dc83: ;XREF[1,0]: 0040dc7e
.text:0040dc83 85f6 TEST ESI,ESI
.text:0040dc85 7405 JZ LAB_0040dc8c
.text:0040dc87 83fe10 CMP ESI,0x10
.text:0040dc8a 7572 JNZ LAB_0040dcfe
LAB_0040dc8c: ;XREF[1,0]: 0040dc85
.text:0040dc8c 8ac3 MOV AL,BL
.text:0040dc8e 2c30 SUB AL,0x30
.text:0040dc90 3c09 CMP AL,0x9
.text:0040dc92 7708 JA LAB_0040dc9c
.text:0040dc94 0fbec3 MOVSX EAX,BL
.text:0040dc97 83c0d0 ADD EAX,-0x30
.text:0040dc9a eb1e JMP LAB_0040dcba
LAB_0040dc9c: ;XREF[1,0]: 0040dc92
.text:0040dc9c 8ac3 MOV AL,BL
.text:0040dc9e 2c61 SUB AL,0x61
.text:0040dca0 3c19 CMP AL,0x19
.text:0040dca2 7708 JA LAB_0040dcac
.text:0040dca4 0fbec3 MOVSX EAX,BL
.text:0040dca7 83c0a9 ADD EAX,-0x57
.text:0040dcaa eb0e JMP LAB_0040dcba
LAB_0040dcac: ;XREF[1,0]: 0040dca2
.text:0040dcac 8ac3 MOV AL,BL
.text:0040dcae 2c41 SUB AL,0x41
.text:0040dcb0 3c19 CMP AL,0x19
.text:0040dcb2 7743 JA LAB_0040dcf7
.text:0040dcb4 0fbec3 MOVSX EAX,BL
.text:0040dcb7 83c0c9 ADD EAX,-0x37
LAB_0040dcba: ;XREF[2,0]: 0040dc9a,0040dcaa
.text:0040dcba 85c0 TEST EAX,EAX
.text:0040dcbc 7539 JNZ LAB_0040dcf7
.text:0040dcbe 8a01 MOV AL,byte ptr [ECX]
.text:0040dcc0 41 INC ECX
.text:0040dcc1 8845f4 MOV byte ptr [EBP + local_10+0x4],AL
.text:0040dcc4 894d0c MOV dword ptr [EBP + param_2+0x4],ECX
.text:0040dcc7 3c78 CMP AL,0x78
.text:0040dcc9 7418 JZ LAB_0040dce3
.text:0040dccb 3c58 CMP AL,0x58
.text:0040dccd 7414 JZ LAB_0040dce3
.text:0040dccf 85f6 TEST ESI,ESI
.text:0040dcd1 7503 JNZ LAB_0040dcd6
.text:0040dcd3 6a08 PUSH 0x8
.text:0040dcd5 5e POP ESI
LAB_0040dcd6: ;XREF[1,0]: 0040dcd1
.text:0040dcd6 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:0040dcd9 8d4d0c LEA ECX=>param_2,[EBP + 0xc]
.text:0040dcdc e8d587ffff CALL __crt_strtox::c_string_character_sour...;void unget(c_string_character_source...
.text:0040dce1 eb1b JMP LAB_0040dcfe
LAB_0040dce3: ;XREF[2,0]: 0040dcc9,0040dccd
.text:0040dce3 85f6 TEST ESI,ESI
.text:0040dce5 7503 JNZ LAB_0040dcea
.text:0040dce7 6a10 PUSH 0x10
.text:0040dce9 5e POP ESI
LAB_0040dcea: ;XREF[1,0]: 0040dce5
.text:0040dcea 8a19 MOV BL,byte ptr [ECX]
.text:0040dcec 8d4101 LEA EAX,[ECX + 0x1]
.text:0040dcef 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:0040dcf2 89450c MOV dword ptr [EBP + param_2+0x4],EAX
.text:0040dcf5 eb07 JMP LAB_0040dcfe
LAB_0040dcf7: ;XREF[2,0]: 0040dcb2,0040dcbc
.text:0040dcf7 85f6 TEST ESI,ESI
.text:0040dcf9 7503 JNZ LAB_0040dcfe
.text:0040dcfb 6a0a PUSH 0xa
.text:0040dcfd 5e POP ESI
LAB_0040dcfe: ;XREF[4,0]: 0040dc8a,0040dce1,0040dcf5,0040dcf9
.text:0040dcfe 8bc6 MOV EAX,ESI
.text:0040dd00 99 CDQ
.text:0040dd01 8bca MOV ECX,EDX
.text:0040dd03 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:0040dd06 51 PUSH ECX
.text:0040dd07 50 PUSH EAX
.text:0040dd08 6aff PUSH -0x1
.text:0040dd0a 6aff PUSH -0x1
.text:0040dd0c 894dec MOV dword ptr [EBP + local_18+0x4],ECX
.text:0040dd0f e84cc90000 CALL __aulldiv ;undefined8 __aulldiv(uint param_1, u...
.text:0040dd14 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:0040dd17 8955e4 MOV dword ptr [EBP + local_20+0x4],EDX
LAB_0040dd1a: ;XREF[1,0]: 0040ddba
.text:0040dd1a 8ac3 MOV AL,BL
.text:0040dd1c 2c30 SUB AL,0x30
.text:0040dd1e 3c09 CMP AL,0x9
.text:0040dd20 7708 JA LAB_0040dd2a
.text:0040dd22 0fbec3 MOVSX EAX,BL
.text:0040dd25 83c0d0 ADD EAX,-0x30
.text:0040dd28 eb23 JMP LAB_0040dd4d
LAB_0040dd2a: ;XREF[1,0]: 0040dd20
.text:0040dd2a 8ac3 MOV AL,BL
.text:0040dd2c 2c61 SUB AL,0x61
.text:0040dd2e 3c19 CMP AL,0x19
.text:0040dd30 7708 JA LAB_0040dd3a
.text:0040dd32 0fbec3 MOVSX EAX,BL
.text:0040dd35 83c0a9 ADD EAX,-0x57
.text:0040dd38 eb13 JMP LAB_0040dd4d
LAB_0040dd3a: ;XREF[1,0]: 0040dd30
.text:0040dd3a 8ac3 MOV AL,BL
.text:0040dd3c 2c41 SUB AL,0x41
.text:0040dd3e 3c19 CMP AL,0x19
.text:0040dd40 7708 JA LAB_0040dd4a
.text:0040dd42 0fbec3 MOVSX EAX,BL
.text:0040dd45 83c0c9 ADD EAX,-0x37
.text:0040dd48 eb03 JMP LAB_0040dd4d
LAB_0040dd4a: ;XREF[1,0]: 0040dd40
.text:0040dd4a 83c8ff OR EAX,0xffffffff
LAB_0040dd4d: ;XREF[3,0]: 0040dd28,0040dd38,0040dd48
.text:0040dd4d 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0040dd50 3bc6 CMP EAX,ESI
.text:0040dd52 736b JNC LAB_0040ddbf
.text:0040dd54 8b5df0 MOV EBX,dword ptr [EBP + local_14+0x4]
.text:0040dd57 57 PUSH EDI
.text:0040dd58 53 PUSH EBX
.text:0040dd59 ff75ec PUSH dword ptr [EBP + local_18+0x4]
.text:0040dd5c ff75e8 PUSH dword ptr [EBP + local_1c+0x4]
.text:0040dd5f e8ecc90000 CALL __allmul ;longlong __allmul(uint param_1, uint...
.text:0040dd64 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:0040dd67 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:0040dd6a 33c0 XOR EAX,EAX
.text:0040dd6c 034df0 ADD ECX,dword ptr [EBP + local_14+0x4]
.text:0040dd6f 8955dc MOV dword ptr [EBP + local_28+0x4],EDX
.text:0040dd72 13c2 ADC EAX,EDX
.text:0040dd74 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0040dd77 3b7de4 CMP EDI,dword ptr [EBP + local_20+0x4]
.text:0040dd7a 720c JC LAB_0040dd88
.text:0040dd7c 7705 JA LAB_0040dd83
.text:0040dd7e 3b5de0 CMP EBX,dword ptr [EBP + local_24+0x4]
.text:0040dd81 7605 JBE LAB_0040dd88
LAB_0040dd83: ;XREF[1,0]: 0040dd7c
.text:0040dd83 33d2 XOR EDX,EDX
.text:0040dd85 42 INC EDX
.text:0040dd86 eb02 JMP LAB_0040dd8a
LAB_0040dd88: ;XREF[2,0]: 0040dd7a,0040dd81
.text:0040dd88 33d2 XOR EDX,EDX
LAB_0040dd8a: ;XREF[1,0]: 0040dd86
.text:0040dd8a 3b45dc CMP EAX,dword ptr [EBP + local_28+0x4]
.text:0040dd8d 770c JA LAB_0040dd9b
.text:0040dd8f 7205 JC LAB_0040dd96
.text:0040dd91 3b4df0 CMP ECX,dword ptr [EBP + local_14+0x4]
.text:0040dd94 7305 JNC LAB_0040dd9b
LAB_0040dd96: ;XREF[1,0]: 0040dd8f
.text:0040dd96 33c0 XOR EAX,EAX
.text:0040dd98 40 INC EAX
.text:0040dd99 eb02 JMP LAB_0040dd9d
LAB_0040dd9b: ;XREF[2,0]: 0040dd8d,0040dd94
.text:0040dd9b 33c0 XOR EAX,EAX
LAB_0040dd9d: ;XREF[1,0]: 0040dd99
.text:0040dd9d 8b7df4 MOV EDI,dword ptr [EBP + local_10+0x4]
.text:0040dda0 0bc2 OR EAX,EDX
.text:0040dda2 c1e002 SHL EAX,0x2
.text:0040dda5 83c808 OR EAX,0x8
.text:0040dda8 894df0 MOV dword ptr [EBP + local_14+0x4],ECX
.text:0040ddab 0945fc OR dword ptr [EBP + local_8+0x4],EAX
.text:0040ddae 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040ddb1 8a18 MOV BL,byte ptr [EAX]
.text:0040ddb3 40 INC EAX
.text:0040ddb4 885df8 MOV byte ptr [EBP + local_c+0x4],BL
.text:0040ddb7 89450c MOV dword ptr [EBP + param_2+0x4],EAX
.text:0040ddba e95bffffff JMP LAB_0040dd1a
LAB_0040ddbf: ;XREF[1,0]: 0040dd52
.text:0040ddbf ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:0040ddc2 8d4d0c LEA ECX=>param_2,[EBP + 0xc]
.text:0040ddc5 e8ec86ffff CALL __crt_strtox::c_string_character_sour...;void unget(c_string_character_source...
.text:0040ddca 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:0040ddcd a808 TEST AL,0x8
.text:0040ddcf 7512 JNZ LAB_0040dde3
.text:0040ddd1 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0040ddd4 85c0 TEST EAX,EAX
.text:0040ddd6 7405 JZ LAB_0040dddd
.text:0040ddd8 8b4dd8 MOV ECX,dword ptr [EBP + local_2c+0x4]
.text:0040dddb 8908 MOV dword ptr [EAX],ECX
LAB_0040dddd: ;XREF[3,0]: 0040dbe3,0040dbee,0040ddd6
.text:0040dddd 33c0 XOR EAX,EAX
.text:0040dddf 33d2 XOR EDX,EDX
.text:0040dde1 eb78 JMP LAB_0040de5b
LAB_0040dde3: ;XREF[1,0]: 0040ddcf
.text:0040dde3 8b5df0 MOV EBX,dword ptr [EBP + local_14+0x4]
.text:0040dde6 57 PUSH EDI
.text:0040dde7 53 PUSH EBX
.text:0040dde8 50 PUSH EAX
.text:0040dde9 e8f78cffff CALL FUN_00406ae5 ;undefined FUN_00406ae5(byte param_1,...
.text:0040ddee 83c40c ADD ESP,0xc
.text:0040ddf1 84c0 TEST AL,AL
.text:0040ddf3 7449 JZ LAB_0040de3e
.text:0040ddf5 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040ddf8 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:0040ddfc c74018220... MOV dword ptr [EAX + 0x18],0x22
.text:0040de03 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:0040de06 a801 TEST AL,0x1
.text:0040de08 7508 JNZ LAB_0040de12
.text:0040de0a 83cbff OR EBX,0xffffffff
.text:0040de0d 83cfff OR EDI,0xffffffff
.text:0040de10 eb39 JMP LAB_0040de4b
LAB_0040de12: ;XREF[1,0]: 0040de08
.text:0040de12 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:0040de15 a802 TEST AL,0x2
.text:0040de17 7412 JZ LAB_0040de2b
.text:0040de19 85c9 TEST ECX,ECX
.text:0040de1b 7405 JZ LAB_0040de22
.text:0040de1d 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040de20 8901 MOV dword ptr [ECX],EAX
LAB_0040de22: ;XREF[1,0]: 0040de1b
.text:0040de22 33c0 XOR EAX,EAX
.text:0040de24 ba00000080 MOV EDX,0x80000000
.text:0040de29 eb30 JMP LAB_0040de5b
LAB_0040de2b: ;XREF[1,0]: 0040de17
.text:0040de2b 85c9 TEST ECX,ECX
.text:0040de2d 7405 JZ LAB_0040de34
.text:0040de2f 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040de32 8901 MOV dword ptr [ECX],EAX
LAB_0040de34: ;XREF[1,0]: 0040de2d
.text:0040de34 83c8ff OR EAX,0xffffffff
.text:0040de37 baffffff7f MOV EDX,0x7fffffff
.text:0040de3c eb1d JMP LAB_0040de5b
LAB_0040de3e: ;XREF[1,0]: 0040ddf3
.text:0040de3e f645fc02 TEST byte ptr [EBP + local_8+0x4],0x2
.text:0040de42 7407 JZ LAB_0040de4b
.text:0040de44 f7db NEG EBX
.text:0040de46 83d700 ADC EDI,0x0
.text:0040de49 f7df NEG EDI
LAB_0040de4b: ;XREF[2,0]: 0040de10,0040de42
.text:0040de4b 8b7510 MOV ESI,dword ptr [EBP + param_3+0x4]
.text:0040de4e 85f6 TEST ESI,ESI
.text:0040de50 7405 JZ LAB_0040de57
.text:0040de52 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040de55 890e MOV dword ptr [ESI],ECX
LAB_0040de57: ;XREF[1,0]: 0040de50
.text:0040de57 8bc3 MOV EAX,EBX
.text:0040de59 8bd7 MOV EDX,EDI
LAB_0040de5b: ;XREF[3,0]: 0040dde1,0040de29,0040de3c
.text:0040de5b 5f POP EDI
.text:0040de5c 5e POP ESI
.text:0040de5d 5b POP EBX
.text:0040de5e c9 LEAVE
.text:0040de5f c3 RET
.text:0040de60 53 ?? 53h S
.text:0040de61 56 ?? 56h V
.text:0040de62 8b ?? 8Bh
.text:0040de63 4c ?? 4Ch L
.text:0040de64 24 ?? 24h $
.text:0040de65 0c ?? 0Ch
.text:0040de66 8b ?? 8Bh
.text:0040de67 54 ?? 54h T
.text:0040de68 24 ?? 24h $
.text:0040de69 10 ?? 10h
.text:0040de6a 8b ?? 8Bh
.text:0040de6b 5c ?? 5Ch \
.text:0040de6c 24 ?? 24h $
.text:0040de6d 14 ?? 14h
.text:0040de6e f7 ?? F7h
.text:0040de6f c3 ?? C3h
.text:0040de70 ff ?? FFh
.text:0040de71 ff ?? FFh
.text:0040de72 ff ?? FFh
.text:0040de73 ff ?? FFh
.text:0040de74 74 ?? 74h t
.text:0040de75 50 ?? 50h P
.text:0040de76 2b ?? 2Bh +
.text:0040de77 ca ?? CAh
.text:0040de78 f7 ?? F7h
.text:0040de79 c2 ?? C2h
.text:0040de7a 03 ?? 03h
.text:0040de7b 00 ?? 00h
.text:0040de7c 00 ?? 00h
.text:0040de7d 00 ?? 00h
.text:0040de7e 74 ?? 74h t
.text:0040de7f 17 ?? 17h
.text:0040de80 0f ?? 0Fh
.text:0040de81 b6 ?? B6h
.text:0040de82 04 ?? 04h
.text:0040de83 11 ?? 11h
.text:0040de84 3a ?? 3Ah :
.text:0040de85 02 ?? 02h
.text:0040de86 75 ?? 75h u
.text:0040de87 48 ?? 48h H
.text:0040de88 85 ?? 85h
.text:0040de89 c0 ?? C0h
.text:0040de8a 74 ?? 74h t
.text:0040de8b 3a ?? 3Ah :
.text:0040de8c 42 ?? 42h B
.text:0040de8d 83 ?? 83h
.text:0040de8e eb ?? EBh
.text:0040de8f 01 ?? 01h
.text:0040de90 76 ?? 76h v
.text:0040de91 34 ?? 34h 4
.text:0040de92 f6 ?? F6h
.text:0040de93 c2 ?? C2h
.text:0040de94 03 ?? 03h
.text:0040de95 75 ?? 75h u
.text:0040de96 e9 ?? E9h
.text:0040de97 8d ?? 8Dh
.text:0040de98 04 ?? 04h
.text:0040de99 11 ?? 11h
.text:0040de9a 25 ?? 25h %
.text:0040de9b ff ?? FFh
.text:0040de9c 0f ?? 0Fh
.text:0040de9d 00 ?? 00h
.text:0040de9e 00 ?? 00h
.text:0040de9f 3d ?? 3Dh =
.text:0040dea0 fc ?? FCh
.text:0040dea1 0f ?? 0Fh
.text:0040dea2 00 ?? 00h
.text:0040dea3 00 ?? 00h
.text:0040dea4 77 ?? 77h w
.text:0040dea5 da ?? DAh
.text:0040dea6 8b ?? 8Bh
.text:0040dea7 04 ?? 04h
.text:0040dea8 11 ?? 11h
.text:0040dea9 3b ?? 3Bh ;
.text:0040deaa 02 ?? 02h
.text:0040deab 75 ?? 75h u
.text:0040deac d3 ?? D3h
.text:0040dead 83 ?? 83h
.text:0040deae eb ?? EBh
.text:0040deaf 04 ?? 04h
.text:0040deb0 76 ?? 76h v
.text:0040deb1 14 ?? 14h
.text:0040deb2 8d ?? 8Dh
.text:0040deb3 b0 ?? B0h
.text:0040deb4 ff ?? FFh
.text:0040deb5 fe ?? FEh
.text:0040deb6 fe ?? FEh
.text:0040deb7 fe ?? FEh
.text:0040deb8 83 ?? 83h
.text:0040deb9 c2 ?? C2h
.text:0040deba 04 ?? 04h
.text:0040debb f7 ?? F7h
.text:0040debc d0 ?? D0h
.text:0040debd 23 ?? 23h #
.text:0040debe c6 ?? C6h
.text:0040debf a9 ?? A9h
.text:0040dec0 80 ?? 80h
.text:0040dec1 80 ?? 80h
.text:0040dec2 80 ?? 80h
.text:0040dec3 80 ?? 80h
.text:0040dec4 74 ?? 74h t
.text:0040dec5 d1 ?? D1h
.text:0040dec6 33 ?? 33h 3
.text:0040dec7 c0 ?? C0h
.text:0040dec8 5e ?? 5Eh ^
.text:0040dec9 5b ?? 5Bh [
.text:0040deca c3 ?? C3h
.text:0040decb eb ?? EBh
.text:0040decc 03 ?? 03h
.text:0040decd cc ?? CCh
.text:0040dece cc ?? CCh
.text:0040decf cc ?? CCh
.text:0040ded0 1b ?? 1Bh
.text:0040ded1 c0 ?? C0h
.text:0040ded2 83 ?? 83h
.text:0040ded3 c8 ?? C8h
.text:0040ded4 01 ?? 01h
.text:0040ded5 5e ?? 5Eh ^
.text:0040ded6 5b ?? 5Bh [
.text:0040ded7 c3 ?? C3h
;************************************************************************************************
;* Library Function - Single Match *
;* _wcsncmp *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int _wcsncmp(wchar_t * _Str1, wchar_t * _Str2, size_t _MaxCount)
;_Str1 wchar_t * 4 ;XREF[1,0]: 0040dee9
;_Str2 wchar_t * 8 ;XREF[1,0]: 0040dee6
;_MaxCount size_t c ;XREF[1,0]: 0040dedd
;XREF[3,0]: 00402b9f,0040e473,0040e487
.text:0040ded8 8bff MOV EDI,EDI
.text:0040deda 55 PUSH EBP
.text:0040dedb 8bec MOV EBP,ESP
.text:0040dedd 8b4510 MOV EAX,dword ptr [EBP + _MaxCount+0x4]
.text:0040dee0 85c0 TEST EAX,EAX
.text:0040dee2 7502 JNZ LAB_0040dee6
.text:0040dee4 5d POP EBP
.text:0040dee5 c3 RET
LAB_0040dee6: ;XREF[1,0]: 0040dee2
.text:0040dee6 8b4d0c MOV ECX,dword ptr [EBP + _Str2+0x4]
.text:0040dee9 8b5508 MOV EDX,dword ptr [EBP + _Str1+0x4]
.text:0040deec 56 PUSH ESI
LAB_0040deed: ;XREF[1,0]: 0040df05
.text:0040deed 83e801 SUB EAX,0x1
.text:0040def0 7415 JZ LAB_0040df07
.text:0040def2 0fb732 MOVZX ESI,word ptr [EDX]
.text:0040def5 6685f6 TEST SI,SI
.text:0040def8 740d JZ LAB_0040df07
.text:0040defa 663b31 CMP SI,word ptr [ECX]
.text:0040defd 7508 JNZ LAB_0040df07
.text:0040deff 83c202 ADD EDX,0x2
.text:0040df02 83c102 ADD ECX,0x2
.text:0040df05 ebe6 JMP LAB_0040deed
LAB_0040df07: ;XREF[3,0]: 0040def0,0040def8,0040defd
.text:0040df07 0fb702 MOVZX EAX,word ptr [EDX]
.text:0040df0a 0fb709 MOVZX ECX,word ptr [ECX]
.text:0040df0d 2bc1 SUB EAX,ECX
.text:0040df0f 5e POP ESI
.text:0040df10 5d POP EBP
.text:0040df11 c3 RET
LAB_0040df12: ;XREF[1,0]: 0041ca90
.text:0040df12 8bff MOV EDI,EDI
.text:0040df14 56 PUSH ESI
.text:0040df15 57 PUSH EDI
.text:0040df16 bf883e4200 MOV EDI,.data:DAT_00423e88 ;= ??
.text:0040df1b 33f6 XOR ESI,ESI
LAB_0040df1d: ;XREF[1,0]: 0040df40
.text:0040df1d 6a00 PUSH 0x0
.text:0040df1f 68a00f0000 PUSH 0xfa0
; FWD[2,0]: 00423e88,00423ea0
.text:0040df24 57 PUSH EDI=>.data:DAT_00423e88 ;= ??
.text:0040df25 e8f7070000 CALL ___acrt_InitializeCriticalSectionEx@12 ;undefined ___acrt_InitializeCritical...
.text:0040df2a 85c0 TEST EAX,EAX
.text:0040df2c 7418 JZ LAB_0040df46
.text:0040df2e ff05d83f4200 INC dword ptr [.data:DAT_00423fd8] ;= ??
.text:0040df34 83c618 ADD ESI,0x18
.text:0040df37 83c718 ADD EDI,0x18
.text:0040df3a 81fe50010000 CMP ESI,0x150
.text:0040df40 72db JC LAB_0040df1d
.text:0040df42 b001 MOV AL,0x1
.text:0040df44 eb0a JMP LAB_0040df50
LAB_0040df46: ;XREF[1,0]: 0040df2c
.text:0040df46 6a00 PUSH 0x0
.text:0040df48 e81d000000 CALL FUN_0040df6a ;undefined4 FUN_0040df6a(void)
.text:0040df4d 59 POP ECX
.text:0040df4e 32c0 XOR AL,AL
LAB_0040df50: ;XREF[1,0]: 0040df44
.text:0040df50 5f POP EDI
.text:0040df51 5e POP ESI
.text:0040df52 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_lock *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_lock(int param_1)
;param_1 int 4 ;XREF[1,0]: 0040df58
;XREF[18,0]: 00404581,0040d4a8,0040d5ea,0040d645
; 0040e856,0040e98c,0040ed53,0041017c
; 004101ce,00410239,0041028e,004115d8
; 00411ad4,00412517,00412d57,00412f68
; 00412fc2,00413163
.text:0040df53 8bff MOV EDI,EDI
.text:0040df55 55 PUSH EBP
.text:0040df56 8bec MOV EBP,ESP
.text:0040df58 6b450818 IMUL EAX,dword ptr [EBP + param_1+0x4],0x18
.text:0040df5c 05883e4200 ADD EAX,.data:DAT_00423e88 ;= ??
.text:0040df61 50 PUSH EAX ;LPCRITICAL_SECTION lpCriticalSection...
.text:0040df62 ff1540b04100 CALL dword ptr [->KERNEL32.DLL::EnterCriti...;= 00022436
.text:0040df68 5d POP EBP
.text:0040df69 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040df6a(void)
;XREF[2,0]: 0040df48,0041ca94
.text:0040df6a 8bff MOV EDI,EDI
.text:0040df6c 56 PUSH ESI
.text:0040df6d 8b35d83f4200 MOV ESI,dword ptr [.data:DAT_00423fd8] ;= ??
.text:0040df73 85f6 TEST ESI,ESI
.text:0040df75 7420 JZ LAB_0040df97
.text:0040df77 6bc618 IMUL EAX,ESI,0x18
.text:0040df7a 57 PUSH EDI
.text:0040df7b 8db8703e4200 LEA EDI,[EAX + .data:DAT_00423e70] ;= ??
LAB_0040df81: ;XREF[1,0]: 0040df94
.text:0040df81 57 PUSH EDI ;LPCRITICAL_SECTION lpCriticalSection...
.text:0040df82 ff1548b04100 CALL dword ptr [->KERNEL32.DLL::DeleteCrit...;= 00022466
.text:0040df88 ff0dd83f4200 DEC dword ptr [.data:DAT_00423fd8] ;= ??
.text:0040df8e 83ef18 SUB EDI,0x18
.text:0040df91 83ee01 SUB ESI,0x1
.text:0040df94 75eb JNZ LAB_0040df81
.text:0040df96 5f POP EDI
LAB_0040df97: ;XREF[1,0]: 0040df75
.text:0040df97 b001 MOV AL,0x1
.text:0040df99 5e POP ESI
.text:0040df9a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_unlock *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined ___acrt_unlock(int param_1)
;param_1 int 4 ;XREF[1,0]: 0040dfa0
;XREF[19,0]: 004045b6,0040d4fe,0040d629,0040d684
; 0040e8e8,0040ea20,0040ed9e,004101b6
; 00410221,00410276,004102d0,0041160d
; 00411b24,00412571,00412d8b,00412fa6
; 0041300e,00413254,004132a8
.text:0040df9b 8bff MOV EDI,EDI
.text:0040df9d 55 PUSH EBP
.text:0040df9e 8bec MOV EBP,ESP
.text:0040dfa0 6b450818 IMUL EAX,dword ptr [EBP + param_1+0x4],0x18
.text:0040dfa4 05883e4200 ADD EAX,.data:DAT_00423e88 ;= ??
.text:0040dfa9 50 PUSH EAX ;LPCRITICAL_SECTION lpCriticalSection...
.text:0040dfaa ff1544b04100 CALL dword ptr [->KERNEL32.DLL::LeaveCriti...;= 0002244e
.text:0040dfb0 5d POP EBP
.text:0040dfb1 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040dfb2(void)
;XREF[1,0]: 004047b1
.text:0040dfb2 64a118000000 MOV EAX,FS:[offset ->ExceptionList &0xff] ;= ffdff000
.text:0040dfb8 8b4030 MOV EAX,dword ptr [EAX + offset tdb:Proce...;= 00000000
.text:0040dfbb 8b4068 MOV EAX,dword ptr [EAX + 0x68]
.text:0040dfbe c1e808 SHR EAX,0x8
.text:0040dfc1 2401 AND AL,0x1
.text:0040dfc3 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040dfc4(void)
;XREF[1,0]: 0040dfe1
.text:0040dfc4 64a118000000 MOV EAX,FS:[offset ->ExceptionList &0xff] ;= ffdff000
.text:0040dfca 8b4030 MOV EAX,dword ptr [EAX + offset tdb:Proce...;= 00000000
.text:0040dfcd 8b4010 MOV EAX,dword ptr [EAX + 0x10]
.text:0040dfd0 8b4008 MOV EAX,dword ptr [EAX + 0x8]
.text:0040dfd3 c1e81f SHR EAX,0x1f
.text:0040dfd6 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_0040dfd7(void)
;local_8 undefined4 -8 ;XREF[3,0]: 0040dfdd,0040dfea,0040dff5
;XREF[1,0]: 004047a7
.text:0040dfd7 8bff MOV EDI,EDI
.text:0040dfd9 55 PUSH EBP
.text:0040dfda 8bec MOV EBP,ESP
.text:0040dfdc 51 PUSH ECX
.text:0040dfdd 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040dfe1 e8deffffff CALL FUN_0040dfc4 ;uint FUN_0040dfc4(void)
.text:0040dfe6 84c0 TEST AL,AL
.text:0040dfe8 7509 JNZ LAB_0040dff3
.text:0040dfea 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:0040dfed 50 PUSH EAX
.text:0040dfee e873050000 CALL FUN_0040e566 ;undefined4 FUN_0040e566(ulong param_1)
LAB_0040dff3: ;XREF[1,0]: 0040dfe8
.text:0040dff3 33c0 XOR EAX,EAX
.text:0040dff5 837dfc01 CMP dword ptr [EBP + local_8+0x4],0x1
.text:0040dff9 0f95c0 SETNZ AL
.text:0040dffc c9 LEAVE
.text:0040dffd c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040dffe(int param_1)
;param_1 int ECX
;XREF[1,0]: 0040e1ed
.text:0040dffe 8bff MOV EDI,EDI
.text:0040e000 56 PUSH ESI
.text:0040e001 8bf1 MOV ESI,param_1
.text:0040e003 807e0800 CMP byte ptr [ESI + 0x8],0x0
.text:0040e007 7519 JNZ LAB_0040e022
.text:0040e009 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:0040e00f 83660400 AND dword ptr [ESI + 0x4],0x0
.text:0040e013 50 PUSH EAX ;DWORD dwErrCode for SetLastError
.text:0040e014 c6460801 MOV byte ptr [ESI + 0x8],0x1
.text:0040e018 ff153cb04100 CALL dword ptr [->KERNEL32.DLL::SetLastError];= 00022426
.text:0040e01e 33c0 XOR EAX,EAX
.text:0040e020 5e POP ESI
.text:0040e021 c3 RET
LAB_0040e022: ;XREF[1,0]: 0040e007
.text:0040e022 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:0040e025 5e POP ESI
.text:0040e026 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_call_reportfault *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_call_reportfault(int param_1, DWORD param_2, DWORD param_3)
;param_1 int 4 ;XREF[4,0]: 0040e03c,0040e043,0040e144,0040e14a
;param_2 DWORD 8 ;XREF[1,0]: 0040e104
;param_3 DWORD c ;XREF[1,0]: 0040e10d
;local_res0 undefined4 0 ;XREF[3,0]: 0040e0df,0040e0e8,0040e116
;local_4 undefined4 -4 ;XREF[1,0]: 0040e0fb
;local_8 undefined4 -8 ;XREF[2,0]: 0040e039,0040e153
;local_20c undefined2 -20c ;XREF[1,0]: 0040e0ae
;local_210 undefined4 -210 ;XREF[1,0]: 0040e0eb
;local_214 undefined4 -214 ;XREF[1,0]: 0040e0d9
;local_218 undefined2 -218 ;XREF[1,0]: 0040e0b5
;local_21c undefined4 -21c ;XREF[1,0]: 0040e0e2
;local_220 undefined4 -220 ;XREF[1,0]: 0040e0fe
;local_224 undefined4 -224 ;XREF[1,0]: 0040e08a
;local_228 undefined4 -228 ;XREF[1,0]: 0040e090
;local_22c undefined4 -22c ;XREF[1,0]: 0040e096
;local_230 undefined4 -230 ;XREF[1,0]: 0040e09c
;local_234 undefined4 -234 ;XREF[1,0]: 0040e0a2
;local_238 undefined4 -238 ;XREF[1,0]: 0040e0a8
;local_23c undefined2 -23c ;XREF[1,0]: 0040e0bc
;local_240 undefined2 -240 ;XREF[1,0]: 0040e0c3
;local_244 undefined2 -244 ;XREF[1,0]: 0040e0ca
;local_248 undefined2 -248 ;XREF[1,0]: 0040e0d1
;local_2d4 undefined4 -2d4 ;XREF[3,0]: 0040e061,0040e07e,0040e0f1
;local_318 undefined4 -318 ;XREF[1,0]: 0040e119
;local_320 undefined4 -320 ;XREF[1,0]: 0040e110
;local_324 undefined4 -324 ;XREF[3,0]: 0040e04e,0040e06f,0040e107
;local_328 undefined4 -328 ;XREF[1,0]: 0040e084
;local_32c undefined4 -32c ;XREF[2,0]: 0040e078,0040e12f
;XREF[2,0]: 0040db7d,0040e24f
.text:0040e027 8bff MOV EDI,EDI
.text:0040e029 55 PUSH EBP
.text:0040e02a 8bec MOV EBP,ESP
.text:0040e02c 81ec28030000 SUB ESP,0x328
.text:0040e032 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0040e037 33c5 XOR EAX,EBP
.text:0040e039 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040e03c 837d08ff CMP dword ptr [EBP + param_1+0x4],-0x1
.text:0040e040 57 PUSH EDI
.text:0040e041 7409 JZ LAB_0040e04c
.text:0040e043 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e046 e8503effff CALL FUN_00401e9b ;undefined FUN_00401e9b(void)
.text:0040e04b 59 POP ECX
LAB_0040e04c: ;XREF[1,0]: 0040e041
.text:0040e04c 6a50 PUSH 0x50
.text:0040e04e 8d85e0fcffff LEA EAX=>local_324,[EBP + 0xfffffce0]
.text:0040e054 6a00 PUSH 0x0
.text:0040e056 50 PUSH EAX
.text:0040e057 e8d445ffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040e05c 68cc020000 PUSH 0x2cc
.text:0040e061 8d8530fdffff LEA EAX=>local_2d4,[EBP + 0xfffffd30]
.text:0040e067 6a00 PUSH 0x0
.text:0040e069 50 PUSH EAX
.text:0040e06a e8c145ffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040e06f 8d85e0fcffff LEA EAX=>local_324,[EBP + 0xfffffce0]
.text:0040e075 83c418 ADD ESP,0x18
.text:0040e078 8985d8fcffff MOV dword ptr [EBP + local_32c+0x4],EAX
.text:0040e07e 8d8530fdffff LEA EAX=>local_2d4,[EBP + 0xfffffd30]
.text:0040e084 8985dcfcffff MOV dword ptr [EBP + local_328+0x4],EAX
.text:0040e08a 8985e0fdffff MOV dword ptr [EBP + local_224+0x4],EAX
.text:0040e090 898ddcfdffff MOV dword ptr [EBP + local_228+0x4],ECX
.text:0040e096 8995d8fdffff MOV dword ptr [EBP + local_22c+0x4],EDX
.text:0040e09c 899dd4fdffff MOV dword ptr [EBP + local_230+0x4],EBX
.text:0040e0a2 89b5d0fdffff MOV dword ptr [EBP + local_234+0x4],ESI
.text:0040e0a8 89bdccfdffff MOV dword ptr [EBP + local_238+0x4],EDI
.text:0040e0ae 668c95f8f... MOV word ptr [EBP + local_20c+0x4],SS
.text:0040e0b5 668c8decf... MOV word ptr [EBP + local_218+0x4],CS
.text:0040e0bc 668c9dc8f... MOV word ptr [EBP + local_23c+0x4],DS
.text:0040e0c3 668c85c4f... MOV word ptr [EBP + local_240+0x4],ES
.text:0040e0ca 668ca5c0f... MOV word ptr [EBP + local_244+0x4],FS
.text:0040e0d1 668cadbcf... MOV word ptr [EBP + local_248+0x4],GS
.text:0040e0d8 9c PUSHFD
.text:0040e0d9 8f85f0fdffff POP dword ptr [EBP + local_214+0x4]
.text:0040e0df 8b4504 MOV EAX,dword ptr [EBP + local_res0+0x4]
.text:0040e0e2 8985e8fdffff MOV dword ptr [EBP + local_21c+0x4],EAX
.text:0040e0e8 8d4504 LEA EAX=>local_res0,[EBP + 0x4]
.text:0040e0eb 8985f4fdffff MOV dword ptr [EBP + local_210+0x4],EAX
.text:0040e0f1 c78530fdf... MOV dword ptr [EBP + local_2d4+0x4],0x10001
.text:0040e0fb 8b40fc MOV EAX,dword ptr [EAX + local_4]
.text:0040e0fe 8985e4fdffff MOV dword ptr [EBP + local_220+0x4],EAX
.text:0040e104 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040e107 8985e0fcffff MOV dword ptr [EBP + local_324+0x4],EAX
.text:0040e10d 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0040e110 8985e4fcffff MOV dword ptr [EBP + local_320+0x4],EAX
.text:0040e116 8b4504 MOV EAX,dword ptr [EBP + local_res0+0x4]
.text:0040e119 8985ecfcffff MOV dword ptr [EBP + local_318+0x4],EAX
.text:0040e11f ff1514b04100 CALL dword ptr [->KERNEL32.DLL::IsDebugger...;= 00022352
.text:0040e125 6a00 PUSH 0x0 ;LPTOP_LEVEL_EXCEPTION_FILTER lpTopLe...
.text:0040e127 8bf8 MOV EDI,EAX
.text:0040e129 ff151cb04100 CALL dword ptr [->KERNEL32.DLL::SetUnhandl...;= 00022382
.text:0040e12f 8d85d8fcffff LEA EAX=>local_32c,[EBP + 0xfffffcd8]
.text:0040e135 50 PUSH EAX ;_EXCEPTION_POINTERS * ExceptionInfo ...
.text:0040e136 ff1518b04100 CALL dword ptr [->KERNEL32.DLL::UnhandledE...;= 00022366
.text:0040e13c 85c0 TEST EAX,EAX
.text:0040e13e 7513 JNZ LAB_0040e153
.text:0040e140 85ff TEST EDI,EDI
.text:0040e142 750f JNZ LAB_0040e153
.text:0040e144 837d08ff CMP dword ptr [EBP + param_1+0x4],-0x1
.text:0040e148 7409 JZ LAB_0040e153
.text:0040e14a ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e14d e8493dffff CALL FUN_00401e9b ;undefined FUN_00401e9b(void)
.text:0040e152 59 POP ECX
LAB_0040e153: ;XREF[3,0]: 0040e13e,0040e142,0040e148
.text:0040e153 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:0040e156 33cd XOR ECX,EBP
.text:0040e158 5f POP EDI
.text:0040e159 e8c73fffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0040e15e c9 LEAVE
.text:0040e15f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040e160(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 0040e165
;XREF[1,0]: 0040d950
.text:0040e160 8bff MOV EDI,EDI
.text:0040e162 55 PUSH EBP
.text:0040e163 8bec MOV EBP,ESP
.text:0040e165 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040e168 a3dc3f4200 MOV [.data:DAT_00423fdc],EAX ;= ??
.text:0040e16d 5d POP EBP
.text:0040e16e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040e16f(wchar_t * param_1, wchar_t * param_2, wchar_t * param_3, uint param_4, uintptr_t param_5)
;param_1 wchar_t * 4 ;XREF[1,0]: 0040e191
;param_2 wchar_t * 8 ;XREF[1,0]: 0040e18e
;param_3 wchar_t * c ;XREF[1,0]: 0040e18b
;param_4 uint 10 ;XREF[1,0]: 0040e188
;param_5 uintptr_t 14 ;XREF[1,0]: 0040e185
;local_2c undefined1 -2c ;XREF[3,0]: 0040e177,0040e181,0040e19c
;XREF[1,0]: 0040e22a
.text:0040e16f 8bff MOV EDI,EDI
.text:0040e171 55 PUSH EBP
.text:0040e172 8bec MOV EBP,ESP
.text:0040e174 83ec28 SUB ESP,0x28
.text:0040e177 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:0040e17a 6a00 PUSH 0x0
.text:0040e17c e84f74ffff CALL FUN_004055d0 ;void * FUN_004055d0(void * this, und...
.text:0040e181 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
.text:0040e184 50 PUSH EAX
.text:0040e185 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040e188 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040e18b ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040e18e ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040e191 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e194 e80d000000 CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:0040e199 83c418 ADD ESP,0x18
.text:0040e19c 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:0040e19f e88c74ffff CALL FUN_00405630 ;undefined FUN_00405630(__acrt_ptd * ...
.text:0040e1a4 c9 LEAVE
.text:0040e1a5 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040e1a6(wchar_t * param_1, wchar_t * param_2, wchar_t * param_3, uint param_4, uintptr_t param_5, __acrt_ptd * * param_6)
;param_1 wchar_t * 4 ;XREF[2,0]: 0040e1d7,0040e216
;param_2 wchar_t * 8 ;XREF[2,0]: 0040e1d4,0040e211
;param_3 wchar_t * c ;XREF[2,0]: 0040e1d1,0040e208
;param_4 uint 10 ;XREF[2,0]: 0040e1ce,0040e1fb
;param_5 uintptr_t 14 ;XREF[2,0]: 0040e1cb,0040e1f2
;param_6 __acrt_ptd * * 18 ;XREF[1,0]: 0040e1ad
;XREF[27,0]: 00404bbe,00404dfd,00404f8a,00405117
; 004059a2,00405bbb,00405bd2,00405c61
; 004063be,00406577,0040678a,00407d78
; 004080d8,0040dbd6,0040e194,0040f2e7
; 0040f6b2,0040fbab,0040fe61,00413882
; 00413910,004142d4,004143c3,0041466e
; 004146b4,00417f06,00418059
.text:0040e1a6 8bff MOV EDI,EDI
.text:0040e1a8 55 PUSH EBP
.text:0040e1a9 8bec MOV EBP,ESP
.text:0040e1ab 56 PUSH ESI
.text:0040e1ac 57 PUSH EDI
.text:0040e1ad 8b7d1c MOV EDI,dword ptr [EBP + param_6+0x4]
.text:0040e1b0 8b07 MOV EAX,dword ptr [EDI]
.text:0040e1b2 85c0 TEST EAX,EAX
.text:0040e1b4 750b JNZ LAB_0040e1c1
.text:0040e1b6 8bcf MOV ECX,EDI
.text:0040e1b8 e88376ffff CALL FUN_00405840 ;__acrt_ptd * FUN_00405840(__acrt_ptd...
.text:0040e1bd 85c0 TEST EAX,EAX
.text:0040e1bf 742a JZ LAB_0040e1eb
LAB_0040e1c1: ;XREF[1,0]: 0040e1b4
.text:0040e1c1 8bb05c030000 MOV ESI,dword ptr [EAX + 0x35c]
.text:0040e1c7 85f6 TEST ESI,ESI
.text:0040e1c9 7420 JZ LAB_0040e1eb
.text:0040e1cb ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040e1ce ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040e1d1 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040e1d4 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040e1d7 ff7508 PUSH dword ptr [EBP + param_1+0x4]
LAB_0040e1da: ;XREF[1,0]: 0040e21b
.text:0040e1da 8bce MOV ECX,ESI
.text:0040e1dc ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e1e2 ffd6 CALL ESI
.text:0040e1e4 83c414 ADD ESP,0x14
.text:0040e1e7 5f POP EDI
.text:0040e1e8 5e POP ESI
.text:0040e1e9 5d POP EBP
.text:0040e1ea c3 RET
LAB_0040e1eb: ;XREF[2,0]: 0040e1bf,0040e1c9
.text:0040e1eb 8bcf MOV ECX,EDI
.text:0040e1ed e80cfeffff CALL FUN_0040dffe ;undefined4 FUN_0040dffe(int param_1)
.text:0040e1f2 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040e1f5 8b0d14304200 MOV ECX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040e1fb ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040e1fe 8b3485dc3... MOV ESI,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:0040e205 83e11f AND ECX,0x1f
.text:0040e208 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040e20b 333514304200 XOR ESI,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040e211 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040e214 d3ce ROR ESI,CL
.text:0040e216 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e219 85f6 TEST ESI,ESI
.text:0040e21b 75bd JNZ LAB_0040e1da
.text:0040e21d e811000000 CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:0040e222 cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040e223(void)
;XREF[61,0]: 004064d6,0040654b,00406607,00406819
; 004069d5,00406b73,00406bfd,00406c87
; 00406d11,004085ca,00408740,004088a2
; 00408a24,00408be7,00408c1c,00408c51
; 00408c8c,0040bb2e,0040bbb2,0040c6f4
; 0040c70f,0040c731,0040c753,0040c866
; 0040c8d5,0040c960,0040ca46,0040ca95
; 0040cad7,0040cb38,0040cbdb,0040ce3e
; 0040d45d,0040d575,0040d5bc,0040da8d
; 0040db18,0040fff2,004109db,00410a79
; 00410dc2,004124f9,004126af,0041312b
; 00413abf,004161f8,00416d1e,00416ebe
; 0041715d,004171b9,00417687,00417790
; 004177ac,00417ab1,00417ad1,00417c36
; 00418770,00418797,004187d8,004187fa
; 0041881d
.text:0040e223 33c0 XOR EAX,EAX
.text:0040e225 50 PUSH EAX
.text:0040e226 50 PUSH EAX
.text:0040e227 50 PUSH EAX
.text:0040e228 50 PUSH EAX
.text:0040e229 50 PUSH EAX
.text:0040e22a e840ffffff CALL FUN_0040e16f ;undefined FUN_0040e16f(wchar_t * par...
.text:0040e22f 83c414 ADD ESP,0x14
.text:0040e232 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __invoke_watson *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void __invoke_watson(wchar_t * param_1, wchar_t * param_2, wchar_t * param_3, uint param_4, uintptr_t param_5)
;param_1 wchar_t * 4
;param_2 wchar_t * 8
;param_3 wchar_t * c
;param_4 uint 10
;param_5 uintptr_t 14
;XREF[11,0]: 0040907a,0040909f,0040d27f,0040e21d
; 0040f7d0,0040fab8,00410f1f,00410fd0
; 004122fa,004123aa,00415d26
.text:0040e233 6a17 PUSH 0x17 ;DWORD ProcessorFeature for IsProcess...
.text:0040e235 ff1524b04100 CALL dword ptr [->KERNEL32.DLL::IsProcesso...;= 000223b2
.text:0040e23b 85c0 TEST EAX,EAX
.text:0040e23d 7405 JZ LAB_0040e244
.text:0040e23f 6a05 PUSH 0x5
.text:0040e241 59 POP ECX
.text:0040e242 cd29 INT 0x29
LAB_0040e244: ;XREF[1,0]: 0040e23d
.text:0040e244 56 PUSH ESI
.text:0040e245 6a01 PUSH 0x1
.text:0040e247 be170400c0 MOV ESI,0xc0000417
.text:0040e24c 56 PUSH ESI
.text:0040e24d 6a02 PUSH 0x2
.text:0040e24f e8d3fdffff CALL ___acrt_call_reportfault ;undefined ___acrt_call_reportfault(i...
.text:0040e254 83c40c ADD ESP,0xc
.text:0040e257 56 PUSH ESI ;UINT uExitCode for TerminateProcess
.text:0040e258 ff152cb04100 CALL dword ptr [->KERNEL32.DLL::GetCurrent...;= 000223e2
.text:0040e25e 50 PUSH EAX ;HANDLE hProcess for TerminateProcess
.text:0040e25f ff1530b04100 CALL dword ptr [->KERNEL32.DLL::TerminateP...;= 000223f6
.text:0040e265 5e POP ESI
.text:0040e266 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* ___acrt_errno_from_os_error *
;* __get_errno_from_oserr *
;* *
;* Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release, Visual Studio 2017 Release...*
;************************************************************************************************
;int FID_conflict:___acrt_errno_from_os_error(ulong param_1)
;param_1 ulong 4 ;XREF[1,0]: 0040e26c
;XREF[3,0]: 0040e2bb,0040e2e1,0040e39c
.text:0040e267 8bff MOV EDI,EDI
.text:0040e269 55 PUSH EBP
.text:0040e26a 8bec MOV EBP,ESP
.text:0040e26c 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040e26f 33c0 XOR EAX,EAX
LAB_0040e271: ;XREF[1,0]: 0040e27e
; FWD[2,0]: 0041caf0,0041caf8
.text:0040e271 3b0cc5f0c... CMP ECX,dword ptr [EAX*0x8 + .rdata:DAT_0...;= 00000001h
;= 00000002h
.text:0040e278 7427 JZ LAB_0040e2a1
.text:0040e27a 40 INC EAX
.text:0040e27b 83f82d CMP EAX,0x2d
.text:0040e27e 72f1 JC LAB_0040e271
.text:0040e280 8d41ed LEA EAX,[ECX + -0x13]
.text:0040e283 83f811 CMP EAX,0x11
.text:0040e286 7705 JA LAB_0040e28d
.text:0040e288 6a0d PUSH 0xd
.text:0040e28a 58 POP EAX
.text:0040e28b 5d POP EBP
.text:0040e28c c3 RET
LAB_0040e28d: ;XREF[1,0]: 0040e286
.text:0040e28d 8d8144ffffff LEA EAX,[ECX + 0xffffff44]
.text:0040e293 6a0e PUSH 0xe
.text:0040e295 59 POP ECX
.text:0040e296 3bc8 CMP ECX,EAX
.text:0040e298 1bc0 SBB EAX,EAX
.text:0040e29a 23c1 AND EAX,ECX
.text:0040e29c 83c008 ADD EAX,0x8
.text:0040e29f 5d POP EBP
.text:0040e2a0 c3 RET
LAB_0040e2a1: ;XREF[1,0]: 0040e278
.text:0040e2a1 8b04c5f4c... MOV EAX,dword ptr [EAX*0x8 + .rdata:DAT_0...;= 00000016h
.text:0040e2a8 5d POP EBP
.text:0040e2a9 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_errno_map_os_error *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_errno_map_os_error(ulong param_1)
;param_1 ulong 4 ;XREF[1,0]: 0040e2b5
;XREF[8,0]: 00410c7e,00410d30,00410d71,00411490
; 004114d1,0041155c,00416c14,00417077
.text:0040e2aa 8bff MOV EDI,EDI
.text:0040e2ac 55 PUSH EBP
.text:0040e2ad 8bec MOV EBP,ESP
.text:0040e2af 56 PUSH ESI
.text:0040e2b0 e83c000000 CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:0040e2b5 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040e2b8 51 PUSH ECX
.text:0040e2b9 8908 MOV dword ptr [EAX],ECX
.text:0040e2bb e8a7ffffff CALL FID_conflict:___acrt_errno_from_os_error;int FID_conflict:___acrt_errno_from_...
.text:0040e2c0 59 POP ECX
.text:0040e2c1 8bf0 MOV ESI,EAX
.text:0040e2c3 e83c000000 CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040e2c8 8930 MOV dword ptr [EAX],ESI
.text:0040e2ca 5e POP ESI
.text:0040e2cb 5d POP EBP
.text:0040e2cc c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040e2cd(ulong param_1, int param_2)
;param_1 ulong 4 ;XREF[1,0]: 0040e2d2
;param_2 int 8 ;XREF[1,0]: 0040e2d6
;XREF[3,0]: 00414554,00417fa2,00418164
.text:0040e2cd 8bff MOV EDI,EDI
.text:0040e2cf 55 PUSH EBP
.text:0040e2d0 8bec MOV EBP,ESP
.text:0040e2d2 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040e2d5 56 PUSH ESI
.text:0040e2d6 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040e2d9 50 PUSH EAX
.text:0040e2da c6462401 MOV byte ptr [ESI + 0x24],0x1
.text:0040e2de 894620 MOV dword ptr [ESI + 0x20],EAX
.text:0040e2e1 e881ffffff CALL FID_conflict:___acrt_errno_from_os_error;int FID_conflict:___acrt_errno_from_...
.text:0040e2e6 59 POP ECX
.text:0040e2e7 c6461c01 MOV byte ptr [ESI + 0x1c],0x1
.text:0040e2eb 894618 MOV dword ptr [ESI + 0x18],EAX
.text:0040e2ee 5e POP ESI
.text:0040e2ef 5d POP EBP
.text:0040e2f0 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;__acrt_ptd * FUN_0040e2f1(void)
;XREF[15,0]: 0040e2b0,0041263f,0041265c,0041269c
; 00413a06,00416cd9,00416d0b,00416d4f
; 00416d94,00416df0,00416e56,00416eac
; 00416f10,0041712a,0041714a
.text:0040e2f1 e804230000 CALL FUN_004105fa ;__acrt_ptd * FUN_004105fa(void)
.text:0040e2f6 85c0 TEST EAX,EAX
.text:0040e2f8 7506 JNZ LAB_0040e300
.text:0040e2fa b8f4304200 MOV EAX,.data:DAT_004230f4 ;= 08h
.text:0040e2ff c3 RET
LAB_0040e300: ;XREF[1,0]: 0040e2f8
.text:0040e300 83c014 ADD EAX,0x14
.text:0040e303 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined * FUN_0040e304(void)
;XREF[104,0]: 004064cb,00406540,004065fc,0040680e
; 004069ca,00406b68,00406bf2,00406c7c
; 00406d06,004085bf,0040860d,00408735
; 0040877a,00408897,004088e7,00408a19
; 00408a60,00408bdc,00408c11,00408c46
; 00408c81,0040bb27,0040bbab,0040c6e9
; 0040c704,0040c726,0040c748,0040c85b
; 0040c8ca,0040c955,0040ca3c,0040ca7d
; 0040ca8b,0040cacc,0040cb2d,0040cbd0
; 0040ce34,0040ceac,0040d452,0040d56a
; 0040d5b1,0040da83,0040db0e,0040db3c
; 0040e2c3,0040e364,0040e3a4,0040ee0f
; 0040ffe7,004109d0,00410a6e,00410c84
; 00410d36,00410d77,00410db8,00411496
; 004114d7,004114fa,004119f0,004120b1
; 0041210f,004122ab,004122db,004124ef
; 00412634,00412664,004126a4,00412e13
; 00413120,00413a0d,00413a5e,00413ab4
; 004161b8,004161ed,00416b82,00416ce1
; 00416d13,00416d57,00416d89,00416df8
; 00416e5e,00416eb3,00416f05,0041711f
; 00417152,004171ae,0041767d,00417709
; 00417785,004177a1,00417aa6,00417ac6
; 00417b15,00417c2b,00417c81,00418765
; 0041878c,004187cd,004187ef,00418812
; 004196ad,004196f3,0041a195,0041a1a2
.text:0040e304 e8f1220000 CALL FUN_004105fa ;__acrt_ptd * FUN_004105fa(void)
.text:0040e309 85c0 TEST EAX,EAX
.text:0040e30b 7506 JNZ LAB_0040e313
.text:0040e30d b8f0304200 MOV EAX,.data:DAT_004230f0 ;= 0Ch
.text:0040e312 c3 RET
LAB_0040e313: ;XREF[1,0]: 0040e30b
.text:0040e313 83c010 ADD EAX,0x10
.text:0040e316 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __calloc_base *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;LPVOID __calloc_base(uint param_1, uint param_2)
;param_1 uint 4 ;XREF[1,0]: 0040e31d
;param_2 uint 8 ;XREF[2,0]: 0040e32b,0040e330
;XREF[20,0]: 004048e3,00404909,0040d0f8,0040d1da
; 0040d212,0040d2e5,0040db93,004104f1
; 0041059a,00410642,004106e9,00410f5a
; 004113b2,00412133,0041215a,0041225c
; 0041232b,00412358,00412437,00416219
.text:0040e317 8bff MOV EDI,EDI
.text:0040e319 55 PUSH EBP
.text:0040e31a 8bec MOV EBP,ESP
.text:0040e31c 56 PUSH ESI
.text:0040e31d 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040e320 85f6 TEST ESI,ESI
.text:0040e322 740c JZ LAB_0040e330
.text:0040e324 6ae0 PUSH -0x20
.text:0040e326 33d2 XOR EDX,EDX
.text:0040e328 58 POP EAX
.text:0040e329 f7f6 DIV ESI
.text:0040e32b 3b450c CMP EAX,dword ptr [EBP + param_2+0x4]
.text:0040e32e 7234 JC LAB_0040e364
LAB_0040e330: ;XREF[1,0]: 0040e322
.text:0040e330 0faf750c IMUL ESI,dword ptr [EBP + param_2+0x4]
.text:0040e334 85f6 TEST ESI,ESI
.text:0040e336 7517 JNZ LAB_0040e34f
.text:0040e338 46 INC ESI
.text:0040e339 eb14 JMP LAB_0040e34f
LAB_0040e33b: ;XREF[1,0]: 0040e360
.text:0040e33b e859f2ffff CALL FUN_0040d599 ;undefined4 FUN_0040d599(void)
.text:0040e340 85c0 TEST EAX,EAX
.text:0040e342 7420 JZ LAB_0040e364
.text:0040e344 56 PUSH ESI
.text:0040e345 e8e04b0000 CALL FUN_00412f2a ;bool FUN_00412f2a(undefined4 param_1)
.text:0040e34a 59 POP ECX
.text:0040e34b 85c0 TEST EAX,EAX
.text:0040e34d 7415 JZ LAB_0040e364
LAB_0040e34f: ;XREF[2,0]: 0040e336,0040e339
.text:0040e34f 56 PUSH ESI ;SIZE_T dwBytes for HeapAlloc
.text:0040e350 6a08 PUSH 0x8 ;DWORD dwFlags for HeapAlloc
.text:0040e352 ff3504434200 PUSH dword ptr [.data:hHeap_00424304] ;HANDLE hHeap for HeapAlloc
.text:0040e358 ff1590b04100 CALL dword ptr [->KERNEL32.DLL::HeapAlloc] ;= 000225a6
.text:0040e35e 85c0 TEST EAX,EAX
.text:0040e360 74d9 JZ LAB_0040e33b
.text:0040e362 eb0d JMP LAB_0040e371
LAB_0040e364: ;XREF[3,0]: 0040e32e,0040e342,0040e34d
.text:0040e364 e89bffffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040e369 c7000c000000 MOV dword ptr [EAX],0xc
.text:0040e36f 33c0 XOR EAX,EAX
LAB_0040e371: ;XREF[1,0]: 0040e362
.text:0040e371 5e POP ESI
.text:0040e372 5d POP EBP
.text:0040e373 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040e374(LPVOID param_1)
;param_1 LPVOID 4 ;XREF[2,0]: 0040e379,0040e37f
;XREF[142,0]: 004048ef,00404915,004049d6,00404ad4
; 00404af2,00405677,00405690,0040cab8
; 0040cee9,0040cf0c,0040cf36,0040cf42
; 0040d101,0040d167,0040d191,0040d197
; 0040d1e8,0040d23d,0040d250,0040d265
; 0040d26c,0040d29a,0040d2aa,0040d314
; 0040d32a,0040d6f4,0040d714,0040d840
; 0040d99d,0040d9b0,0040d9c1,0040d9d2
; 0040da04,0040e8b5,0040ebc3,004100f0
; 004101f8,00410386,004103a7,004103b3
; 004103be,004103c9,004103d4,004103df
; 004103ea,004103f5,00410400,0041040e
; 0041052e,00410543,004105b4,004105e8
; 0041067f,00410694,00410703,00410737
; 00410e86,00410f03,00410fa6,00410fbd
; 004110f4,004111ac,0041120d,00411225
; 00411240,00411267,00411277,004112f1
; 004113bb,00411412,00411677,004119ab
; 004119ff,00411a32,00411a92,00411b00
; 00412059,00412082,0041208a,0041213e
; 00412165,004121a0,004121cd,0041221a
; 0041226a,004122b7,004122c1,004122cb
; 004122d2,004122e7,00412362,00412390
; 00412499,004124cf,004126ec,004126fe
; 00412710,00412722,00412734,00412746
; 00412758,0041276a,0041277c,0041278e
; 004127a0,004127b2,004127c4,004127e5
; 004127f7,00412809,0041281b,0041282d
; 0041284a,004128a9,004128b4,004128bf
; 00412913,0041291e,00412929,00412934
; 00412a58,00412b16,00412b38,00412b4d
; 00412b58,00412b7a,00412b8d,00412b9b
; 00412ba6,00412bde,00412be5,00412c02
; 00412c1a,00412c75,00413964,00416223
; 00416eef,00416ef6,00417081,00417bb6
; 00417bc5,00417c74
.text:0040e374 8bff MOV EDI,EDI
.text:0040e376 55 PUSH EBP
.text:0040e377 8bec MOV EBP,ESP
.text:0040e379 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:0040e37d 742d JZ LAB_0040e3ac
.text:0040e37f ff7508 PUSH dword ptr [EBP + param_1+0x4] ;LPVOID lpMem for HeapFree
.text:0040e382 6a00 PUSH 0x0 ;DWORD dwFlags for HeapFree
.text:0040e384 ff3504434200 PUSH dword ptr [.data:hHeap_00424304] ;HANDLE hHeap for HeapFree
.text:0040e38a ff1594b04100 CALL dword ptr [->KERNEL32.DLL::HeapFree] ;= 000225b2
.text:0040e390 85c0 TEST EAX,EAX
.text:0040e392 7518 JNZ LAB_0040e3ac
.text:0040e394 56 PUSH ESI
.text:0040e395 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:0040e39b 50 PUSH EAX
.text:0040e39c e8c6feffff CALL FID_conflict:___acrt_errno_from_os_error;int FID_conflict:___acrt_errno_from_...
.text:0040e3a1 59 POP ECX
.text:0040e3a2 8bf0 MOV ESI,EAX
.text:0040e3a4 e85bffffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040e3a9 8930 MOV dword ptr [EAX],ESI
.text:0040e3ab 5e POP ESI
LAB_0040e3ac: ;XREF[2,0]: 0040e37d,0040e392
.text:0040e3ac 5d POP EBP
.text:0040e3ad c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* int (__stdcall*__cdecl try_get_AreFileApisANSI(void))(void) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;_func_int * try_get_AreFileApisANSI(void)
;XREF[1,0]: 0040e5a9
.text:0040e3ae 6868d14100 PUSH .rdata:s_AreFileApisANSI_0041d168 ;= "AreFileApisANSI"
.text:0040e3b3 6864d14100 PUSH .rdata:DAT_0041d164 ;= 10h
.text:0040e3b8 6868d14100 PUSH .rdata:s_AreFileApisANSI_0041d168 ;= "AreFileApisANSI"
.text:0040e3bd 6a00 PUSH 0x0
.text:0040e3bf e81d010000 CALL FUN_0040e4e1 ;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e3c4 83c410 ADD ESP,0x10
.text:0040e3c7 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* int (__stdcall*__cdecl try_get_CompareStringEx(void))(wchar_t const *,unsigned long,wchar_t ...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;_func_int_wchar_t_ptr_ulong_wchar_t_ptr_int_wchar_t_ptr_int__nlsversioninfo_ptr_void_ptr_long * try_get_CompareStringEx(void)
;XREF[1,0]: 0040e5cb
.text:0040e3c8 6880d14100 PUSH .rdata:s_CompareStringEx_0041d180 ;= "CompareStringEx"
.text:0040e3cd 6878d14100 PUSH .rdata:DAT_0041d178 ;= 06h
.text:0040e3d2 6880d14100 PUSH .rdata:s_CompareStringEx_0041d180 ;= "CompareStringEx"
.text:0040e3d7 6a01 PUSH 0x1
.text:0040e3d9 e803010000 CALL FUN_0040e4e1 ;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e3de 83c410 ADD ESP,0x10
.text:0040e3e1 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* int (__stdcall*__cdecl try_get_CompareStringEx(void))(wchar_t const *,unsigned long,wchar_t ...*
;* int (__stdcall*__cdecl try_get_LCMapStringEx(void))(wchar_t const *,unsigned long,wchar_t co...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;_func_int_wchar_t_ptr_ulong_wchar_t_ptr_int_wchar_t_ptr_int__nlsversioninfo_ptr_void_ptr_long * try_get_LCMapStringEx(void)
;XREF[1,0]: 0040e772
.text:0040e3e2 68a0d14100 PUSH .rdata:s_LCMapStringEx_0041d1a0 ;= "LCMapStringEx"
.text:0040e3e7 6898d14100 PUSH .rdata:DAT_0041d198 ;= 03h
.text:0040e3ec 68a0d14100 PUSH .rdata:s_LCMapStringEx_0041d1a0 ;= "LCMapStringEx"
.text:0040e3f1 6a11 PUSH 0x11
.text:0040e3f3 e8e9000000 CALL FUN_0040e4e1 ;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e3f8 83c410 ADD ESP,0x10
.text:0040e3fb c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* unsigned long (__stdcall*__cdecl try_get_LocaleNameToLCID(void))(wchar_t const *,unsigned long)*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;_func_ulong_wchar_t_ptr_ulong * try_get_LocaleNameToLCID(void)
;XREF[1,0]: 0040e7cf
.text:0040e3fc 68b8d14100 PUSH .rdata:s_LocaleNameToLCID_0041d1b8 ;= "LocaleNameToLCID"
.text:0040e401 68b0d14100 PUSH .rdata:DAT_0041d1b0 ;= 03h
.text:0040e406 68b8d14100 PUSH .rdata:s_LocaleNameToLCID_0041d1b8 ;= "LocaleNameToLCID"
.text:0040e40b 6a13 PUSH 0x13
.text:0040e40d e8cf000000 CALL FUN_0040e4e1 ;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e412 83c410 ADD ESP,0x10
.text:0040e415 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;HMODULE FUN_0040e416(int * param_1, int * param_2)
;param_1 int * 4 ;XREF[1,0]: 0040e41f
;param_2 int * 8 ;XREF[1,0]: 0040e4b4
;local_8 undefined4 -8 ;XREF[3,0]: 0040e429,0040e4a2,0040e4c4
;XREF[1,0]: 0040e520
.text:0040e416 8bff MOV EDI,EDI
.text:0040e418 55 PUSH EBP
.text:0040e419 8bec MOV EBP,ESP
.text:0040e41b 51 PUSH ECX
.text:0040e41c 53 PUSH EBX
.text:0040e41d 56 PUSH ESI
.text:0040e41e 57 PUSH EDI
.text:0040e41f 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0040e422 e98d000000 JMP LAB_0040e4b4
LAB_0040e427: ;XREF[1,0]: 0040e4b7
.text:0040e427 8b0f MOV ECX,dword ptr [EDI]
.text:0040e429 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
.text:0040e42c 8d048de03... LEA EAX,[ECX*0x4 + .data:hLibModule_00423...;= NaP
.text:0040e433 8b30 MOV ESI,dword ptr [EAX]=>.data:hLibModule...;= NaP
.text:0040e435 90 NOP
.text:0040e436 85f6 TEST ESI,ESI
.text:0040e438 740b JZ LAB_0040e445
.text:0040e43a 83feff CMP ESI,-0x1
.text:0040e43d 0f859a000000 JNZ LAB_0040e4dd
.text:0040e443 eb6c JMP LAB_0040e4b1
LAB_0040e445: ;XREF[1,0]: 0040e438
.text:0040e445 8b1c8d58c... MOV EBX,dword ptr [ECX*0x4 + .rdata:PTR_u...;= 0041ccb0
.text:0040e44c 6800080000 PUSH 0x800 ;DWORD dwFlags for LoadLibraryExW
.text:0040e451 6a00 PUSH 0x0 ;HANDLE hFile for LoadLibraryExW
.text:0040e453 53 PUSH EBX ;LPCWSTR lpLibFileName for LoadLibrar...
.text:0040e454 ff1568b04100 CALL dword ptr [->KERNEL32.DLL::LoadLibrar...;= 000224f8
.text:0040e45a 8bf0 MOV ESI,EAX
.text:0040e45c 85f6 TEST ESI,ESI
.text:0040e45e 7564 JNZ LAB_0040e4c4
.text:0040e460 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:0040e466 83f857 CMP EAX,0x57
.text:0040e469 7537 JNZ LAB_0040e4a2
.text:0040e46b 6a07 PUSH 0x7
.text:0040e46d 68ccbb4100 PUSH .rdata:u_api-ms-_0041bbcc ;= u"api-ms-"
.text:0040e472 53 PUSH EBX
.text:0040e473 e860faffff CALL _wcsncmp ;int _wcsncmp(wchar_t * _Str1, wchar_...
.text:0040e478 83c40c ADD ESP,0xc
.text:0040e47b 85c0 TEST EAX,EAX
.text:0040e47d 7423 JZ LAB_0040e4a2
.text:0040e47f 6a07 PUSH 0x7
.text:0040e481 6854d14100 PUSH .rdata:u_ext-ms-_0041d154 ;= u"ext-ms-"
.text:0040e486 53 PUSH EBX
.text:0040e487 e84cfaffff CALL _wcsncmp ;int _wcsncmp(wchar_t * _Str1, wchar_...
.text:0040e48c 83c40c ADD ESP,0xc
.text:0040e48f 85c0 TEST EAX,EAX
.text:0040e491 740f JZ LAB_0040e4a2
.text:0040e493 56 PUSH ESI ;DWORD dwFlags for LoadLibraryExW
.text:0040e494 56 PUSH ESI ;HANDLE hFile for LoadLibraryExW
.text:0040e495 53 PUSH EBX ;LPCWSTR lpLibFileName for LoadLibrar...
.text:0040e496 ff1568b04100 CALL dword ptr [->KERNEL32.DLL::LoadLibrar...;= 000224f8
.text:0040e49c 8bf0 MOV ESI,EAX
.text:0040e49e 85f6 TEST ESI,ESI
.text:0040e4a0 7522 JNZ LAB_0040e4c4
LAB_0040e4a2: ;XREF[3,0]: 0040e469,0040e47d,0040e491
.text:0040e4a2 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
.text:0040e4a5 83c8ff OR EAX,0xffffffff
.text:0040e4a8 8d0c95e03... LEA ECX,[EDX*0x4 + .data:hLibModule_00423...;= NaP
.text:0040e4af 8701 XCHG dword ptr [ECX],EAX=>.data:hLibModule...;= NaP
LAB_0040e4b1: ;XREF[1,0]: 0040e443
.text:0040e4b1 83c704 ADD EDI,0x4
LAB_0040e4b4: ;XREF[1,0]: 0040e422
.text:0040e4b4 3b7d0c CMP EDI,dword ptr [EBP + param_2+0x4]
.text:0040e4b7 0f856affffff JNZ LAB_0040e427
.text:0040e4bd 33c0 XOR EAX,EAX
LAB_0040e4bf: ;XREF[1,0]: 0040e4df
.text:0040e4bf 5f POP EDI
.text:0040e4c0 5e POP ESI
.text:0040e4c1 5b POP EBX
.text:0040e4c2 c9 LEAVE
.text:0040e4c3 c3 RET
LAB_0040e4c4: ;XREF[2,0]: 0040e45e,0040e4a0
.text:0040e4c4 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
.text:0040e4c7 8bc6 MOV EAX,ESI
.text:0040e4c9 8d0c95e03... LEA ECX,[EDX*0x4 + .data:hLibModule_00423...;= NaP
.text:0040e4d0 8701 XCHG dword ptr [ECX],EAX=>.data:hLibModule...;= NaP
.text:0040e4d2 85c0 TEST EAX,EAX
.text:0040e4d4 7407 JZ LAB_0040e4dd
.text:0040e4d6 56 PUSH ESI ;HMODULE hLibModule for FreeLibrary
.text:0040e4d7 ff1560b04100 CALL dword ptr [->KERNEL32.DLL::FreeLibrary] ;= 000224d8
LAB_0040e4dd: ;XREF[2,0]: 0040e43d,0040e4d4
.text:0040e4dd 8bc6 MOV EAX,ESI
.text:0040e4df ebde JMP LAB_0040e4bf
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;_func_void_void_ptr_ulong_void_ptr * FUN_0040e4e1(int param_1, LPCSTR param_2, int * param_3, int * param_4)
;param_1 int 4 ;XREF[1,0]: 0040e4e6
;param_2 LPCSTR 8 ;XREF[1,0]: 0040e52b
;param_3 int * c ;XREF[1,0]: 0040e51d
;param_4 int * 10 ;XREF[1,0]: 0040e51a
;XREF[10,0]: 0040e3bf,0040e3d9,0040e3f3,0040e40d
; 0040e57d,0040e639,0040e678,0040e6b7
; 0040e6f6,0040e738
.text:0040e4e1 8bff MOV EDI,EDI
.text:0040e4e3 55 PUSH EBP
.text:0040e4e4 8bec MOV EBP,ESP
.text:0040e4e6 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040e4e9 53 PUSH EBX
.text:0040e4ea 56 PUSH ESI
.text:0040e4eb 8d1c85384... LEA EBX,[EAX*0x4 + .data:DAT_00424038] ;= ??
.text:0040e4f2 8b13 MOV EDX,dword ptr [EBX]=>.data:DAT_00424038 ;= ??
.text:0040e4f4 90 NOP
.text:0040e4f5 8b0d14304200 MOV ECX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040e4fb 83ceff OR ESI,0xffffffff
.text:0040e4fe 331514304200 XOR EDX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040e504 83e11f AND ECX,0x1f
.text:0040e507 d3ca ROR EDX,CL
.text:0040e509 3bd6 CMP EDX,ESI
.text:0040e50b 7504 JNZ LAB_0040e511
.text:0040e50d 33c0 XOR EAX,EAX
.text:0040e50f eb51 JMP LAB_0040e562
LAB_0040e511: ;XREF[1,0]: 0040e50b
.text:0040e511 85d2 TEST EDX,EDX
.text:0040e513 7404 JZ LAB_0040e519
.text:0040e515 8bc2 MOV EAX,EDX
.text:0040e517 eb49 JMP LAB_0040e562
LAB_0040e519: ;XREF[1,0]: 0040e513
.text:0040e519 57 PUSH EDI
.text:0040e51a ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040e51d ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040e520 e8f1feffff CALL FUN_0040e416 ;HMODULE FUN_0040e416(int * param_1, ...
.text:0040e525 59 POP ECX
.text:0040e526 59 POP ECX
.text:0040e527 85c0 TEST EAX,EAX
.text:0040e529 741d JZ LAB_0040e548
.text:0040e52b ff750c PUSH dword ptr [EBP + param_2+0x4] ;LPCSTR lpProcName for GetProcAddress
.text:0040e52e 50 PUSH EAX ;HMODULE hModule for GetProcAddress
.text:0040e52f ff1564b04100 CALL dword ptr [->KERNEL32.DLL::GetProcAdd...;= 000224e6
.text:0040e535 8bf8 MOV EDI,EAX
.text:0040e537 85ff TEST EDI,EDI
.text:0040e539 740d JZ LAB_0040e548
.text:0040e53b 57 PUSH EDI
.text:0040e53c e89760ffff CALL __crt_fast_encode_pointer;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e541 59 POP ECX
.text:0040e542 8703 XCHG dword ptr [EBX],EAX=>.data:DAT_00424038 ;= ??
.text:0040e544 8bc7 MOV EAX,EDI
.text:0040e546 eb19 JMP LAB_0040e561
LAB_0040e548: ;XREF[2,0]: 0040e529,0040e539
.text:0040e548 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0040e54d 6a20 PUSH 0x20
.text:0040e54f 83e01f AND EAX,0x1f
.text:0040e552 59 POP ECX
.text:0040e553 2bc8 SUB ECX,EAX
.text:0040e555 d3ce ROR ESI,CL
.text:0040e557 333514304200 XOR ESI,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:0040e55d 8733 XCHG dword ptr [EBX],ESI=>.data:DAT_00424038 ;= ??
.text:0040e55f 33c0 XOR EAX,EAX
LAB_0040e561: ;XREF[1,0]: 0040e546
.text:0040e561 5f POP EDI
LAB_0040e562: ;XREF[2,0]: 0040e50f,0040e517
.text:0040e562 5e POP ESI
.text:0040e563 5b POP EBX
.text:0040e564 5d POP EBP
.text:0040e565 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040e566(ulong param_1)
;param_1 ulong 4 ;XREF[1,0]: 0040e58b
;XREF[1,0]: 0040dfee
.text:0040e566 8bff MOV EDI,EDI
.text:0040e568 55 PUSH EBP
.text:0040e569 8bec MOV EBP,ESP
.text:0040e56b 56 PUSH ESI
.text:0040e56c 68d0d14100 PUSH .rdata:s_AppPolicyGetProcessTerminati...;= "AppPolicyGetProcessTerminationMet...
.text:0040e571 68ccd14100 PUSH .rdata:DAT_0041d1cc ;= 13h
.text:0040e576 68d0d14100 PUSH .rdata:s_AppPolicyGetProcessTerminati...;= "AppPolicyGetProcessTerminationMet...
.text:0040e57b 6a19 PUSH 0x19
.text:0040e57d e85fffffff CALL FUN_0040e4e1 ;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e582 8bf0 MOV ESI,EAX
.text:0040e584 83c410 ADD ESP,0x10
.text:0040e587 85f6 TEST ESI,ESI
.text:0040e589 7411 JZ LAB_0040e59c
.text:0040e58b ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e58e 8bce MOV ECX,ESI
.text:0040e590 6afa PUSH -0x6
.text:0040e592 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e598 ffd6 CALL ESI
.text:0040e59a eb05 JMP LAB_0040e5a1
LAB_0040e59c: ;XREF[1,0]: 0040e589
.text:0040e59c b8250200c0 MOV EAX,0xc0000225
LAB_0040e5a1: ;XREF[1,0]: 0040e59a
.text:0040e5a1 5e POP ESI
.text:0040e5a2 5d POP EBP
.text:0040e5a3 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_AreFileApisANSI@0 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int ___acrt_AreFileApisANSI@0(void)
;XREF[1,0]: 004112c3
.text:0040e5a6 8bff MOV EDI,EDI
.text:0040e5a8 56 PUSH ESI
.text:0040e5a9 e800feffff CALL try_get_AreFileApisANSI ;_func_int * try_get_AreFileApisANSI(...
.text:0040e5ae 8bf0 MOV ESI,EAX
.text:0040e5b0 85f6 TEST ESI,ESI
.text:0040e5b2 740c JZ LAB_0040e5c0
.text:0040e5b4 8bce MOV ECX,ESI
.text:0040e5b6 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e5bc ffd6 CALL ESI
.text:0040e5be 5e POP ESI
.text:0040e5bf c3 RET
LAB_0040e5c0: ;XREF[1,0]: 0040e5b2
.text:0040e5c0 33c0 XOR EAX,EAX
.text:0040e5c2 40 INC EAX
.text:0040e5c3 5e POP ESI
.text:0040e5c4 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* ___acrt_CompareStringEx@36 *
;* ___acrt_LCMapStringEx@36 *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined FID_conflict:___acrt_CompareStringEx@36(wchar_t * param_1, ulong param_2, wchar_t * param_3, int param_4, wchar_t * param_5, int param_6, _nlsversioninfo * param_7, void * param_8, long param_9)
;param_1 wchar_t * 4 ;XREF[2,0]: 0040e5f0,0040e60e
;param_2 ulong 8 ;XREF[2,0]: 0040e5ed,0040e609
;param_3 wchar_t * c ;XREF[2,0]: 0040e5ea,0040e606
;param_4 int 10 ;XREF[2,0]: 0040e5e7,0040e603
;param_5 wchar_t * 14 ;XREF[2,0]: 0040e5e4,0040e600
;param_6 int 18 ;XREF[2,0]: 0040e5e1,0040e5fd
;param_7 _nlsversion... 1c ;XREF[1,0]: 0040e5de
;param_8 void * 20 ;XREF[1,0]: 0040e5db
;param_9 long 24 ;XREF[1,0]: 0040e5d6
;XREF[1,0]: 00418af7
.text:0040e5c5 8bff MOV EDI,EDI
.text:0040e5c7 55 PUSH EBP
.text:0040e5c8 8bec MOV EBP,ESP
.text:0040e5ca 56 PUSH ESI
.text:0040e5cb e8f8fdffff CALL try_get_CompareStringEx ;_func_int_wchar_t_ptr_ulong_wchar_t_...
.text:0040e5d0 8bf0 MOV ESI,EAX
.text:0040e5d2 85f6 TEST ESI,ESI
.text:0040e5d4 7427 JZ LAB_0040e5fd
.text:0040e5d6 ff7528 PUSH dword ptr [EBP + param_9+0x4]
.text:0040e5d9 8bce MOV ECX,ESI
.text:0040e5db ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:0040e5de ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0040e5e1 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:0040e5e4 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040e5e7 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040e5ea ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040e5ed ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040e5f0 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e5f3 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e5f9 ffd6 CALL ESI
.text:0040e5fb eb20 JMP LAB_0040e61d
LAB_0040e5fd: ;XREF[1,0]: 0040e5d4
.text:0040e5fd ff751c PUSH dword ptr [EBP + param_6+0x4] ;int cchCount2 for CompareStringW
.text:0040e600 ff7518 PUSH dword ptr [EBP + param_5+0x4] ;PCNZWCH lpString2 for CompareStringW
.text:0040e603 ff7514 PUSH dword ptr [EBP + param_4+0x4] ;int cchCount1 for CompareStringW
.text:0040e606 ff7510 PUSH dword ptr [EBP + param_3+0x4] ;PCNZWCH lpString1 for CompareStringW
.text:0040e609 ff750c PUSH dword ptr [EBP + param_2+0x4] ;DWORD dwCmpFlags for CompareStringW
.text:0040e60c 6a00 PUSH 0x0
.text:0040e60e ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e611 e8b3010000 CALL ___acrt_LocaleNameToLCID@8 ;undefined ___acrt_LocaleNameToLCID@8...
.text:0040e616 50 PUSH EAX ;LCID Locale for CompareStringW
.text:0040e617 ff1598b04100 CALL dword ptr [->KERNEL32.DLL::CompareStr...;= 000225be
LAB_0040e61d: ;XREF[1,0]: 0040e5fb
.text:0040e61d 5e POP ESI
.text:0040e61e 5d POP EBP
.text:0040e61f c22400 RET 0x24
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_FlsAlloc@4 *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_FlsAlloc@4(void * param_1)
;param_1 void * 4 ;XREF[1,0]: 0040e647
;XREF[1,0]: 00410753
.text:0040e622 8bff MOV EDI,EDI
.text:0040e624 55 PUSH EBP
.text:0040e625 8bec MOV EBP,ESP
.text:0040e627 56 PUSH ESI
.text:0040e628 6800d24100 PUSH .rdata:DAT_0041d200 ;= 15h
.text:0040e62d 68f8d14100 PUSH .rdata:DAT_0041d1f8 ;= 15h
.text:0040e632 68e4bb4100 PUSH .rdata:s_FlsAlloc_0041bbe4 ;= "FlsAlloc"
.text:0040e637 6a1f PUSH 0x1f
.text:0040e639 e8a3feffff CALL FUN_0040e4e1 ;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e63e 8bf0 MOV ESI,EAX
.text:0040e640 83c410 ADD ESP,0x10
.text:0040e643 85f6 TEST ESI,ESI
.text:0040e645 740f JZ LAB_0040e656
.text:0040e647 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e64a 8bce MOV ECX,ESI
.text:0040e64c ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e652 ffd6 CALL ESI
.text:0040e654 eb06 JMP LAB_0040e65c
LAB_0040e656: ;XREF[1,0]: 0040e645
.text:0040e656 ff1550b04100 CALL dword ptr [->KERNEL32.DLL::TlsAlloc] ;= 000224a6
LAB_0040e65c: ;XREF[1,0]: 0040e654
.text:0040e65c 5e POP ESI
.text:0040e65d 5d POP EBP
.text:0040e65e c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_FlsFree@4 *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_FlsFree@4(void * param_1)
;param_1 void * 4 ;XREF[1,0]: 0040e686
;XREF[1,0]: 00410785
.text:0040e661 8bff MOV EDI,EDI
.text:0040e663 55 PUSH EBP
.text:0040e664 8bec MOV EBP,ESP
.text:0040e666 56 PUSH ESI
.text:0040e667 6808d24100 PUSH .rdata:DAT_0041d208 ;= 15h
.text:0040e66c 6800d24100 PUSH .rdata:DAT_0041d200 ;= 15h
.text:0040e671 68f8bb4100 PUSH .rdata:s_FlsFree_0041bbf8 ;= "FlsFree"
.text:0040e676 6a20 PUSH 0x20
.text:0040e678 e864feffff CALL FUN_0040e4e1 ;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e67d 8bf0 MOV ESI,EAX
.text:0040e67f 83c410 ADD ESP,0x10
.text:0040e682 85f6 TEST ESI,ESI
.text:0040e684 7412 JZ LAB_0040e698
.text:0040e686 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e689 8bce MOV ECX,ESI
.text:0040e68b ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e691 ffd6 CALL ESI
.text:0040e693 5e POP ESI
.text:0040e694 5d POP EBP
.text:0040e695 c20400 RET 0x4
LAB_0040e698: ;XREF[1,0]: 0040e684
.text:0040e698 5e POP ESI
.text:0040e699 5d POP EBP
.text:0040e69a ff255cb04100 JMP dword ptr [->KERNEL32.DLL::TlsFree]
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040e6a0(void * param_1)
;param_1 void * 4 ;XREF[1,0]: 0040e6c5
;XREF[4,0]: 004104c0,00410570,00410611,004106bf
.text:0040e6a0 8bff MOV EDI,EDI
.text:0040e6a2 55 PUSH EBP
.text:0040e6a3 8bec MOV EBP,ESP
.text:0040e6a5 56 PUSH ESI
.text:0040e6a6 6810d24100 PUSH .rdata:DAT_0041d210 ;= 15h
.text:0040e6ab 6808d24100 PUSH .rdata:DAT_0041d208 ;= 15h
.text:0040e6b0 6808bc4100 PUSH .rdata:s_FlsGetValue_0041bc08 ;= "FlsGetValue"
.text:0040e6b5 6a21 PUSH 0x21
.text:0040e6b7 e825feffff CALL FUN_0040e4e1 ;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e6bc 8bf0 MOV ESI,EAX
.text:0040e6be 83c410 ADD ESP,0x10
.text:0040e6c1 85f6 TEST ESI,ESI
.text:0040e6c3 7412 JZ LAB_0040e6d7
.text:0040e6c5 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e6c8 8bce MOV ECX,ESI
.text:0040e6ca ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e6d0 ffd6 CALL ESI
.text:0040e6d2 5e POP ESI
.text:0040e6d3 5d POP EBP
.text:0040e6d4 c20400 RET 0x4
LAB_0040e6d7: ;XREF[1,0]: 0040e6c3
.text:0040e6d7 5e POP ESI
.text:0040e6d8 5d POP EBP
.text:0040e6d9 ff2554b04100 JMP dword ptr [->KERNEL32.DLL::TlsGetValue]
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_FlsSetValue@8 *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_FlsSetValue@8(void * param_1, LPVOID param_2)
;param_1 void * 4 ;XREF[1,0]: 0040e709
;param_2 LPVOID 8 ;XREF[1,0]: 0040e704
;XREF[16,0]: 004104dc,00410507,00410516,00410528
; 0041058a,004105ae,004105c3,004105d3
; 0041062d,00410658,00410667,00410679
; 004106d9,004106fd,00410712,00410722
.text:0040e6df 8bff MOV EDI,EDI
.text:0040e6e1 55 PUSH EBP
.text:0040e6e2 8bec MOV EBP,ESP
.text:0040e6e4 56 PUSH ESI
.text:0040e6e5 6818d24100 PUSH .rdata:PTR_DAT_0041d218 ;= 0041d258
.text:0040e6ea 6810d24100 PUSH .rdata:DAT_0041d210 ;= 15h
.text:0040e6ef 681cbc4100 PUSH .rdata:s_FlsSetValue_0041bc1c ;= "FlsSetValue"
.text:0040e6f4 6a22 PUSH 0x22
.text:0040e6f6 e8e6fdffff CALL FUN_0040e4e1 ;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e6fb 8bf0 MOV ESI,EAX
.text:0040e6fd 83c410 ADD ESP,0x10
.text:0040e700 85f6 TEST ESI,ESI
.text:0040e702 7415 JZ LAB_0040e719
.text:0040e704 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040e707 8bce MOV ECX,ESI
.text:0040e709 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e70c ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e712 ffd6 CALL ESI
.text:0040e714 5e POP ESI
.text:0040e715 5d POP EBP
.text:0040e716 c20800 RET 0x8
LAB_0040e719: ;XREF[1,0]: 0040e702
.text:0040e719 5e POP ESI
.text:0040e71a 5d POP EBP
.text:0040e71b ff2558b04100 JMP dword ptr [->KERNEL32.DLL::TlsSetValue]
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_InitializeCriticalSectionEx@12 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_InitializeCriticalSectionEx@12(LPCRITICAL_SECTION param_1, DWORD param_2, void * param_3)
;param_1 LPCRITICAL_... 4 ;XREF[2,0]: 0040e74e,0040e75e
;param_2 DWORD 8 ;XREF[2,0]: 0040e74b,0040e75b
;param_3 void * c ;XREF[1,0]: 0040e746
;XREF[3,0]: 0040493e,0040df25,00412467
.text:0040e721 8bff MOV EDI,EDI
.text:0040e723 55 PUSH EBP
.text:0040e724 8bec MOV EBP,ESP
.text:0040e726 56 PUSH ESI
.text:0040e727 6898d14100 PUSH .rdata:DAT_0041d198 ;= 03h
.text:0040e72c 6890d14100 PUSH .rdata:DAT_0041d190 ;= 07h
.text:0040e731 6830bc4100 PUSH .rdata:s_InitializeCriticalSectionEx_...;= "InitializeCriticalSectionEx"
.text:0040e736 6a0f PUSH 0xf
.text:0040e738 e8a4fdffff CALL FUN_0040e4e1 ;_func_void_void_ptr_ulong_void_ptr *...
.text:0040e73d 8bf0 MOV ESI,EAX
.text:0040e73f 83c410 ADD ESP,0x10
.text:0040e742 85f6 TEST ESI,ESI
.text:0040e744 7415 JZ LAB_0040e75b
.text:0040e746 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040e749 8bce MOV ECX,ESI
.text:0040e74b ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040e74e ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e751 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e757 ffd6 CALL ESI
.text:0040e759 eb0c JMP LAB_0040e767
LAB_0040e75b: ;XREF[1,0]: 0040e744
.text:0040e75b ff750c PUSH dword ptr [EBP + param_2+0x4] ;DWORD dwSpinCount for InitializeCrit...
.text:0040e75e ff7508 PUSH dword ptr [EBP + param_1+0x4] ;LPCRITICAL_SECTION lpCriticalSection...
.text:0040e761 ff154cb04100 CALL dword ptr [->KERNEL32.DLL::Initialize...;= 0002247e
LAB_0040e767: ;XREF[1,0]: 0040e759
.text:0040e767 5e POP ESI
.text:0040e768 5d POP EBP
.text:0040e769 c20c00 RET 0xc
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* ___acrt_CompareStringEx@36 *
;* ___acrt_LCMapStringEx@36 *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined FID_conflict:___acrt_CompareStringEx@36(wchar_t * param_1, ulong param_2, wchar_t * param_3, int param_4, wchar_t * param_5, int param_6, _nlsversioninfo * param_7, void * param_8, long param_9)
;param_1 wchar_t * 4 ;XREF[2,0]: 0040e797,0040e7b5
;param_2 ulong 8 ;XREF[2,0]: 0040e794,0040e7b0
;param_3 wchar_t * c ;XREF[2,0]: 0040e791,0040e7ad
;param_4 int 10 ;XREF[2,0]: 0040e78e,0040e7aa
;param_5 wchar_t * 14 ;XREF[2,0]: 0040e78b,0040e7a7
;param_6 int 18 ;XREF[2,0]: 0040e788,0040e7a4
;param_7 _nlsversion... 1c ;XREF[1,0]: 0040e785
;param_8 void * 20 ;XREF[1,0]: 0040e782
;param_9 long 24 ;XREF[1,0]: 0040e77d
;XREF[3,0]: 004178ef,0041792c,00417990
.text:0040e76c 8bff MOV EDI,EDI
.text:0040e76e 55 PUSH EBP
.text:0040e76f 8bec MOV EBP,ESP
.text:0040e771 56 PUSH ESI
.text:0040e772 e86bfcffff CALL try_get_LCMapStringEx ;_func_int_wchar_t_ptr_ulong_wchar_t_...
.text:0040e777 8bf0 MOV ESI,EAX
.text:0040e779 85f6 TEST ESI,ESI
.text:0040e77b 7427 JZ LAB_0040e7a4
.text:0040e77d ff7528 PUSH dword ptr [EBP + param_9+0x4]
.text:0040e780 8bce MOV ECX,ESI
.text:0040e782 ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:0040e785 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0040e788 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:0040e78b ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040e78e ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040e791 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040e794 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040e797 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e79a ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e7a0 ffd6 CALL ESI
.text:0040e7a2 eb20 JMP LAB_0040e7c4
LAB_0040e7a4: ;XREF[1,0]: 0040e77b
.text:0040e7a4 ff751c PUSH dword ptr [EBP + param_6+0x4] ;int cchDest for LCMapStringW
.text:0040e7a7 ff7518 PUSH dword ptr [EBP + param_5+0x4] ;LPWSTR lpDestStr for LCMapStringW
.text:0040e7aa ff7514 PUSH dword ptr [EBP + param_4+0x4] ;int cchSrc for LCMapStringW
.text:0040e7ad ff7510 PUSH dword ptr [EBP + param_3+0x4] ;LPCWSTR lpSrcStr for LCMapStringW
.text:0040e7b0 ff750c PUSH dword ptr [EBP + param_2+0x4] ;DWORD dwMapFlags for LCMapStringW
.text:0040e7b3 6a00 PUSH 0x0
.text:0040e7b5 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e7b8 e80c000000 CALL ___acrt_LocaleNameToLCID@8 ;undefined ___acrt_LocaleNameToLCID@8...
.text:0040e7bd 50 PUSH EAX ;LCID Locale for LCMapStringW
.text:0040e7be ff159cb04100 CALL dword ptr [->KERNEL32.DLL::LCMapStringW];= 000225d0
LAB_0040e7c4: ;XREF[1,0]: 0040e7a2
.text:0040e7c4 5e POP ESI
.text:0040e7c5 5d POP EBP
.text:0040e7c6 c22400 RET 0x24
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_LocaleNameToLCID@8 *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_LocaleNameToLCID@8(wchar_t * param_1, ulong param_2)
;param_1 wchar_t * 4 ;XREF[2,0]: 0040e7df,0040e7ec
;param_2 ulong 8 ;XREF[1,0]: 0040e7da
;XREF[2,0]: 0040e611,0040e7b8
.text:0040e7c9 8bff MOV EDI,EDI
.text:0040e7cb 55 PUSH EBP
.text:0040e7cc 8bec MOV EBP,ESP
.text:0040e7ce 56 PUSH ESI
.text:0040e7cf e828fcffff CALL try_get_LocaleNameToLCID ;_func_ulong_wchar_t_ptr_ulong * try_...
.text:0040e7d4 8bf0 MOV ESI,EAX
.text:0040e7d6 85f6 TEST ESI,ESI
.text:0040e7d8 7412 JZ LAB_0040e7ec
.text:0040e7da ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040e7dd 8bce MOV ECX,ESI
.text:0040e7df ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e7e2 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0040e7e8 ffd6 CALL ESI
.text:0040e7ea eb09 JMP LAB_0040e7f5
LAB_0040e7ec: ;XREF[1,0]: 0040e7d8
.text:0040e7ec ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040e7ef e836500000 CALL ___acrt_DownlevelLocaleNameToLCID ;undefined4 ___acrt_DownlevelLocaleNa...
.text:0040e7f4 59 POP ECX
LAB_0040e7f5: ;XREF[1,0]: 0040e7ea
.text:0040e7f5 5e POP ESI
.text:0040e7f6 5d POP EBP
.text:0040e7f7 c20800 RET 0x8
LAB_0040e7fa: ;XREF[1,0]: 0041ca80
.text:0040e7fa a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0040e7ff 57 PUSH EDI
.text:0040e800 6a23 PUSH 0x23
.text:0040e802 59 POP ECX
.text:0040e803 bf38404200 MOV EDI,.data:DAT_00424038 ;= ??
.text:0040e808 f3ab STOSD.REP ES:EDI=>.data:DAT_00424038 ;= ??
.text:0040e80a b001 MOV AL,0x1
.text:0040e80c 5f POP EDI
.text:0040e80d c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_uninitialize_winapi_thunks *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined ___acrt_uninitialize_winapi_thunks(char param_1)
;param_1 char 4 ;XREF[1,0]: 0040e813
;XREF[1,0]: 0041ca84
.text:0040e80e 8bff MOV EDI,EDI
.text:0040e810 55 PUSH EBP
.text:0040e811 8bec MOV EBP,ESP
.text:0040e813 807d0800 CMP byte ptr [EBP + param_1+0x4],0x0
.text:0040e817 7527 JNZ LAB_0040e840
.text:0040e819 56 PUSH ESI
.text:0040e81a bee03f4200 MOV ESI,.data:hLibModule_00423fe0 ;= NaP
LAB_0040e81f: ;XREF[1,0]: 0040e83d
; FWD[2,0]: 00423fe0,00423fe4
.text:0040e81f 833e00 CMP dword ptr [ESI]=...,0x0 ;= NaP
;= ??
.text:0040e822 7410 JZ LAB_0040e834
.text:0040e824 833eff CMP dword ptr [ESI]=...,-0x1 ;= NaP
.text:0040e827 7408 JZ LAB_0040e831
.text:0040e829 ff36 PUSH dword ptr [ESI]=>.data:hLibModule_004...;HMODULE hLibModule for FreeLibrary
.text:0040e82b ff1560b04100 CALL dword ptr [->KERNEL32.DLL::FreeLibrary] ;= 000224d8
LAB_0040e831: ;XREF[1,0]: 0040e827
.text:0040e831 832600 AND dword ptr [ESI]=...,0x0 ;= NaP
LAB_0040e834: ;XREF[1,0]: 0040e822
.text:0040e834 83c604 ADD ESI,0x4
.text:0040e837 81fe38404200 CMP ESI,.data:DAT_00424038 ;= ??
.text:0040e83d 75e0 JNZ LAB_0040e81f
.text:0040e83f 5e POP ESI
LAB_0040e840: ;XREF[1,0]: 0040e817
.text:0040e840 b001 MOV AL,0x1
.text:0040e842 5d POP EBP
.text:0040e843 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __fcloseall *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int __fcloseall(void)
;local_8 undefined4 -8 ;XREF[2,0]: 0040e85c,0040e8c7
;local_14 undefined4 -14 ;XREF[1,0]: 0040e8d6
;local_20 undefined4 -20 ;XREF[3,0]: 0040e850,0040e898,0040e8d3
;local_24 undefined4 -24 ;XREF[1,0]: 0040e863
;XREF[1,0]: 004049a1
.text:0040e844 6a10 PUSH 0x10
.text:0040e846 68c01e4200 PUSH .rdata:DAT_00421ec0 ;= FEh
.text:0040e84b e8b036ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040e850 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
.text:0040e854 6a08 PUSH 0x8
.text:0040e856 e8f8f6ffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:0040e85b 59 POP ECX
.text:0040e85c 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040e860 6a03 PUSH 0x3
.text:0040e862 5e POP ESI
LAB_0040e863: ;XREF[1,0]: 0040e8c5
.text:0040e863 8975e0 MOV dword ptr [EBP + local_24+0x4],ESI
.text:0040e866 3b35183d4200 CMP ESI,dword ptr [.data:DAT_00423d18] ;= ??
.text:0040e86c 7459 JZ LAB_0040e8c7
.text:0040e86e a11c3d4200 MOV EAX,[.data:DAT_00423d1c] ;= ??
.text:0040e873 8b04b0 MOV EAX,dword ptr [EAX + ESI*0x4]
.text:0040e876 85c0 TEST EAX,EAX
.text:0040e878 744a JZ LAB_0040e8c4
.text:0040e87a 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:0040e87d 90 NOP
.text:0040e87e c1e80d SHR EAX,0xd
.text:0040e881 a801 TEST AL,0x1
.text:0040e883 7416 JZ LAB_0040e89b
.text:0040e885 a11c3d4200 MOV EAX,[.data:DAT_00423d1c] ;= ??
.text:0040e88a ff34b0 PUSH dword ptr [EAX + ESI*0x4]
.text:0040e88d e8e9500000 CALL FUN_0041397b ;undefined4 FUN_0041397b(FILE * param_1)
.text:0040e892 59 POP ECX
.text:0040e893 83f8ff CMP EAX,-0x1
.text:0040e896 7403 JZ LAB_0040e89b
.text:0040e898 ff45e4 INC dword ptr [EBP + local_20+0x4]
LAB_0040e89b: ;XREF[2,0]: 0040e883,0040e896
.text:0040e89b a11c3d4200 MOV EAX,[.data:DAT_00423d1c] ;= ??
.text:0040e8a0 8b04b0 MOV EAX,dword ptr [EAX + ESI*0x4]
.text:0040e8a3 83c020 ADD EAX,0x20
.text:0040e8a6 50 PUSH EAX ;LPCRITICAL_SECTION lpCriticalSection...
.text:0040e8a7 ff1548b04100 CALL dword ptr [->KERNEL32.DLL::DeleteCrit...;= 00022466
.text:0040e8ad a11c3d4200 MOV EAX,[.data:DAT_00423d1c] ;= ??
.text:0040e8b2 ff34b0 PUSH dword ptr [EAX + ESI*0x4]
.text:0040e8b5 e8bafaffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040e8ba 59 POP ECX
.text:0040e8bb a11c3d4200 MOV EAX,[.data:DAT_00423d1c] ;= ??
.text:0040e8c0 8324b000 AND dword ptr [EAX + ESI*0x4],0x0
LAB_0040e8c4: ;XREF[1,0]: 0040e878
.text:0040e8c4 46 INC ESI
.text:0040e8c5 eb9c JMP LAB_0040e863
LAB_0040e8c7: ;XREF[1,0]: 0040e86c
.text:0040e8c7 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0040e8ce e813000000 CALL FUN_0040e8e6 ;undefined FUN_0040e8e6(void)
.text:0040e8d3 8b45e4 MOV EAX,dword ptr [EBP + local_20+0x4]
.text:0040e8d6 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:0040e8d9 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:0040e8e0 59 POP ECX
.text:0040e8e1 5f POP EDI
.text:0040e8e2 5e POP ESI
.text:0040e8e3 5b POP EBX
.text:0040e8e4 c9 LEAVE
.text:0040e8e5 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040e8e6(void)
;XREF[1,0]: 0040e8ce
.text:0040e8e6 6a08 PUSH 0x8
.text:0040e8e8 e8aef6ffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:0040e8ed 59 POP ECX
.text:0040e8ee c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 0040e8fb
;param_2 0040e90a
;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 0040e906,0040e951
;local_14 undefined4 -14 ;XREF[1,0]: 0040e95d
;XREF[1,0]: 0040e9f0
.text:0040e8ef 6a08 PUSH 0x8
.text:0040e8f1 68e01e4200 PUSH .rdata:DAT_00421ee0 ;= FEh
.text:0040e8f6 e80536ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040e8fb 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040e8fe ff30 PUSH dword ptr [EAX]
.text:0040e900 e8e060ffff CALL __lock_file ;void __lock_file(FILE * _File)
.text:0040e905 59 POP this
.text:0040e906 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040e90a 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040e90d ff7604 PUSH dword ptr [ESI + 0x4]
.text:0040e910 8b06 MOV EAX,dword ptr [ESI]
.text:0040e912 ff30 PUSH dword ptr [EAX]
.text:0040e914 e85b010000 CALL FUN_0040ea74 ;undefined4 FUN_0040ea74(int param_1,...
.text:0040e919 59 POP this
.text:0040e91a 59 POP this
.text:0040e91b 84c0 TEST AL,AL
.text:0040e91d 7432 JZ LAB_0040e951
.text:0040e91f 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:0040e922 803800 CMP byte ptr [EAX],0x0
.text:0040e925 750e JNZ LAB_0040e935
.text:0040e927 8b06 MOV EAX,dword ptr [ESI]
.text:0040e929 8b00 MOV EAX,dword ptr [EAX]
.text:0040e92b 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:0040e92e 90 NOP
.text:0040e92f d1e8 SHR EAX,0x1
.text:0040e931 a801 TEST AL,0x1
.text:0040e933 741c JZ LAB_0040e951
LAB_0040e935: ;XREF[1,0]: 0040e925
.text:0040e935 8b06 MOV EAX,dword ptr [ESI]
.text:0040e937 ff30 PUSH dword ptr [EAX]
.text:0040e939 e8f3010000 CALL FUN_0040eb31 ;int FUN_0040eb31(FILE * param_1)
.text:0040e93e 59 POP this
.text:0040e93f 83f8ff CMP EAX,-0x1
.text:0040e942 7407 JZ LAB_0040e94b
.text:0040e944 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:0040e947 ff00 INC dword ptr [EAX]
.text:0040e949 eb06 JMP LAB_0040e951
LAB_0040e94b: ;XREF[1,0]: 0040e942
.text:0040e94b 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:0040e94e 8308ff OR dword ptr [EAX],0xffffffff
LAB_0040e951: ;XREF[3,0]: 0040e91d,0040e933,0040e949
.text:0040e951 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0040e958 e812000000 CALL FUN_0040e96f ;undefined FUN_0040e96f(void)
.text:0040e95d 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:0040e960 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:0040e967 59 POP this
.text:0040e968 5f POP EDI
.text:0040e969 5e POP ESI
.text:0040e96a 5b POP EBX
.text:0040e96b c9 LEAVE
.text:0040e96c c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040e96f(void)
;XREF[1,0]: 0040e958
.text:0040e96f 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:0040e972 ff30 PUSH dword ptr [EAX]
.text:0040e974 e88060ffff CALL __unlock_file ;void __unlock_file(FILE * _File)
.text:0040e979 59 POP ECX
.text:0040e97a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 0040e987
;param_2 0040e9a4,0040e9f5
;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 0040e992,0040e9fd
;local_14 undefined4 -14 ;XREF[1,0]: 0040ea09
;local_1d undefined1 -1d ;XREF[1,0]: 0040e9ed
;local_24 undefined4 -24 ;XREF[3,0]: 0040e9b0,0040e9c9,0040e9d8
;local_28 undefined4 -28 ;XREF[2,0]: 0040e9db,0040e9e1
;local_2c undefined4 -2c ;XREF[2,0]: 0040e9de,0040e9e9
;local_30 undefined4 -30 ;XREF[1,0]: 0040e9a7
;local_34 undefined4 -34 ;XREF[1,0]: 0040e9d5
;local_38 undefined4 -38 ;XREF[1,0]: 0040e9d2
;local_3c undefined4 -3c ;XREF[1,0]: 0040e9cf
;local_40 undefined4 -40 ;XREF[2,0]: 0040e9cc,0040e9e5
;XREF[1,0]: 0040ea61
.text:0040e97b 6a2c PUSH 0x2c
.text:0040e97d 68001f4200 PUSH .rdata:DAT_00421f00 ;= FEh
.text:0040e982 e87935ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040e987 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040e98a ff30 PUSH dword ptr [EAX]
.text:0040e98c e8c2f5ffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:0040e991 59 POP this
.text:0040e992 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:0040e996 8b351c3d4200 MOV ESI,dword ptr [.data:DAT_00423d1c] ;= ??
.text:0040e99c a1183d4200 MOV EAX,[.data:DAT_00423d18] ;= ??
.text:0040e9a1 8d1c86 LEA EBX,[ESI + EAX*0x4]
.text:0040e9a4 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
LAB_0040e9a7: ;XREF[1,0]: 0040e9fb
.text:0040e9a7 8975d4 MOV dword ptr [EBP + local_30+0x4],ESI
.text:0040e9aa 3bf3 CMP ESI,EBX
.text:0040e9ac 744f JZ LAB_0040e9fd
.text:0040e9ae 8b06 MOV EAX,dword ptr [ESI]
.text:0040e9b0 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:0040e9b3 ff37 PUSH dword ptr [EDI]
.text:0040e9b5 50 PUSH EAX
.text:0040e9b6 e8b9000000 CALL FUN_0040ea74 ;undefined4 FUN_0040ea74(int param_1,...
.text:0040e9bb 59 POP this
.text:0040e9bc 59 POP this
.text:0040e9bd 84c0 TEST AL,AL
.text:0040e9bf 7437 JZ LAB_0040e9f8
.text:0040e9c1 8b5708 MOV EDX,dword ptr [EDI + 0x8]
.text:0040e9c4 8b4f04 MOV this,dword ptr [EDI + 0x4]
.text:0040e9c7 8b07 MOV EAX,dword ptr [EDI]
.text:0040e9c9 8d7de0 LEA EDI=>local_24,[EBP + -0x20]
.text:0040e9cc 897dc4 MOV dword ptr [EBP + local_40+0x4],EDI
.text:0040e9cf 8945c8 MOV dword ptr [EBP + local_3c+0x4],EAX
.text:0040e9d2 894dcc MOV dword ptr [EBP + local_38+0x4],this
.text:0040e9d5 8955d0 MOV dword ptr [EBP + local_34+0x4],EDX
.text:0040e9d8 8b45e0 MOV EAX,dword ptr [EBP + local_24+0x4]
.text:0040e9db 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:0040e9de 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:0040e9e1 8d45dc LEA EAX=>local_28,[EBP + -0x24]
.text:0040e9e4 50 PUSH EAX
.text:0040e9e5 8d45c4 LEA EAX=>local_40,[EBP + -0x3c]
.text:0040e9e8 50 PUSH EAX
.text:0040e9e9 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
.text:0040e9ec 50 PUSH EAX
.text:0040e9ed 8d4de7 LEA this=>local_1d,[EBP + -0x19]
.text:0040e9f0 e8fafeffff CALL __crt_seh_guarded_call::operato... ;void operator().text:0040e9f5 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
LAB_0040e9f8: ;XREF[1,0]: 0040e9bf
.text:0040e9f8 83c604 ADD ESI,0x4
.text:0040e9fb ebaa JMP LAB_0040e9a7
LAB_0040e9fd: ;XREF[1,0]: 0040e9ac
.text:0040e9fd c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0040ea04 e812000000 CALL FUN_0040ea1b ;undefined FUN_0040ea1b(void)
.text:0040ea09 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:0040ea0c 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:0040ea13 59 POP this
.text:0040ea14 5f POP EDI
.text:0040ea15 5e POP ESI
.text:0040ea16 5b POP EBX
.text:0040ea17 c9 LEAVE
.text:0040ea18 c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040ea1b(void)
;XREF[1,0]: 0040ea04
.text:0040ea1b 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:0040ea1e ff30 PUSH dword ptr [EAX]
.text:0040ea20 e876f5ffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:0040ea25 59 POP ECX
.text:0040ea26 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl common_flush_all(bool) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int common_flush_all(bool param_1)
;param_1 bool 4 ;XREF[2,0]: 0040ea40,0040ea66
;local_5 undefined1 -5 ;XREF[1,0]: 0040ea3a
;local_c undefined4 -c ;XREF[3,0]: 0040ea2f,0040ea33,0040ea6a
;local_10 undefined4 -10 ;XREF[3,0]: 0040ea36,0040ea46,0040ea6f
;local_14 undefined4 -14 ;XREF[2,0]: 0040ea4f,0040ea55
;local_18 undefined4 -18 ;XREF[2,0]: 0040ea52,0040ea5d
;local_1c undefined4 -1c ;XREF[1,0]: 0040ea4b
;local_20 undefined4 -20 ;XREF[1,0]: 0040ea43
;local_24 undefined4 -24 ;XREF[2,0]: 0040ea3d,0040ea59
;XREF[2,0]: 0040eb4e,0040eb98
.text:0040ea27 8bff MOV EDI,EDI
.text:0040ea29 55 PUSH EBP
.text:0040ea2a 8bec MOV EBP,ESP
.text:0040ea2c 83ec20 SUB ESP,0x20
.text:0040ea2f 8365f800 AND dword ptr [EBP + local_c+0x4],0x0
.text:0040ea33 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0040ea36 8365f400 AND dword ptr [EBP + local_10+0x4],0x0
.text:0040ea3a 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:0040ea3d 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:0040ea40 8d4508 LEA EAX=>param_1,[EBP + 0x8]
.text:0040ea43 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:0040ea46 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040ea49 6a08 PUSH 0x8
.text:0040ea4b 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:0040ea4e 58 POP EAX
.text:0040ea4f 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:0040ea52 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0040ea55 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:0040ea58 50 PUSH EAX
.text:0040ea59 8d45e0 LEA EAX=>local_24,[EBP + -0x20]
.text:0040ea5c 50 PUSH EAX
.text:0040ea5d 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:0040ea60 50 PUSH EAX
.text:0040ea61 e815ffffff CALL __crt_seh_guarded_call::operato... ;void operator().text:0040ea66 807d0800 CMP byte ptr [EBP + param_1+0x4],0x0
.text:0040ea6a 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:0040ea6d 7503 JNZ LAB_0040ea72
.text:0040ea6f 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
LAB_0040ea72: ;XREF[1,0]: 0040ea6d
.text:0040ea72 c9 LEAVE
.text:0040ea73 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040ea74(int param_1, int * param_2)
;param_1 int 4 ;XREF[1,0]: 0040ea79
;param_2 int * 8 ;XREF[1,0]: 0040ea98
;XREF[2,0]: 0040e914,0040e9b6
.text:0040ea74 8bff MOV EDI,EDI
.text:0040ea76 55 PUSH EBP
.text:0040ea77 8bec MOV EBP,ESP
.text:0040ea79 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040ea7c 85c0 TEST EAX,EAX
.text:0040ea7e 741d JZ LAB_0040ea9d
.text:0040ea80 8b480c MOV ECX,dword ptr [EAX + 0xc]
.text:0040ea83 90 NOP
.text:0040ea84 8bc1 MOV EAX,ECX
.text:0040ea86 c1e80d SHR EAX,0xd
.text:0040ea89 a801 TEST AL,0x1
.text:0040ea8b 7410 JZ LAB_0040ea9d
.text:0040ea8d 51 PUSH ECX
.text:0040ea8e e812000000 CALL FUN_0040eaa5 ;uint FUN_0040eaa5(uint param_1)
.text:0040ea93 59 POP ECX
.text:0040ea94 84c0 TEST AL,AL
.text:0040ea96 7509 JNZ LAB_0040eaa1
.text:0040ea98 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040ea9b ff00 INC dword ptr [EAX]
LAB_0040ea9d: ;XREF[2,0]: 0040ea7e,0040ea8b
.text:0040ea9d 32c0 XOR AL,AL
.text:0040ea9f 5d POP EBP
.text:0040eaa0 c3 RET
LAB_0040eaa1: ;XREF[1,0]: 0040ea96
.text:0040eaa1 b001 MOV AL,0x1
.text:0040eaa3 5d POP EBP
.text:0040eaa4 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040eaa5(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 0040eaaa
;XREF[1,0]: 0040ea8e
.text:0040eaa5 8bff MOV EDI,EDI
.text:0040eaa7 55 PUSH EBP
.text:0040eaa8 8bec MOV EBP,ESP
.text:0040eaaa 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040eaad 8bc1 MOV EAX,ECX
.text:0040eaaf 2403 AND AL,0x3
.text:0040eab1 3c02 CMP AL,0x2
.text:0040eab3 7509 JNZ LAB_0040eabe
.text:0040eab5 f6c1c0 TEST CL,0xc0
.text:0040eab8 7404 JZ LAB_0040eabe
.text:0040eaba fec8 DEC AL
.text:0040eabc 5d POP EBP
.text:0040eabd c3 RET
LAB_0040eabe: ;XREF[2,0]: 0040eab3,0040eab8
.text:0040eabe c1e90b SHR ECX,0xb
.text:0040eac1 80e101 AND CL,0x1
.text:0040eac4 8ac1 MOV AL,CL
.text:0040eac6 5d POP EBP
.text:0040eac7 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040eac8(FILE * param_1, __acrt_ptd * * param_2)
;param_1 FILE * 4 ;XREF[1,0]: 0040eacd
;param_2 __acrt_ptd * * 8 ;XREF[1,0]: 0040eafd
;XREF[3,0]: 0040eb5d,0041014e,00413930
.text:0040eac8 8bff MOV EDI,EDI
.text:0040eaca 55 PUSH EBP
.text:0040eacb 8bec MOV EBP,ESP
.text:0040eacd 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040ead0 53 PUSH EBX
.text:0040ead1 56 PUSH ESI
.text:0040ead2 57 PUSH EDI
.text:0040ead3 8d710c LEA ESI,[ECX + 0xc]
.text:0040ead6 8b16 MOV EDX,dword ptr [ESI]
.text:0040ead8 90 NOP
.text:0040ead9 8bc2 MOV EAX,EDX
.text:0040eadb 2403 AND AL,0x3
.text:0040eadd 3c02 CMP AL,0x2
.text:0040eadf 7549 JNZ LAB_0040eb2a
.text:0040eae1 f6c2c0 TEST DL,0xc0
.text:0040eae4 7444 JZ LAB_0040eb2a
.text:0040eae6 8b39 MOV EDI,dword ptr [ECX]
.text:0040eae8 8b5904 MOV EBX,dword ptr [ECX + 0x4]
.text:0040eaeb 2bfb SUB EDI,EBX
.text:0040eaed 8919 MOV dword ptr [ECX],EBX
.text:0040eaef 83610800 AND dword ptr [ECX + 0x8],0x0
.text:0040eaf3 85ff TEST EDI,EDI
.text:0040eaf5 7e33 JLE LAB_0040eb2a
.text:0040eaf7 51 PUSH ECX
.text:0040eaf8 e8de140000 CALL __fileno ;int __fileno(FILE * _File)
.text:0040eafd ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040eb00 57 PUSH EDI
.text:0040eb01 53 PUSH EBX
.text:0040eb02 50 PUSH EAX
.text:0040eb03 e864570000 CALL FUN_0041426c ;int FUN_0041426c(char * param_1, byt...
.text:0040eb08 83c414 ADD ESP,0x14
.text:0040eb0b 3bf8 CMP EDI,EAX
.text:0040eb0d 740b JZ LAB_0040eb1a
.text:0040eb0f 6a10 PUSH 0x10
.text:0040eb11 58 POP EAX
.text:0040eb12 f00906 OR.LOCK dword ptr [ESI],EAX
.text:0040eb15 83c8ff OR EAX,0xffffffff
.text:0040eb18 eb12 JMP LAB_0040eb2c
LAB_0040eb1a: ;XREF[1,0]: 0040eb0d
.text:0040eb1a 8b06 MOV EAX,dword ptr [ESI]
.text:0040eb1c 90 NOP
.text:0040eb1d c1e802 SHR EAX,0x2
.text:0040eb20 a801 TEST AL,0x1
.text:0040eb22 7406 JZ LAB_0040eb2a
.text:0040eb24 6afd PUSH -0x3
.text:0040eb26 58 POP EAX
.text:0040eb27 f02106 AND.LOCK dword ptr [ESI],EAX
LAB_0040eb2a: ;XREF[4,0]: 0040eadf,0040eae4,0040eaf5,0040eb22
.text:0040eb2a 33c0 XOR EAX,EAX
LAB_0040eb2c: ;XREF[1,0]: 0040eb18
.text:0040eb2c 5f POP EDI
.text:0040eb2d 5e POP ESI
.text:0040eb2e 5b POP EBX
.text:0040eb2f 5d POP EBP
.text:0040eb30 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_0040eb31(FILE * param_1)
;param_1 FILE * 4 ;XREF[1,0]: 0040eb46
;local_2c undefined1 -2c ;XREF[3,0]: 0040eb39,0040eb58,0040eb88
;XREF[1,0]: 0040e939
.text:0040eb31 8bff MOV EDI,EDI
.text:0040eb33 55 PUSH EBP
.text:0040eb34 8bec MOV EBP,ESP
.text:0040eb36 83ec28 SUB ESP,0x28
.text:0040eb39 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:0040eb3c 56 PUSH ESI
.text:0040eb3d 57 PUSH EDI
.text:0040eb3e 33f6 XOR ESI,ESI
.text:0040eb40 56 PUSH ESI
.text:0040eb41 e88a6affff CALL FUN_004055d0 ;void * FUN_004055d0(void * this, und...
.text:0040eb46 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0040eb49 85ff TEST EDI,EDI
.text:0040eb4b 750b JNZ LAB_0040eb58
.text:0040eb4d 56 PUSH ESI
.text:0040eb4e e8d4feffff CALL common_flush_all ;int common_flush_all(bool param_1)
.text:0040eb53 59 POP ECX
.text:0040eb54 8bf0 MOV ESI,EAX
.text:0040eb56 eb30 JMP LAB_0040eb88
LAB_0040eb58: ;XREF[1,0]: 0040eb4b
.text:0040eb58 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
.text:0040eb5b 50 PUSH EAX
.text:0040eb5c 57 PUSH EDI
.text:0040eb5d e866ffffff CALL FUN_0040eac8 ;undefined4 FUN_0040eac8(FILE * param...
.text:0040eb62 59 POP ECX
.text:0040eb63 59 POP ECX
.text:0040eb64 85c0 TEST EAX,EAX
.text:0040eb66 751d JNZ LAB_0040eb85
.text:0040eb68 8b470c MOV EAX,dword ptr [EDI + 0xc]
.text:0040eb6b 90 NOP
.text:0040eb6c c1e80b SHR EAX,0xb
.text:0040eb6f a801 TEST AL,0x1
.text:0040eb71 7415 JZ LAB_0040eb88
.text:0040eb73 57 PUSH EDI
.text:0040eb74 e862140000 CALL __fileno ;int __fileno(FILE * _File)
.text:0040eb79 50 PUSH EAX
.text:0040eb7a e8ce4e0000 CALL __commit ;int __commit(int _FileHandle)
.text:0040eb7f 59 POP ECX
.text:0040eb80 59 POP ECX
.text:0040eb81 85c0 TEST EAX,EAX
.text:0040eb83 7403 JZ LAB_0040eb88
LAB_0040eb85: ;XREF[1,0]: 0040eb66
.text:0040eb85 83ceff OR ESI,0xffffffff
LAB_0040eb88: ;XREF[3,0]: 0040eb56,0040eb71,0040eb83
.text:0040eb88 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:0040eb8b e8a06affff CALL FUN_00405630 ;undefined FUN_00405630(__acrt_ptd * ...
.text:0040eb90 5f POP EDI
.text:0040eb91 8bc6 MOV EAX,ESI
.text:0040eb93 5e POP ESI
.text:0040eb94 c9 LEAVE
.text:0040eb95 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __flushall *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int __flushall(void)
;XREF[2,0]: 0040499c,0040da38
.text:0040eb96 6a01 PUSH 0x1
.text:0040eb98 e88afeffff CALL common_flush_all ;int common_flush_all(bool param_1)
.text:0040eb9d 59 POP ECX
.text:0040eb9e c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_stdio_free_buffer_nolock *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined ___acrt_stdio_free_buffer_nolock(undefined4 * param_1)
;param_1 undefined4 * 4 ;XREF[1,0]: 0040eba5
;XREF[2,0]: 004049b0,00413938
.text:0040eb9f 8bff MOV EDI,EDI
.text:0040eba1 55 PUSH EBP
.text:0040eba2 8bec MOV EBP,ESP
.text:0040eba4 56 PUSH ESI
.text:0040eba5 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040eba8 57 PUSH EDI
.text:0040eba9 8d7e0c LEA EDI,[ESI + 0xc]
.text:0040ebac 8b07 MOV EAX,dword ptr [EDI]
.text:0040ebae 90 NOP
.text:0040ebaf c1e80d SHR EAX,0xd
.text:0040ebb2 a801 TEST AL,0x1
.text:0040ebb4 7425 JZ LAB_0040ebdb
.text:0040ebb6 8b07 MOV EAX,dword ptr [EDI]
.text:0040ebb8 90 NOP
.text:0040ebb9 c1e806 SHR EAX,0x6
.text:0040ebbc a801 TEST AL,0x1
.text:0040ebbe 741b JZ LAB_0040ebdb
.text:0040ebc0 ff7604 PUSH dword ptr [ESI + 0x4]
.text:0040ebc3 e8acf7ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0040ebc8 59 POP ECX
.text:0040ebc9 b8bffeffff MOV EAX,0xfffffebf
.text:0040ebce f02107 AND.LOCK dword ptr [EDI],EAX
.text:0040ebd1 33c0 XOR EAX,EAX
.text:0040ebd3 894604 MOV dword ptr [ESI + 0x4],EAX
.text:0040ebd6 8906 MOV dword ptr [ESI],EAX
.text:0040ebd8 894608 MOV dword ptr [ESI + 0x8],EAX
LAB_0040ebdb: ;XREF[2,0]: 0040ebb4,0040ebbe
.text:0040ebdb 5f POP EDI
.text:0040ebdc 5e POP ESI
.text:0040ebdd 5d POP EBP
.text:0040ebde c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl initialize_inherited_file_handles_nolock(void) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void initialize_inherited_file_handles_nolock(void)
;local_8 undefined4 -8 ;XREF[5,0]: 0040ec10,0040ec37,0040ec6c,0040ec82,0040ec89
;local_18 undefined4 -18 ;XREF[1,0]: 0040ebfd
;local_1a undefined2 -1a ;XREF[1,0]: 0040ebf1
;local_4c undefined1 -4c ;XREF[1,0]: 0040ebe7
;XREF[1,0]: 0040ed6c
.text:0040ebdf 8bff MOV EDI,EDI
.text:0040ebe1 55 PUSH EBP
.text:0040ebe2 8bec MOV EBP,ESP
.text:0040ebe4 83ec48 SUB ESP,0x48
.text:0040ebe7 8d45b8 LEA EAX=>local_4c,[EBP + -0x48]
.text:0040ebea 50 PUSH EAX ;LPSTARTUPINFOW lpStartupInfo for Get...
.text:0040ebeb ff1520b04100 CALL dword ptr [->KERNEL32.DLL::GetStartup...;= 000223a0
.text:0040ebf1 66837dea00 CMP word ptr [EBP + local_1a+0x4],0x0
.text:0040ebf6 0f8497000000 JZ LAB_0040ec93
.text:0040ebfc 53 PUSH EBX
.text:0040ebfd 8b5dec MOV EBX,dword ptr [EBP + local_18+0x4]
.text:0040ec00 85db TEST EBX,EBX
.text:0040ec02 0f848a000000 JZ LAB_0040ec92
.text:0040ec08 56 PUSH ESI
.text:0040ec09 8b33 MOV ESI,dword ptr [EBX]
.text:0040ec0b 8d4304 LEA EAX,[EBX + 0x4]
.text:0040ec0e 03c6 ADD EAX,ESI
.text:0040ec10 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040ec13 b800200000 MOV EAX,0x2000
.text:0040ec18 3bf0 CMP ESI,EAX
.text:0040ec1a 7c02 JL LAB_0040ec1e
.text:0040ec1c 8bf0 MOV ESI,EAX
LAB_0040ec1e: ;XREF[1,0]: 0040ec1a
.text:0040ec1e 56 PUSH ESI
.text:0040ec1f e8b6380000 CALL ___acrt_lowio_ensure_fh_exists ;undefined4 ___acrt_lowio_ensure_fh_e...
.text:0040ec24 a1c8424200 MOV EAX,[.data:DAT_004242c8] ;= ??
.text:0040ec29 59 POP ECX
.text:0040ec2a 3bf0 CMP ESI,EAX
.text:0040ec2c 7e02 JLE LAB_0040ec30
.text:0040ec2e 8bf0 MOV ESI,EAX
LAB_0040ec30: ;XREF[1,0]: 0040ec2c
.text:0040ec30 57 PUSH EDI
.text:0040ec31 33ff XOR EDI,EDI
.text:0040ec33 85f6 TEST ESI,ESI
.text:0040ec35 7459 JZ LAB_0040ec90
.text:0040ec37 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
LAB_0040ec3a: ;XREF[1,0]: 0040ec8e
.text:0040ec3a 8b08 MOV ECX,dword ptr [EAX]
.text:0040ec3c 83f9ff CMP ECX,-0x1
.text:0040ec3f 7444 JZ LAB_0040ec85
.text:0040ec41 83f9fe CMP ECX,-0x2
.text:0040ec44 743f JZ LAB_0040ec85
.text:0040ec46 8a541f04 MOV DL,byte ptr [EDI + EBX*0x1 + 0x4]
.text:0040ec4a f6c201 TEST DL,0x1
.text:0040ec4d 7436 JZ LAB_0040ec85
.text:0040ec4f f6c208 TEST DL,0x8
.text:0040ec52 750b JNZ LAB_0040ec5f
.text:0040ec54 51 PUSH ECX ;HANDLE hFile for GetFileType
.text:0040ec55 ff15a0b04100 CALL dword ptr [->KERNEL32.DLL::GetFileType] ;= 000225e0
.text:0040ec5b 85c0 TEST EAX,EAX
.text:0040ec5d 7423 JZ LAB_0040ec82
LAB_0040ec5f: ;XREF[1,0]: 0040ec52
.text:0040ec5f 8bc7 MOV EAX,EDI
.text:0040ec61 8bcf MOV ECX,EDI
.text:0040ec63 83e03f AND EAX,0x3f
.text:0040ec66 c1f906 SAR ECX,0x6
.text:0040ec69 6bd038 IMUL EDX,EAX,0x38
.text:0040ec6c 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:0040ec6f 03148dc84... ADD EDX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:0040ec76 8b00 MOV EAX,dword ptr [EAX]
.text:0040ec78 894218 MOV dword ptr [EDX + 0x18],EAX
.text:0040ec7b 8a441f04 MOV AL,byte ptr [EDI + EBX*0x1 + 0x4]
.text:0040ec7f 884228 MOV byte ptr [EDX + 0x28],AL
LAB_0040ec82: ;XREF[1,0]: 0040ec5d
.text:0040ec82 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
LAB_0040ec85: ;XREF[3,0]: 0040ec3f,0040ec44,0040ec4d
.text:0040ec85 47 INC EDI
.text:0040ec86 83c004 ADD EAX,0x4
.text:0040ec89 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040ec8c 3bfe CMP EDI,ESI
.text:0040ec8e 75aa JNZ LAB_0040ec3a
LAB_0040ec90: ;XREF[1,0]: 0040ec35
.text:0040ec90 5f POP EDI
.text:0040ec91 5e POP ESI
LAB_0040ec92: ;XREF[1,0]: 0040ec02
.text:0040ec92 5b POP EBX
LAB_0040ec93: ;XREF[1,0]: 0040ebf6
.text:0040ec93 c9 LEAVE
.text:0040ec94 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040ec95(void)
;XREF[1,0]: 0040ed71
.text:0040ec95 8bff MOV EDI,EDI
.text:0040ec97 53 PUSH EBX
.text:0040ec98 56 PUSH ESI
.text:0040ec99 57 PUSH EDI
.text:0040ec9a 33ff XOR EDI,EDI
LAB_0040ec9c: ;XREF[1,0]: 0040ed3b
.text:0040ec9c 8bc7 MOV EAX,EDI
.text:0040ec9e 8bcf MOV ECX,EDI
.text:0040eca0 83e03f AND EAX,0x3f
.text:0040eca3 c1f906 SAR ECX,0x6
.text:0040eca6 6bf038 IMUL ESI,EAX,0x38
.text:0040eca9 03348dc84... ADD ESI,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:0040ecb0 837e18ff CMP dword ptr [ESI + 0x18],-0x1
.text:0040ecb4 740c JZ LAB_0040ecc2
.text:0040ecb6 837e18fe CMP dword ptr [ESI + 0x18],-0x2
.text:0040ecba 7406 JZ LAB_0040ecc2
.text:0040ecbc 804e2880 OR byte ptr [ESI + 0x28],0x80
.text:0040ecc0 eb75 JMP LAB_0040ed37
LAB_0040ecc2: ;XREF[2,0]: 0040ecb4,0040ecba
.text:0040ecc2 8bc7 MOV EAX,EDI
.text:0040ecc4 c6462881 MOV byte ptr [ESI + 0x28],0x81
.text:0040ecc8 83e800 SUB EAX,0x0
.text:0040eccb 7410 JZ LAB_0040ecdd
.text:0040eccd 83e801 SUB EAX,0x1
.text:0040ecd0 7407 JZ LAB_0040ecd9
.text:0040ecd2 83e801 SUB EAX,0x1
.text:0040ecd5 6af4 PUSH -0xc
.text:0040ecd7 eb06 JMP LAB_0040ecdf
LAB_0040ecd9: ;XREF[1,0]: 0040ecd0
.text:0040ecd9 6af5 PUSH -0xb
.text:0040ecdb eb02 JMP LAB_0040ecdf
LAB_0040ecdd: ;XREF[1,0]: 0040eccb
.text:0040ecdd 6af6 PUSH -0xa
LAB_0040ecdf: ;XREF[2,0]: 0040ecd7,0040ecdb
.text:0040ecdf 58 POP EAX
.text:0040ece0 50 PUSH EAX ;DWORD nStdHandle for GetStdHandle
.text:0040ece1 ff157cb04100 CALL dword ptr [->KERNEL32.DLL::GetStdHandle];= 00022550
.text:0040ece7 8bd8 MOV EBX,EAX
.text:0040ece9 83fbff CMP EBX,-0x1
.text:0040ecec 742b JZ LAB_0040ed19
.text:0040ecee 85db TEST EBX,EBX
.text:0040ecf0 7427 JZ LAB_0040ed19
.text:0040ecf2 53 PUSH EBX ;HANDLE hFile for GetFileType
.text:0040ecf3 ff15a0b04100 CALL dword ptr [->KERNEL32.DLL::GetFileType] ;= 000225e0
.text:0040ecf9 85c0 TEST EAX,EAX
.text:0040ecfb 741c JZ LAB_0040ed19
.text:0040ecfd 0fb6c0 MOVZX EAX,AL
.text:0040ed00 895e18 MOV dword ptr [ESI + 0x18],EBX
.text:0040ed03 83f802 CMP EAX,0x2
.text:0040ed06 7506 JNZ LAB_0040ed0e
.text:0040ed08 804e2840 OR byte ptr [ESI + 0x28],0x40
.text:0040ed0c eb29 JMP LAB_0040ed37
LAB_0040ed0e: ;XREF[1,0]: 0040ed06
.text:0040ed0e 83f803 CMP EAX,0x3
.text:0040ed11 7524 JNZ LAB_0040ed37
.text:0040ed13 804e2808 OR byte ptr [ESI + 0x28],0x8
.text:0040ed17 eb1e JMP LAB_0040ed37
LAB_0040ed19: ;XREF[3,0]: 0040ecec,0040ecf0,0040ecfb
.text:0040ed19 804e2840 OR byte ptr [ESI + 0x28],0x40
.text:0040ed1d c74618fef... MOV dword ptr [ESI + 0x18],0xfffffffe
.text:0040ed24 a11c3d4200 MOV EAX,[.data:DAT_00423d1c] ;= ??
.text:0040ed29 85c0 TEST EAX,EAX
.text:0040ed2b 740a JZ LAB_0040ed37
.text:0040ed2d 8b04b8 MOV EAX,dword ptr [EAX + EDI*0x4]
.text:0040ed30 c74010fef... MOV dword ptr [EAX + 0x10],0xfffffffe
LAB_0040ed37: ;XREF[5,0]: 0040ecc0,0040ed0c,0040ed11,0040ed17
; 0040ed2b
.text:0040ed37 47 INC EDI
.text:0040ed38 83ff03 CMP EDI,0x3
.text:0040ed3b 0f855bffffff JNZ LAB_0040ec9c
.text:0040ed41 5f POP EDI
.text:0040ed42 5e POP ESI
.text:0040ed43 5b POP EBX
.text:0040ed44 c3 RET
LAB_0040ed45: ;XREF[1,0]: 0041cab0
.text:0040ed45 6a0c PUSH 0xc
.text:0040ed47 68201f4200 PUSH .rdata:DAT_00421f20 ;= FEh
.text:0040ed4c e8af31ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:0040ed51 6a07 PUSH 0x7
.text:0040ed53 e8fbf1ffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:0040ed58 59 POP ECX
.text:0040ed59 33db XOR EBX,EBX
.text:0040ed5b 885de7 MOV byte ptr [EBP + -0x19],BL
.text:0040ed5e 895dfc MOV dword ptr [EBP + -0x4],EBX
.text:0040ed61 53 PUSH EBX
.text:0040ed62 e873370000 CALL ___acrt_lowio_ensure_fh_exists ;undefined4 ___acrt_lowio_ensure_fh_e...
.text:0040ed67 59 POP ECX
.text:0040ed68 85c0 TEST EAX,EAX
.text:0040ed6a 750f JNZ LAB_0040ed7b
.text:0040ed6c e86efeffff CALL initialize_inherited_file_handles_nolock;void initialize_inherited_file_handl...
.text:0040ed71 e81fffffff CALL FUN_0040ec95 ;undefined FUN_0040ec95(void)
.text:0040ed76 b301 MOV BL,0x1
.text:0040ed78 885de7 MOV byte ptr [EBP + -0x19],BL
LAB_0040ed7b: ;XREF[1,0]: 0040ed6a
.text:0040ed7b c745fcfef... MOV dword ptr [EBP + -0x4],0xfffffffe
.text:0040ed82 e815000000 CALL FUN_0040ed9c ;undefined FUN_0040ed9c(void)
.text:0040ed87 8ac3 MOV AL,BL
.text:0040ed89 8b4df0 MOV ECX,dword ptr [EBP + -0x10]
.text:0040ed8c 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:0040ed93 59 POP ECX
.text:0040ed94 5f POP EDI
.text:0040ed95 5e POP ESI
.text:0040ed96 5b POP EBX
.text:0040ed97 c9 LEAVE
.text:0040ed98 c3 RET
.text:0040ed99 8a ?? 8Ah
.text:0040ed9a 5d ?? 5Dh ]
.text:0040ed9b e7 ?? E7h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040ed9c(void)
;XREF[1,0]: 0040ed82
.text:0040ed9c 6a07 PUSH 0x7
.text:0040ed9e e8f8f1ffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:0040eda3 59 POP ECX
.text:0040eda4 c3 RET
LAB_0040eda5: ;XREF[1,0]: 0041cab4
.text:0040eda5 8bff MOV EDI,EDI
.text:0040eda7 56 PUSH ESI
.text:0040eda8 33f6 XOR ESI,ESI
LAB_0040edaa: ;XREF[1,0]: 0040edcb
; FWD[2,0]: 004240c8,004240cc
.text:0040edaa 8b86c8404200 MOV EAX,dword ptr [ESI + .data:DAT_004240c8];= ??
.text:0040edb0 85c0 TEST EAX,EAX
.text:0040edb2 740e JZ LAB_0040edc2
.text:0040edb4 50 PUSH EAX
.text:0040edb5 e8eb360000 CALL ___acrt_lowio_destroy_handle_array ;undefined ___acrt_lowio_destroy_hand...
.text:0040edba 83a6c8404... AND dword ptr [ESI + .data:DAT_004240c8],0x0;= ??
.text:0040edc1 59 POP ECX
LAB_0040edc2: ;XREF[1,0]: 0040edb2
.text:0040edc2 83c604 ADD ESI,0x4
.text:0040edc5 81fe00020000 CMP ESI,0x200
.text:0040edcb 72dd JC LAB_0040edaa
.text:0040edcd b001 MOV AL,0x1
.text:0040edcf 5e POP ESI
.text:0040edd0 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __malloc_base *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;LPVOID __malloc_base(SIZE_T param_1)
;param_1 SIZE_T 4 ;XREF[1,0]: 0040edd7
;XREF[13,0]: 00404ac6,0040cc3b,004100e7,00411380
; 0041199d,0041204c,004129c5,00416ee6
; 004178a1,00417966,00417c63,00418a01
; 00418a90
.text:0040edd1 8bff MOV EDI,EDI
.text:0040edd3 55 PUSH EBP
.text:0040edd4 8bec MOV EBP,ESP
.text:0040edd6 56 PUSH ESI
.text:0040edd7 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040edda 83fee0 CMP ESI,-0x20
.text:0040eddd 7730 JA LAB_0040ee0f
.text:0040eddf 85f6 TEST ESI,ESI
.text:0040ede1 7517 JNZ LAB_0040edfa
.text:0040ede3 46 INC ESI
.text:0040ede4 eb14 JMP LAB_0040edfa
LAB_0040ede6: ;XREF[1,0]: 0040ee0b
.text:0040ede6 e8aee7ffff CALL FUN_0040d599 ;undefined4 FUN_0040d599(void)
.text:0040edeb 85c0 TEST EAX,EAX
.text:0040eded 7420 JZ LAB_0040ee0f
.text:0040edef 56 PUSH ESI
.text:0040edf0 e835410000 CALL FUN_00412f2a ;bool FUN_00412f2a(undefined4 param_1)
.text:0040edf5 59 POP ECX
.text:0040edf6 85c0 TEST EAX,EAX
.text:0040edf8 7415 JZ LAB_0040ee0f
LAB_0040edfa: ;XREF[2,0]: 0040ede1,0040ede4
.text:0040edfa 56 PUSH ESI ;SIZE_T dwBytes for HeapAlloc
.text:0040edfb 6a00 PUSH 0x0 ;DWORD dwFlags for HeapAlloc
.text:0040edfd ff3504434200 PUSH dword ptr [.data:hHeap_00424304] ;HANDLE hHeap for HeapAlloc
.text:0040ee03 ff1590b04100 CALL dword ptr [->KERNEL32.DLL::HeapAlloc] ;= 000225a6
.text:0040ee09 85c0 TEST EAX,EAX
.text:0040ee0b 74d9 JZ LAB_0040ede6
.text:0040ee0d eb0d JMP LAB_0040ee1c
LAB_0040ee0f: ;XREF[3,0]: 0040eddd,0040eded,0040edf8
.text:0040ee0f e8f0f4ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040ee14 c7000c000000 MOV dword ptr [EAX],0xc
.text:0040ee1a 33c0 XOR EAX,EAX
LAB_0040ee1c: ;XREF[1,0]: 0040ee0d
.text:0040ee1c 5e POP ESI
.text:0040ee1d 5d POP EBP
.text:0040ee1e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040ee1f(undefined[32] * param_1, uint param_2)
;param_1 undefined[3... 4 ;XREF[3,0]: 0040ee30,0040eeaf,0040ef21
;param_2 uint 8 ;XREF[5,0]: 0040ee35,0040ee8f,0040eeb4,0040ef0c,0040ef26
;XREF[2,0]: 004064a6,004069ea
.text:0040ee1f 8bff MOV EDI,EDI
.text:0040ee21 55 PUSH EBP
.text:0040ee22 8bec MOV EBP,ESP
.text:0040ee24 a13c394200 MOV EAX,[.data:DAT_0042393c]
.text:0040ee29 56 PUSH ESI
.text:0040ee2a 57 PUSH EDI
.text:0040ee2b 83f805 CMP EAX,0x5
.text:0040ee2e 7c7a JL LAB_0040eeaa
.text:0040ee30 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040ee33 8bd6 MOV EDX,ESI
.text:0040ee35 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:0040ee38 83e21f AND EDX,0x1f
.text:0040ee3b 6a20 PUSH 0x20
.text:0040ee3d 58 POP EAX
.text:0040ee3e 2bc2 SUB EAX,EDX
.text:0040ee40 f7da NEG EDX
.text:0040ee42 1bd2 SBB EDX,EDX
.text:0040ee44 23d0 AND EDX,EAX
.text:0040ee46 3bfa CMP EDI,EDX
.text:0040ee48 7302 JNC LAB_0040ee4c
.text:0040ee4a 8bd7 MOV EDX,EDI
LAB_0040ee4c: ;XREF[1,0]: 0040ee48
.text:0040ee4c 8d0c32 LEA ECX,[EDX + ESI*0x1]
.text:0040ee4f 8bc6 MOV EAX,ESI
.text:0040ee51 3bf1 CMP ESI,ECX
.text:0040ee53 740a JZ LAB_0040ee5f
LAB_0040ee55: ;XREF[1,0]: 0040ee5d
.text:0040ee55 803800 CMP byte ptr [EAX],0x0
.text:0040ee58 7405 JZ LAB_0040ee5f
.text:0040ee5a 40 INC EAX
.text:0040ee5b 3bc1 CMP EAX,ECX
.text:0040ee5d 75f6 JNZ LAB_0040ee55
LAB_0040ee5f: ;XREF[2,0]: 0040ee53,0040ee58
.text:0040ee5f 8bc8 MOV ECX,EAX
.text:0040ee61 2bce SUB ECX,ESI
.text:0040ee63 3bca CMP ECX,EDX
.text:0040ee65 0f85d0000000 JNZ LAB_0040ef3b
.text:0040ee6b 2bfa SUB EDI,EDX
.text:0040ee6d 8bc8 MOV ECX,EAX
.text:0040ee6f 83e7e0 AND EDI,0xffffffe0
.text:0040ee72 03f8 ADD EDI,EAX
.text:0040ee74 c5f1efc9 VPXOR XMM1,XMM1,XMM1
.text:0040ee78 3bc7 CMP EAX,EDI
.text:0040ee7a 7413 JZ LAB_0040ee8f
LAB_0040ee7c: ;XREF[1,0]: 0040ee8d
.text:0040ee7c c5f57401 VPCMPEQB YMM0,YMM1,ymmword ptr [ECX]
.text:0040ee80 c5fdd7c0 VPMOVMSKB EAX,YMM0
.text:0040ee84 85c0 TEST EAX,EAX
.text:0040ee86 7507 JNZ LAB_0040ee8f
.text:0040ee88 83c120 ADD ECX,0x20
.text:0040ee8b 3bcf CMP ECX,EDI
.text:0040ee8d 75ed JNZ LAB_0040ee7c
LAB_0040ee8f: ;XREF[2,0]: 0040ee7a,0040ee86
.text:0040ee8f 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040ee92 03c6 ADD EAX,ESI
.text:0040ee94 eb06 JMP LAB_0040ee9c
LAB_0040ee96: ;XREF[1,0]: 0040ee9e
.text:0040ee96 803900 CMP byte ptr [ECX],0x0
.text:0040ee99 7405 JZ LAB_0040eea0
.text:0040ee9b 41 INC ECX
LAB_0040ee9c: ;XREF[1,0]: 0040ee94
.text:0040ee9c 3bc8 CMP ECX,EAX
.text:0040ee9e 75f6 JNZ LAB_0040ee96
LAB_0040eea0: ;XREF[1,0]: 0040ee99
.text:0040eea0 2bce SUB ECX,ESI
.text:0040eea2 c5f877 VZEROUPPER
.text:0040eea5 e991000000 JMP LAB_0040ef3b
LAB_0040eeaa: ;XREF[1,0]: 0040ee2e
.text:0040eeaa 83f801 CMP EAX,0x1
.text:0040eead 7c72 JL LAB_0040ef21
.text:0040eeaf 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040eeb2 8bd6 MOV EDX,ESI
.text:0040eeb4 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:0040eeb7 83e20f AND EDX,0xf
.text:0040eeba 6a10 PUSH 0x10
.text:0040eebc 58 POP EAX
.text:0040eebd 2bc2 SUB EAX,EDX
.text:0040eebf f7da NEG EDX
.text:0040eec1 1bd2 SBB EDX,EDX
.text:0040eec3 23d0 AND EDX,EAX
.text:0040eec5 3bfa CMP EDI,EDX
.text:0040eec7 7302 JNC LAB_0040eecb
.text:0040eec9 8bd7 MOV EDX,EDI
LAB_0040eecb: ;XREF[1,0]: 0040eec7
.text:0040eecb 8d0c32 LEA ECX,[EDX + ESI*0x1]
.text:0040eece 8bc6 MOV EAX,ESI
.text:0040eed0 3bf1 CMP ESI,ECX
.text:0040eed2 740a JZ LAB_0040eede
LAB_0040eed4: ;XREF[1,0]: 0040eedc
.text:0040eed4 803800 CMP byte ptr [EAX],0x0
.text:0040eed7 7405 JZ LAB_0040eede
.text:0040eed9 40 INC EAX
.text:0040eeda 3bc1 CMP EAX,ECX
.text:0040eedc 75f6 JNZ LAB_0040eed4
LAB_0040eede: ;XREF[2,0]: 0040eed2,0040eed7
.text:0040eede 8bc8 MOV ECX,EAX
.text:0040eee0 2bce SUB ECX,ESI
.text:0040eee2 3bca CMP ECX,EDX
.text:0040eee4 7555 JNZ LAB_0040ef3b
.text:0040eee6 2bfa SUB EDI,EDX
.text:0040eee8 8bc8 MOV ECX,EAX
.text:0040eeea 83e7f0 AND EDI,0xfffffff0
.text:0040eeed 0f57c9 XORPS XMM1,XMM1
.text:0040eef0 03f8 ADD EDI,EAX
.text:0040eef2 3bc7 CMP EAX,EDI
.text:0040eef4 7416 JZ LAB_0040ef0c
LAB_0040eef6: ;XREF[1,0]: 0040ef0a
.text:0040eef6 0f28c1 MOVAPS XMM0,XMM1
.text:0040eef9 660f7401 PCMPEQB XMM0,xmmword ptr [ECX]
.text:0040eefd 660fd7c0 PMOVMSKB EAX,XMM0
.text:0040ef01 85c0 TEST EAX,EAX
.text:0040ef03 7507 JNZ LAB_0040ef0c
.text:0040ef05 83c110 ADD ECX,0x10
.text:0040ef08 3bcf CMP ECX,EDI
.text:0040ef0a 75ea JNZ LAB_0040eef6
LAB_0040ef0c: ;XREF[2,0]: 0040eef4,0040ef03
.text:0040ef0c 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040ef0f 03c6 ADD EAX,ESI
.text:0040ef11 eb06 JMP LAB_0040ef19
LAB_0040ef13: ;XREF[1,0]: 0040ef1b
.text:0040ef13 803900 CMP byte ptr [ECX],0x0
.text:0040ef16 7405 JZ LAB_0040ef1d
.text:0040ef18 41 INC ECX
LAB_0040ef19: ;XREF[1,0]: 0040ef11
.text:0040ef19 3bc8 CMP ECX,EAX
.text:0040ef1b 75f6 JNZ LAB_0040ef13
LAB_0040ef1d: ;XREF[1,0]: 0040ef16
.text:0040ef1d 2bce SUB ECX,ESI
.text:0040ef1f eb1a JMP LAB_0040ef3b
LAB_0040ef21: ;XREF[1,0]: 0040eead
.text:0040ef21 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:0040ef24 8bca MOV ECX,EDX
.text:0040ef26 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040ef29 03c2 ADD EAX,EDX
.text:0040ef2b 3bd0 CMP EDX,EAX
.text:0040ef2d 740a JZ LAB_0040ef39
LAB_0040ef2f: ;XREF[1,0]: 0040ef37
.text:0040ef2f 803900 CMP byte ptr [ECX],0x0
.text:0040ef32 7405 JZ LAB_0040ef39
.text:0040ef34 41 INC ECX
.text:0040ef35 3bc8 CMP ECX,EAX
.text:0040ef37 75f6 JNZ LAB_0040ef2f
LAB_0040ef39: ;XREF[2,0]: 0040ef2d,0040ef32
.text:0040ef39 2bca SUB ECX,EDX
LAB_0040ef3b: ;XREF[4,0]: 0040ee65,0040eea5,0040eee4,0040ef1f
.text:0040ef3b 5f POP EDI
.text:0040ef3c 8bc1 MOV EAX,ECX
.text:0040ef3e 5e POP ESI
.text:0040ef3f 5d POP EBP
.text:0040ef40 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040ef41(short * param_1, uint param_2)
;param_1 short * 4 ;XREF[5,0]: 0040ef56,0040ef9a,0040f016,0040f060,0040f0ca
;param_2 uint 8 ;XREF[9,0]: 0040ef5e,0040ef8f,0040efbe,0040efe7,0040f01e
; 0040f055,0040f080,0040f0ab,0040f0cf
;XREF[1,0]: 00406491
.text:0040ef41 8bff MOV EDI,EDI
.text:0040ef43 55 PUSH EBP
.text:0040ef44 8bec MOV EBP,ESP
.text:0040ef46 a13c394200 MOV EAX,[.data:DAT_0042393c]
.text:0040ef4b 56 PUSH ESI
.text:0040ef4c 57 PUSH EDI
.text:0040ef4d 83f805 CMP EAX,0x5
.text:0040ef50 0f8cb7000000 JL LAB_0040f00d
.text:0040ef56 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040ef59 f6c101 TEST CL,0x1
.text:0040ef5c 7421 JZ LAB_0040ef7f
.text:0040ef5e 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040ef61 8bf1 MOV ESI,ECX
.text:0040ef63 8d1441 LEA EDX,[ECX + EAX*0x2]
.text:0040ef66 3bf2 CMP ESI,EDX
.text:0040ef68 740e JZ LAB_0040ef78
.text:0040ef6a 33c0 XOR EAX,EAX
LAB_0040ef6c: ;XREF[1,0]: 0040ef76
.text:0040ef6c 663901 CMP word ptr [ECX],AX
.text:0040ef6f 7407 JZ LAB_0040ef78
.text:0040ef71 83c102 ADD ECX,0x2
.text:0040ef74 3bca CMP ECX,EDX
.text:0040ef76 75f4 JNZ LAB_0040ef6c
LAB_0040ef78: ;XREF[6,0]: 0040ef68,0040ef6f,0040f028,0040f033
; 0040f040,0040f0c5
.text:0040ef78 2bce SUB ECX,ESI
.text:0040ef7a e96a010000 JMP LAB_0040f0e9
LAB_0040ef7f: ;XREF[1,0]: 0040ef5c
.text:0040ef7f 8bd1 MOV EDX,ECX
.text:0040ef81 83e21f AND EDX,0x1f
.text:0040ef84 6a20 PUSH 0x20
.text:0040ef86 58 POP EAX
.text:0040ef87 2bc2 SUB EAX,EDX
.text:0040ef89 f7da NEG EDX
.text:0040ef8b 1bd2 SBB EDX,EDX
.text:0040ef8d 23d0 AND EDX,EAX
.text:0040ef8f 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040ef92 d1ea SHR EDX,0x1
.text:0040ef94 3bc2 CMP EAX,EDX
.text:0040ef96 7302 JNC LAB_0040ef9a
.text:0040ef98 8bd0 MOV EDX,EAX
LAB_0040ef9a: ;XREF[1,0]: 0040ef96
.text:0040ef9a 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040ef9d 8d3c51 LEA EDI,[ECX + EDX*0x2]
.text:0040efa0 33c0 XOR EAX,EAX
.text:0040efa2 3bf7 CMP ESI,EDI
.text:0040efa4 740c JZ LAB_0040efb2
LAB_0040efa6: ;XREF[1,0]: 0040efb0
.text:0040efa6 663901 CMP word ptr [ECX],AX
.text:0040efa9 7407 JZ LAB_0040efb2
.text:0040efab 83c102 ADD ECX,0x2
.text:0040efae 3bcf CMP ECX,EDI
.text:0040efb0 75f4 JNZ LAB_0040efa6
LAB_0040efb2: ;XREF[2,0]: 0040efa4,0040efa9
.text:0040efb2 2bce SUB ECX,ESI
.text:0040efb4 d1f9 SAR ECX,0x1
.text:0040efb6 3bca CMP ECX,EDX
.text:0040efb8 0f852d010000 JNZ LAB_0040f0eb
.text:0040efbe 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040efc1 8d3c4e LEA EDI,[ESI + ECX*0x2]
.text:0040efc4 2bc2 SUB EAX,EDX
.text:0040efc6 83e0e0 AND EAX,0xffffffe0
.text:0040efc9 03c1 ADD EAX,ECX
.text:0040efcb c5f1efc9 VPXOR XMM1,XMM1,XMM1
.text:0040efcf 8d0c46 LEA ECX,[ESI + EAX*0x2]
.text:0040efd2 eb0f JMP LAB_0040efe3
LAB_0040efd4: ;XREF[1,0]: 0040efe5
.text:0040efd4 c5f57507 VPCMPEQW YMM0,YMM1,ymmword ptr [EDI]
.text:0040efd8 c5fdd7c0 VPMOVMSKB EAX,YMM0
.text:0040efdc 85c0 TEST EAX,EAX
.text:0040efde 7507 JNZ LAB_0040efe7
.text:0040efe0 83c720 ADD EDI,0x20
LAB_0040efe3: ;XREF[1,0]: 0040efd2
.text:0040efe3 3bf9 CMP EDI,ECX
.text:0040efe5 75ed JNZ LAB_0040efd4
LAB_0040efe7: ;XREF[1,0]: 0040efde
.text:0040efe7 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040efea 8d0c46 LEA ECX,[ESI + EAX*0x2]
.text:0040efed 3bf9 CMP EDI,ECX
.text:0040efef 740e JZ LAB_0040efff
.text:0040eff1 33c0 XOR EAX,EAX
LAB_0040eff3: ;XREF[1,0]: 0040effd
.text:0040eff3 663907 CMP word ptr [EDI],AX
.text:0040eff6 7407 JZ LAB_0040efff
.text:0040eff8 83c702 ADD EDI,0x2
.text:0040effb 3bf9 CMP EDI,ECX
.text:0040effd 75f4 JNZ LAB_0040eff3
LAB_0040efff: ;XREF[2,0]: 0040efef,0040eff6
.text:0040efff 8bcf MOV ECX,EDI
.text:0040f001 2bce SUB ECX,ESI
.text:0040f003 d1f9 SAR ECX,0x1
.text:0040f005 c5f877 VZEROUPPER
.text:0040f008 e9de000000 JMP LAB_0040f0eb
LAB_0040f00d: ;XREF[1,0]: 0040ef50
.text:0040f00d 83f801 CMP EAX,0x1
.text:0040f010 0f8cb4000000 JL LAB_0040f0ca
.text:0040f016 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040f019 f6c101 TEST CL,0x1
.text:0040f01c 7427 JZ LAB_0040f045
.text:0040f01e 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040f021 8bf1 MOV ESI,ECX
.text:0040f023 8d1441 LEA EDX,[ECX + EAX*0x2]
.text:0040f026 3bf2 CMP ESI,EDX
.text:0040f028 0f844affffff JZ LAB_0040ef78
.text:0040f02e 33c0 XOR EAX,EAX
LAB_0040f030: ;XREF[1,0]: 0040f03e
.text:0040f030 663901 CMP word ptr [ECX],AX
.text:0040f033 0f843fffffff JZ LAB_0040ef78
.text:0040f039 83c102 ADD ECX,0x2
.text:0040f03c 3bca CMP ECX,EDX
.text:0040f03e 75f0 JNZ LAB_0040f030
.text:0040f040 e933ffffff JMP LAB_0040ef78
LAB_0040f045: ;XREF[1,0]: 0040f01c
.text:0040f045 8bd1 MOV EDX,ECX
.text:0040f047 83e20f AND EDX,0xf
.text:0040f04a 6a10 PUSH 0x10
.text:0040f04c 58 POP EAX
.text:0040f04d 2bc2 SUB EAX,EDX
.text:0040f04f f7da NEG EDX
.text:0040f051 1bd2 SBB EDX,EDX
.text:0040f053 23d0 AND EDX,EAX
.text:0040f055 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040f058 d1ea SHR EDX,0x1
.text:0040f05a 3bc2 CMP EAX,EDX
.text:0040f05c 7302 JNC LAB_0040f060
.text:0040f05e 8bd0 MOV EDX,EAX
LAB_0040f060: ;XREF[1,0]: 0040f05c
.text:0040f060 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040f063 8d3c51 LEA EDI,[ECX + EDX*0x2]
.text:0040f066 33c0 XOR EAX,EAX
.text:0040f068 3bf7 CMP ESI,EDI
.text:0040f06a 740c JZ LAB_0040f078
LAB_0040f06c: ;XREF[1,0]: 0040f076
.text:0040f06c 663901 CMP word ptr [ECX],AX
.text:0040f06f 7407 JZ LAB_0040f078
.text:0040f071 83c102 ADD ECX,0x2
.text:0040f074 3bcf CMP ECX,EDI
.text:0040f076 75f4 JNZ LAB_0040f06c
LAB_0040f078: ;XREF[2,0]: 0040f06a,0040f06f
.text:0040f078 2bce SUB ECX,ESI
.text:0040f07a d1f9 SAR ECX,0x1
.text:0040f07c 3bca CMP ECX,EDX
.text:0040f07e 756b JNZ LAB_0040f0eb
.text:0040f080 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040f083 8d3c4e LEA EDI,[ESI + ECX*0x2]
.text:0040f086 2bc2 SUB EAX,EDX
.text:0040f088 0f57c9 XORPS XMM1,XMM1
.text:0040f08b 83e0f0 AND EAX,0xfffffff0
.text:0040f08e 03c1 ADD EAX,ECX
.text:0040f090 8d0c46 LEA ECX,[ESI + EAX*0x2]
.text:0040f093 eb12 JMP LAB_0040f0a7
LAB_0040f095: ;XREF[1,0]: 0040f0a9
.text:0040f095 0f28c1 MOVAPS XMM0,XMM1
.text:0040f098 660f7507 PCMPEQW XMM0,xmmword ptr [EDI]
.text:0040f09c 660fd7c0 PMOVMSKB EAX,XMM0
.text:0040f0a0 85c0 TEST EAX,EAX
.text:0040f0a2 7507 JNZ LAB_0040f0ab
.text:0040f0a4 83c710 ADD EDI,0x10
LAB_0040f0a7: ;XREF[1,0]: 0040f093
.text:0040f0a7 3bf9 CMP EDI,ECX
.text:0040f0a9 75ea JNZ LAB_0040f095
LAB_0040f0ab: ;XREF[1,0]: 0040f0a2
.text:0040f0ab 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040f0ae 8d0c46 LEA ECX,[ESI + EAX*0x2]
.text:0040f0b1 3bf9 CMP EDI,ECX
.text:0040f0b3 740e JZ LAB_0040f0c3
.text:0040f0b5 33c0 XOR EAX,EAX
LAB_0040f0b7: ;XREF[1,0]: 0040f0c1
.text:0040f0b7 663907 CMP word ptr [EDI],AX
.text:0040f0ba 7407 JZ LAB_0040f0c3
.text:0040f0bc 83c702 ADD EDI,0x2
.text:0040f0bf 3bf9 CMP EDI,ECX
.text:0040f0c1 75f4 JNZ LAB_0040f0b7
LAB_0040f0c3: ;XREF[2,0]: 0040f0b3,0040f0ba
.text:0040f0c3 8bcf MOV ECX,EDI
.text:0040f0c5 e9aefeffff JMP LAB_0040ef78
LAB_0040f0ca: ;XREF[1,0]: 0040f010
.text:0040f0ca 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:0040f0cd 8bca MOV ECX,EDX
.text:0040f0cf 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040f0d2 8d3442 LEA ESI,[EDX + EAX*0x2]
.text:0040f0d5 3bd6 CMP EDX,ESI
.text:0040f0d7 740e JZ LAB_0040f0e7
.text:0040f0d9 33c0 XOR EAX,EAX
LAB_0040f0db: ;XREF[1,0]: 0040f0e5
.text:0040f0db 663901 CMP word ptr [ECX],AX
.text:0040f0de 7407 JZ LAB_0040f0e7
.text:0040f0e0 83c102 ADD ECX,0x2
.text:0040f0e3 3bce CMP ECX,ESI
.text:0040f0e5 75f4 JNZ LAB_0040f0db
LAB_0040f0e7: ;XREF[2,0]: 0040f0d7,0040f0de
.text:0040f0e7 2bca SUB ECX,EDX
LAB_0040f0e9: ;XREF[1,0]: 0040ef7a
.text:0040f0e9 d1f9 SAR ECX,0x1
LAB_0040f0eb: ;XREF[3,0]: 0040efb8,0040f008,0040f07e
.text:0040f0eb 5f POP EDI
.text:0040f0ec 8bc1 MOV EAX,ECX
.text:0040f0ee 5e POP ESI
.text:0040f0ef 5d POP EBP
.text:0040f0f0 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_update_locale_info *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_update_locale_info(int param_1, LPVOID * param_2)
;param_1 int 4 ;XREF[1,0]: 0040f104
;param_2 LPVOID * 8 ;XREF[1,0]: 0040f0f7
;XREF[3,0]: 00408e3d,004107aa,004108d1
.text:0040f0f1 8bff MOV EDI,EDI
.text:0040f0f3 55 PUSH EBP
.text:0040f0f4 8bec MOV EBP,ESP
.text:0040f0f6 56 PUSH ESI
.text:0040f0f7 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040f0fa 8b06 MOV EAX,dword ptr [ESI]
.text:0040f0fc 3b05e0424200 CMP EAX,dword ptr [.data:DAT_004242e0] ;= ??
.text:0040f102 7417 JZ LAB_0040f11b
.text:0040f104 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040f107 a178374200 MOV EAX=>DAT_fffffffe,[.data:DAT_00423778] ;= FFFFFFFEh
.text:0040f10c 858150030000 TEST dword ptr [ECX + 0x350],EAX
.text:0040f112 7507 JNZ LAB_0040f11b
.text:0040f114 e8103c0000 CALL ___acrt_update_thread_locale_data ;LPVOID ___acrt_update_thread_locale_...
.text:0040f119 8906 MOV dword ptr [ESI],EAX
LAB_0040f11b: ;XREF[2,0]: 0040f102,0040f112
.text:0040f11b 5e POP ESI
.text:0040f11c 5d POP EBP
.text:0040f11d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040f11e(int param_1, LPVOID * param_2, int param_3)
;param_1 int 4 ;XREF[1,0]: 0040f135
;param_2 LPVOID * 8 ;XREF[1,0]: 0040f127
;param_3 int c ;XREF[1,0]: 0040f123
;XREF[1,0]: 00406508
.text:0040f11e 8bff MOV EDI,EDI
.text:0040f120 55 PUSH EBP
.text:0040f121 8bec MOV EBP,ESP
.text:0040f123 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0040f126 56 PUSH ESI
.text:0040f127 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040f12a 8b0e MOV ECX,dword ptr [ESI]
.text:0040f12c 3b0c85e04... CMP ECX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:0040f133 7417 JZ LAB_0040f14c
.text:0040f135 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040f138 a178374200 MOV EAX=>DAT_fffffffe,[.data:DAT_00423778] ;= FFFFFFFEh
.text:0040f13d 858150030000 TEST dword ptr [ECX + 0x350],EAX
.text:0040f143 7507 JNZ LAB_0040f14c
.text:0040f145 e8df3b0000 CALL ___acrt_update_thread_locale_data ;LPVOID ___acrt_update_thread_locale_...
.text:0040f14a 8906 MOV dword ptr [ESI],EAX
LAB_0040f14c: ;XREF[2,0]: 0040f133,0040f143
.text:0040f14c 5e POP ESI
.text:0040f14d 5d POP EBP
.text:0040f14e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040f14f(int param_1, int * param_2)
;param_1 int 4 ;XREF[1,0]: 0040f162
;param_2 int * 8 ;XREF[1,0]: 0040f155
;XREF[1,0]: 00408e45
.text:0040f14f 8bff MOV EDI,EDI
.text:0040f151 55 PUSH EBP
.text:0040f152 8bec MOV EBP,ESP
.text:0040f154 56 PUSH ESI
.text:0040f155 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040f158 8b06 MOV EAX,dword ptr [ESI]
.text:0040f15a 3b05ec424200 CMP EAX,dword ptr [.data:DAT_004242ec] ;= ??
.text:0040f160 7417 JZ LAB_0040f179
.text:0040f162 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040f165 a178374200 MOV EAX=>DAT_fffffffe,[.data:DAT_00423778] ;= FFFFFFFEh
.text:0040f16a 858150030000 TEST dword ptr [ECX + 0x350],EAX
.text:0040f170 7507 JNZ LAB_0040f179
.text:0040f172 e8142a0000 CALL FUN_00411b8b ;undefined FUN_00411b8b(void)
.text:0040f177 8906 MOV dword ptr [ESI],EAX
LAB_0040f179: ;XREF[2,0]: 0040f160,0040f170
.text:0040f179 5e POP ESI
.text:0040f17a 5d POP EBP
.text:0040f17b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040f17c(int param_1, int * param_2, int param_3)
;param_1 int 4 ;XREF[1,0]: 0040f193
;param_2 int * 8 ;XREF[1,0]: 0040f185
;param_3 int c ;XREF[1,0]: 0040f181
;XREF[1,0]: 00406515
.text:0040f17c 8bff MOV EDI,EDI
.text:0040f17e 55 PUSH EBP
.text:0040f17f 8bec MOV EBP,ESP
.text:0040f181 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0040f184 56 PUSH ESI
.text:0040f185 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040f188 8b0e MOV ECX,dword ptr [ESI]
.text:0040f18a 3b0c85ec4... CMP ECX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:0040f191 7417 JZ LAB_0040f1aa
.text:0040f193 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040f196 a178374200 MOV EAX=>DAT_fffffffe,[.data:DAT_00423778] ;= FFFFFFFEh
.text:0040f19b 858150030000 TEST dword ptr [ECX + 0x350],EAX
.text:0040f1a1 7507 JNZ LAB_0040f1aa
.text:0040f1a3 e8e3290000 CALL FUN_00411b8b ;undefined FUN_00411b8b(void)
.text:0040f1a8 8906 MOV dword ptr [ESI],EAX
LAB_0040f1aa: ;XREF[2,0]: 0040f191,0040f1a1
.text:0040f1aa 5e POP ESI
.text:0040f1ab 5d POP EBP
.text:0040f1ac c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* enum __acrt_fp_class __cdecl __acrt_fp_classify(double const &) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;__acrt_fp_class __acrt_fp_classify(double * param_1)
;param_1 double * 4 ;XREF[1,0]: 0040f1b2
;XREF[2,0]: 0040fc1a,00414822
.text:0040f1ad 8bff MOV EDI,EDI
.text:0040f1af 55 PUSH EBP
.text:0040f1b0 8bec MOV EBP,ESP
.text:0040f1b2 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040f1b5 33c9 XOR ECX,ECX
.text:0040f1b7 56 PUSH ESI
.text:0040f1b8 57 PUSH EDI
.text:0040f1b9 beff070000 MOV ESI,0x7ff
.text:0040f1be 8b38 MOV EDI,dword ptr [EAX]
.text:0040f1c0 8b5004 MOV EDX,dword ptr [EAX + 0x4]
.text:0040f1c3 8bc2 MOV EAX,EDX
.text:0040f1c5 c1e814 SHR EAX,0x14
.text:0040f1c8 23c6 AND EAX,ESI
.text:0040f1ca 3bc6 CMP EAX,ESI
.text:0040f1cc 753b JNZ LAB_0040f209
.text:0040f1ce 8bf2 MOV ESI,EDX
.text:0040f1d0 8bc7 MOV EAX,EDI
.text:0040f1d2 81e6ffff0f00 AND ESI,0xfffff
.text:0040f1d8 0bc6 OR EAX,ESI
.text:0040f1da 7503 JNZ LAB_0040f1df
.text:0040f1dc 40 INC EAX
.text:0040f1dd eb2c JMP LAB_0040f20b
LAB_0040f1df: ;XREF[1,0]: 0040f1da
.text:0040f1df b800000800 MOV EAX,0x80000
.text:0040f1e4 3bd1 CMP EDX,ECX
.text:0040f1e6 7f13 JG LAB_0040f1fb
.text:0040f1e8 7c04 JL LAB_0040f1ee
.text:0040f1ea 3bf9 CMP EDI,ECX
.text:0040f1ec 730d JNC LAB_0040f1fb
LAB_0040f1ee: ;XREF[1,0]: 0040f1e8
.text:0040f1ee 3bf9 CMP EDI,ECX
.text:0040f1f0 7509 JNZ LAB_0040f1fb
.text:0040f1f2 3bf0 CMP ESI,EAX
.text:0040f1f4 7505 JNZ LAB_0040f1fb
.text:0040f1f6 6a04 PUSH 0x4
LAB_0040f1f8: ;XREF[2,0]: 0040f203,0040f207
.text:0040f1f8 58 POP EAX
.text:0040f1f9 eb10 JMP LAB_0040f20b
LAB_0040f1fb: ;XREF[4,0]: 0040f1e6,0040f1ec,0040f1f0,0040f1f4
.text:0040f1fb 23d0 AND EDX,EAX
.text:0040f1fd 0bca OR ECX,EDX
.text:0040f1ff 7404 JZ LAB_0040f205
.text:0040f201 6a02 PUSH 0x2
.text:0040f203 ebf3 JMP LAB_0040f1f8
LAB_0040f205: ;XREF[1,0]: 0040f1ff
.text:0040f205 6a03 PUSH 0x3
.text:0040f207 ebef JMP LAB_0040f1f8
LAB_0040f209: ;XREF[1,0]: 0040f1cc
.text:0040f209 33c0 XOR EAX,EAX
LAB_0040f20b: ;XREF[2,0]: 0040f1dd,0040f1f9
.text:0040f20b 5f POP EDI
.text:0040f20c 5e POP ESI
.text:0040f20d 5d POP EBP
.text:0040f20e c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* bool __cdecl fe_to_nearest(double const * const,unsigned __int64,short) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;bool fe_to_nearest(double * param_1, __uint64 param_2, short param_3)
;param_1 double * 4 ;XREF[1,0]: 0040f214
;param_2 __uint64 c ;XREF[2,2]: 0040f227,0040f280,0040f218,0040f26b
;param_3 short 14
;XREF[1,0]: 0040fb3c
.text:0040f20f 8bff MOV EDI,EDI
.text:0040f211 55 PUSH EBP
.text:0040f212 8bec MOV EBP,ESP
.text:0040f214 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040f217 53 PUSH EBX
.text:0040f218 0fbf5d14 MOVSX EBX,word ptr [EBP + param_2+0x8]
.text:0040f21c 56 PUSH ESI
.text:0040f21d 8b7004 MOV ESI,dword ptr [EAX + 0x4]
.text:0040f220 8bcb MOV ECX,EBX
.text:0040f222 57 PUSH EDI
.text:0040f223 8b38 MOV EDI,dword ptr [EAX]
.text:0040f225 8bd6 MOV EDX,ESI
.text:0040f227 235510 AND EDX,dword ptr [EBP + param_2+0x4]
.text:0040f22a 8bc7 MOV EAX,EDI
.text:0040f22c 23450c AND EAX,dword ptr [EBP + Stack[0x8]+0x4]
.text:0040f22f 81e2ffff0f00 AND EDX,0xfffff
.text:0040f235 e876b50000 CALL __aullshr ;ulonglong __aullshr(byte param_1, ui...
.text:0040f23a 6a08 PUSH 0x8
.text:0040f23c 0fb7c0 MOVZX EAX,AX
.text:0040f23f 59 POP ECX
.text:0040f240 663bc1 CMP AX,CX
.text:0040f243 7766 JA LAB_0040f2ab
.text:0040f245 7304 JNC LAB_0040f24b
.text:0040f247 32c0 XOR AL,AL
.text:0040f249 eb62 JMP LAB_0040f2ad
LAB_0040f24b: ;XREF[1,0]: 0040f245
.text:0040f24b 33c0 XOR EAX,EAX
.text:0040f24d 33d2 XOR EDX,EDX
.text:0040f24f 40 INC EAX
.text:0040f250 8bcb MOV ECX,EBX
.text:0040f252 e839b50000 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:0040f257 83c0ff ADD EAX,-0x1
.text:0040f25a 83d2ff ADC EDX,-0x1
.text:0040f25d 23c7 AND EAX,EDI
.text:0040f25f 23d6 AND EDX,ESI
.text:0040f261 81e2ffff0f00 AND EDX,0xfffff
.text:0040f267 0bc2 OR EAX,EDX
.text:0040f269 7540 JNZ LAB_0040f2ab
.text:0040f26b 66837d1430 CMP word ptr [EBP + param_2+0x8],0x30
.text:0040f270 7422 JZ LAB_0040f294
.text:0040f272 0facf704 SHRD EDI,ESI,0x4
.text:0040f276 8bcb MOV ECX,EBX
.text:0040f278 237d0c AND EDI,dword ptr [EBP + Stack[0x8]+0x4]
.text:0040f27b c1ee04 SHR ESI,0x4
.text:0040f27e 8bc7 MOV EAX,EDI
.text:0040f280 237510 AND ESI,dword ptr [EBP + param_2+0x4]
.text:0040f283 81e6ffff0000 AND ESI,0xffff
.text:0040f289 8bd6 MOV EDX,ESI
.text:0040f28b e820b50000 CALL __aullshr ;ulonglong __aullshr(byte param_1, ui...
.text:0040f290 8ac8 MOV CL,AL
.text:0040f292 eb10 JMP LAB_0040f2a4
LAB_0040f294: ;XREF[1,0]: 0040f270
.text:0040f294 33c9 XOR ECX,ECX
.text:0040f296 81e60000f07f AND ESI,0x7ff00000
.text:0040f29c 8bc1 MOV EAX,ECX
.text:0040f29e 0bc6 OR EAX,ESI
.text:0040f2a0 7402 JZ LAB_0040f2a4
.text:0040f2a2 b101 MOV CL,0x1
LAB_0040f2a4: ;XREF[2,0]: 0040f292,0040f2a0
.text:0040f2a4 80e101 AND CL,0x1
.text:0040f2a7 8ac1 MOV AL,CL
.text:0040f2a9 eb02 JMP LAB_0040f2ad
LAB_0040f2ab: ;XREF[2,0]: 0040f243,0040f269
.text:0040f2ab b001 MOV AL,0x1
LAB_0040f2ad: ;XREF[2,0]: 0040f249,0040f2a9
.text:0040f2ad 5f POP EDI
.text:0040f2ae 5e POP ESI
.text:0040f2af 5b POP EBX
.text:0040f2b0 5d POP EBP
.text:0040f2b1 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_0040f2b2(double * param_1, char * param_2, uint param_3, uint * * * * * * * param_4, int param_5, size_t param_6, byte param_7, int param_8, int param_9, __acrt_ptd * * param_10)
;param_1 double * 4 ;XREF[2,0]: 0040f2f7,0040f4ad
;param_2 char * 8 ;XREF[1,0]: 0040f2c7
;param_3 uint c ;XREF[2,0]: 0040f2cf,0040f31c
;param_4 uint * * * ... 10 ;XREF[1,0]: 0040f319
;param_5 int 14 ;XREF[1,0]: 0040f316
;param_6 size_t 18 ;XREF[1,0]: 0040f2bd
;param_7 byte 1c ;XREF[2,0]: 0040f347,0040f36d
;param_8 int 20 ;XREF[1,0]: 0040f311
;param_9 int 24 ;XREF[2,0]: 0040f30e,0040f47c
;param_10 __acrt_ptd * * 28 ;XREF[4,0]: 0040f2d4,0040f30b,0040f3cc,0040f3dc
;local_5 undefined1 -5 ;XREF[2,0]: 0040f378,0040f4e4
;local_c undefined4 -c ;XREF[4,0]: 0040f40a,0040f41a,0040f458,0040f468
;local_10 undefined4 -10 ;XREF[4,0]: 0040f398,0040f3df,0040f4b0,0040f4da
;local_14 undefined4 -14 ;XREF[8,0]: 0040f38a,0040f3b0,0040f3b5,0040f507,0040f50a
; 0040f553,0040f56b,0040f59d
;local_18 undefined4 -18 ;XREF[3,0]: 0040f417,0040f460,0040f46f
;local_1c undefined4 -1c ;XREF[3,0]: 0040f414,0040f455,0040f472
;local_20 undefined4 -20 ;XREF[3,0]: 0040f420,0040f433,0040f481
;local_24 undefined4 -24 ;XREF[3,0]: 0040f3f9,0040f425,0040f493
;local_2c undefined4 -2c ;XREF[3,0]: 0040f391,0040f452,0040f4ba
;XREF[1,0]: 0040fc9b
.text:0040f2b2 8bff MOV EDI,EDI
.text:0040f2b4 55 PUSH EBP
.text:0040f2b5 8bec MOV EBP,ESP
.text:0040f2b7 83ec2c SUB ESP,0x2c
.text:0040f2ba 33d2 XOR EDX,EDX
.text:0040f2bc 56 PUSH ESI
.text:0040f2bd 8b751c MOV ESI,dword ptr [EBP + param_6+0x4]
.text:0040f2c0 57 PUSH EDI
.text:0040f2c1 85f6 TEST ESI,ESI
.text:0040f2c3 7902 JNS LAB_0040f2c7
.text:0040f2c5 8bf2 MOV ESI,EDX
LAB_0040f2c7: ;XREF[1,0]: 0040f2c3
.text:0040f2c7 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:0040f2ca 8d460b LEA EAX,[ESI + 0xb]
.text:0040f2cd 8817 MOV byte ptr [EDI],DL
.text:0040f2cf 394510 CMP dword ptr [EBP + param_3+0x4],EAX
.text:0040f2d2 7722 JA LAB_0040f2f6
.text:0040f2d4 8b4d2c MOV ECX,dword ptr [EBP + param_10+0x4]
.text:0040f2d7 6a22 PUSH 0x22
.text:0040f2d9 5e POP ESI
.text:0040f2da 51 PUSH ECX
.text:0040f2db 52 PUSH EDX
.text:0040f2dc 52 PUSH EDX
.text:0040f2dd 52 PUSH EDX
.text:0040f2de 52 PUSH EDX
.text:0040f2df 52 PUSH EDX
.text:0040f2e0 c6411c01 MOV byte ptr [ECX + 0x1c],0x1
.text:0040f2e4 897118 MOV dword ptr [ECX + 0x18],ESI
.text:0040f2e7 e8baeeffff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:0040f2ec 83c418 ADD ESP,0x18
.text:0040f2ef 8bc6 MOV EAX,ESI
.text:0040f2f1 e9e5020000 JMP LAB_0040f5db
LAB_0040f2f6: ;XREF[1,0]: 0040f2d2
.text:0040f2f6 53 PUSH EBX
.text:0040f2f7 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:0040f2fa b9ff070000 MOV ECX,0x7ff
.text:0040f2ff 8b4304 MOV EAX,dword ptr [EBX + 0x4]
.text:0040f302 c1e814 SHR EAX,0x14
.text:0040f305 23c1 AND EAX,ECX
.text:0040f307 3bc1 CMP EAX,ECX
.text:0040f309 7553 JNZ LAB_0040f35e
.text:0040f30b ff752c PUSH dword ptr [EBP + param_10+0x4]
.text:0040f30e ff7528 PUSH dword ptr [EBP + param_9+0x4]
.text:0040f311 ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:0040f314 52 PUSH EDX
.text:0040f315 56 PUSH ESI
.text:0040f316 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040f319 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040f31c ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040f31f 57 PUSH EDI
.text:0040f320 53 PUSH EBX
.text:0040f321 e8b9020000 CALL FUN_0040f5df ;undefined FUN_0040f5df(undefined4 * ...
.text:0040f326 83c428 ADD ESP,0x28
.text:0040f329 85c0 TEST EAX,EAX
.text:0040f32b 7408 JZ LAB_0040f335
.text:0040f32d c60700 MOV byte ptr [EDI],0x0
.text:0040f330 e9a5020000 JMP LAB_0040f5da
LAB_0040f335: ;XREF[1,0]: 0040f32b
.text:0040f335 6a65 PUSH 0x65
.text:0040f337 57 PUSH EDI
.text:0040f338 e803b70000 CALL _strrchr ;char * _strrchr(char * _Str, int _Ch)
.text:0040f33d 59 POP ECX
.text:0040f33e 59 POP ECX
.text:0040f33f 85c0 TEST EAX,EAX
.text:0040f341 0f8491020000 JZ LAB_0040f5d8
.text:0040f347 8a4d20 MOV CL,byte ptr [EBP + param_7+0x4]
.text:0040f34a 80f101 XOR CL,0x1
.text:0040f34d c0e105 SHL CL,0x5
.text:0040f350 80c150 ADD CL,0x50
.text:0040f353 8808 MOV byte ptr [EAX],CL
.text:0040f355 c6400300 MOV byte ptr [EAX + 0x3],0x0
.text:0040f359 e97a020000 JMP LAB_0040f5d8
LAB_0040f35e: ;XREF[1,0]: 0040f309
.text:0040f35e 395304 CMP dword ptr [EBX + 0x4],EDX
.text:0040f361 7f0a JG LAB_0040f36d
.text:0040f363 7c04 JL LAB_0040f369
.text:0040f365 3913 CMP dword ptr [EBX],EDX
.text:0040f367 7304 JNC LAB_0040f36d
LAB_0040f369: ;XREF[1,0]: 0040f363
.text:0040f369 c6072d MOV byte ptr [EDI],0x2d
.text:0040f36c 47 INC EDI
LAB_0040f36d: ;XREF[2,0]: 0040f361,0040f367
.text:0040f36d 8a4520 MOV AL,byte ptr [EBP + param_7+0x4]
.text:0040f370 8d5701 LEA EDX,[EDI + 0x1]
.text:0040f373 8b4b04 MOV ECX,dword ptr [EBX + 0x4]
.text:0040f376 3401 XOR AL,0x1
.text:0040f378 8845ff MOV byte ptr [EBP + local_5+0x4],AL
.text:0040f37b 81e10000f07f AND ECX,0x7ff00000
.text:0040f381 0fb6c0 MOVZX EAX,AL
.text:0040f384 c1e005 SHL EAX,0x5
.text:0040f387 83c007 ADD EAX,0x7
.text:0040f38a c745f0ff0... MOV dword ptr [EBP + local_14+0x4],0x3ff
.text:0040f391 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:0040f394 33c0 XOR EAX,EAX
.text:0040f396 0bc1 OR EAX,ECX
.text:0040f398 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:0040f39b 6a30 PUSH 0x30
.text:0040f39d 58 POP EAX
.text:0040f39e 751e JNZ LAB_0040f3be
.text:0040f3a0 8807 MOV byte ptr [EDI],AL
.text:0040f3a2 8b4304 MOV EAX,dword ptr [EBX + 0x4]
.text:0040f3a5 8b0b MOV ECX,dword ptr [EBX]
.text:0040f3a7 25ffff0f00 AND EAX,0xfffff
.text:0040f3ac 0bc8 OR ECX,EAX
.text:0040f3ae 7505 JNZ LAB_0040f3b5
.text:0040f3b0 214df0 AND dword ptr [EBP + local_14+0x4],ECX
.text:0040f3b3 eb0c JMP LAB_0040f3c1
LAB_0040f3b5: ;XREF[1,0]: 0040f3ae
.text:0040f3b5 c745f0fe0... MOV dword ptr [EBP + local_14+0x4],0x3fe
.text:0040f3bc eb03 JMP LAB_0040f3c1
LAB_0040f3be: ;XREF[1,0]: 0040f39e
.text:0040f3be c60731 MOV byte ptr [EDI],0x31
LAB_0040f3c1: ;XREF[2,0]: 0040f3b3,0040f3bc
.text:0040f3c1 8d7a01 LEA EDI,[EDX + 0x1]
.text:0040f3c4 85f6 TEST ESI,ESI
.text:0040f3c6 7504 JNZ LAB_0040f3cc
.text:0040f3c8 32c0 XOR AL,AL
.text:0040f3ca eb23 JMP LAB_0040f3ef
LAB_0040f3cc: ;XREF[1,0]: 0040f3c6
.text:0040f3cc 8b452c MOV EAX,dword ptr [EBP + param_10+0x4]
.text:0040f3cf 80781400 CMP byte ptr [EAX + 0x14],0x0
.text:0040f3d3 750d JNZ LAB_0040f3e2
.text:0040f3d5 8bc8 MOV ECX,EAX
.text:0040f3d7 e80471ffff CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
.text:0040f3dc 8b452c MOV EAX,dword ptr [EBP + param_10+0x4]
.text:0040f3df 8b55f4 MOV EDX,dword ptr [EBP + local_10+0x4]
LAB_0040f3e2: ;XREF[1,0]: 0040f3d3
.text:0040f3e2 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:0040f3e5 8b8088000000 MOV EAX,dword ptr [EAX + 0x88]
.text:0040f3eb 8b00 MOV EAX,dword ptr [EAX]
.text:0040f3ed 8a00 MOV AL,byte ptr [EAX]
LAB_0040f3ef: ;XREF[1,0]: 0040f3ca
.text:0040f3ef 8802 MOV byte ptr [EDX],AL
.text:0040f3f1 8b4304 MOV EAX,dword ptr [EBX + 0x4]
.text:0040f3f4 25ffff0f00 AND EAX,0xfffff
.text:0040f3f9 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:0040f3fc 7709 JA LAB_0040f407
.text:0040f3fe 833b00 CMP dword ptr [EBX],0x0
.text:0040f401 0f86bf000000 JBE LAB_0040f4c6
LAB_0040f407: ;XREF[1,0]: 0040f3fc
.text:0040f407 6a30 PUSH 0x30
.text:0040f409 58 POP EAX
.text:0040f40a 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0040f40d b900000f00 MOV ECX,0xf0000
.text:0040f412 33c0 XOR EAX,EAX
.text:0040f414 894de8 MOV dword ptr [EBP + local_1c+0x4],ECX
.text:0040f417 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
LAB_0040f41a: ;XREF[1,0]: 0040f478
.text:0040f41a 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:0040f41d 0fb7d2 MOVZX EDX,DX
.text:0040f420 8955e4 MOV dword ptr [EBP + local_20+0x4],EDX
.text:0040f423 8bd7 MOV EDX,EDI
.text:0040f425 897de0 MOV dword ptr [EBP + local_24+0x4],EDI
.text:0040f428 85f6 TEST ESI,ESI
.text:0040f42a 7e50 JLE LAB_0040f47c
.text:0040f42c 8b5304 MOV EDX,dword ptr [EBX + 0x4]
.text:0040f42f 2303 AND EAX,dword ptr [EBX]
.text:0040f431 23d1 AND EDX,ECX
.text:0040f433 8b4de4 MOV ECX,dword ptr [EBP + local_20+0x4]
.text:0040f436 81e2ffff0f00 AND EDX,0xfffff
.text:0040f43c 0fb7c9 MOVZX ECX,CX
.text:0040f43f e86cb30000 CALL __aullshr ;ulonglong __aullshr(byte param_1, ui...
.text:0040f444 6a30 PUSH 0x30
.text:0040f446 59 POP ECX
.text:0040f447 6603c1 ADD AX,CX
.text:0040f44a 0fb7c0 MOVZX EAX,AX
.text:0040f44d 83f839 CMP EAX,0x39
.text:0040f450 7603 JBE LAB_0040f455
.text:0040f452 0345d8 ADD EAX,dword ptr [EBP + local_2c+0x4]
LAB_0040f455: ;XREF[1,0]: 0040f450
.text:0040f455 8b4de8 MOV ECX,dword ptr [EBP + local_1c+0x4]
.text:0040f458 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:0040f45b 8807 MOV byte ptr [EDI],AL
.text:0040f45d 83ea04 SUB EDX,0x4
.text:0040f460 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
.text:0040f463 47 INC EDI
.text:0040f464 0facc804 SHRD EAX,ECX,0x4
.text:0040f468 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
.text:0040f46b c1e904 SHR ECX,0x4
.text:0040f46e 4e DEC ESI
.text:0040f46f 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0040f472 894de8 MOV dword ptr [EBP + local_1c+0x4],ECX
.text:0040f475 6685d2 TEST DX,DX
.text:0040f478 79a0 JNS LAB_0040f41a
.text:0040f47a eb4a JMP LAB_0040f4c6
LAB_0040f47c: ;XREF[1,0]: 0040f42a
.text:0040f47c ff7528 PUSH dword ptr [EBP + param_9+0x4]
.text:0040f47f 8bfa MOV EDI,EDX
.text:0040f481 ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:0040f484 51 PUSH ECX
.text:0040f485 50 PUSH EAX
.text:0040f486 53 PUSH EBX
.text:0040f487 e866060000 CALL FUN_0040faf2 ;char FUN_0040faf2(double * param_1, ...
.text:0040f48c 83c414 ADD ESP,0x14
.text:0040f48f 84c0 TEST AL,AL
.text:0040f491 7447 JZ LAB_0040f4da
.text:0040f493 8b7de0 MOV EDI,dword ptr [EBP + local_24+0x4]
.text:0040f496 6a30 PUSH 0x30
.text:0040f498 5b POP EBX
.text:0040f499 8d47ff LEA EAX,[EDI + -0x1]
LAB_0040f49c: ;XREF[1,0]: 0040f4ab
.text:0040f49c 8a08 MOV CL,byte ptr [EAX]
.text:0040f49e 80f966 CMP CL,0x66
.text:0040f4a1 7405 JZ LAB_0040f4a8
.text:0040f4a3 80f946 CMP CL,0x46
.text:0040f4a6 7505 JNZ LAB_0040f4ad
LAB_0040f4a8: ;XREF[1,0]: 0040f4a1
.text:0040f4a8 8818 MOV byte ptr [EAX],BL
.text:0040f4aa 48 DEC EAX
.text:0040f4ab ebef JMP LAB_0040f49c
LAB_0040f4ad: ;XREF[1,0]: 0040f4a6
.text:0040f4ad 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:0040f4b0 3b45f4 CMP EAX,dword ptr [EBP + local_10+0x4]
.text:0040f4b3 740e JZ LAB_0040f4c3
.text:0040f4b5 80f939 CMP CL,0x39
.text:0040f4b8 7503 JNZ LAB_0040f4bd
.text:0040f4ba 024dd8 ADD CL,byte ptr [EBP + local_2c+0x4]
LAB_0040f4bd: ;XREF[1,0]: 0040f4b8
.text:0040f4bd fec1 INC CL
.text:0040f4bf 8808 MOV byte ptr [EAX],CL
.text:0040f4c1 eb03 JMP LAB_0040f4c6
LAB_0040f4c3: ;XREF[1,0]: 0040f4b3
.text:0040f4c3 fe40ff INC byte ptr [EAX + -0x1]
LAB_0040f4c6: ;XREF[3,0]: 0040f401,0040f47a,0040f4c1
.text:0040f4c6 85f6 TEST ESI,ESI
.text:0040f4c8 7e10 JLE LAB_0040f4da
.text:0040f4ca 56 PUSH ESI
.text:0040f4cb 6a30 PUSH 0x30
.text:0040f4cd 58 POP EAX
.text:0040f4ce 50 PUSH EAX
.text:0040f4cf 57 PUSH EDI
.text:0040f4d0 e85b31ffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040f4d5 83c40c ADD ESP,0xc
.text:0040f4d8 03fe ADD EDI,ESI
LAB_0040f4da: ;XREF[2,0]: 0040f491,0040f4c8
.text:0040f4da 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:0040f4dd 803800 CMP byte ptr [EAX],0x0
.text:0040f4e0 7502 JNZ LAB_0040f4e4
.text:0040f4e2 8bf8 MOV EDI,EAX
LAB_0040f4e4: ;XREF[1,0]: 0040f4e0
.text:0040f4e4 8a45ff MOV AL,byte ptr [EBP + local_5+0x4]
.text:0040f4e7 b134 MOV CL,0x34
.text:0040f4e9 c0e005 SHL AL,0x5
.text:0040f4ec 0450 ADD AL,0x50
.text:0040f4ee 8807 MOV byte ptr [EDI],AL
.text:0040f4f0 8b03 MOV EAX,dword ptr [EBX]
.text:0040f4f2 8b5304 MOV EDX,dword ptr [EBX + 0x4]
.text:0040f4f5 e8b6b20000 CALL __aullshr ;ulonglong __aullshr(byte param_1, ui...
.text:0040f4fa 8bd8 MOV EBX,EAX
.text:0040f4fc 33f6 XOR ESI,ESI
.text:0040f4fe 81e3ff070000 AND EBX,0x7ff
.text:0040f504 8d4702 LEA EAX,[EDI + 0x2]
.text:0040f507 2b5df0 SUB EBX,dword ptr [EBP + local_14+0x4]
.text:0040f50a 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:0040f50d 1bf6 SBB ESI,ESI
.text:0040f50f 780a JS LAB_0040f51b
.text:0040f511 7f04 JG LAB_0040f517
.text:0040f513 85db TEST EBX,EBX
.text:0040f515 7204 JC LAB_0040f51b
LAB_0040f517: ;XREF[1,0]: 0040f511
.text:0040f517 b12b MOV CL,0x2b
.text:0040f519 eb0a JMP LAB_0040f525
LAB_0040f51b: ;XREF[2,0]: 0040f50f,0040f515
.text:0040f51b f7db NEG EBX
.text:0040f51d 6a2d PUSH 0x2d
.text:0040f51f 83d600 ADC ESI,0x0
.text:0040f522 f7de NEG ESI
.text:0040f524 59 POP ECX
LAB_0040f525: ;XREF[1,0]: 0040f519
.text:0040f525 884f01 MOV byte ptr [EDI + 0x1],CL
.text:0040f528 8bf8 MOV EDI,EAX
.text:0040f52a 6a30 PUSH 0x30
.text:0040f52c 59 POP ECX
.text:0040f52d 8808 MOV byte ptr [EAX],CL
.text:0040f52f 85f6 TEST ESI,ESI
.text:0040f531 0f8c96000000 JL LAB_0040f5cd
.text:0040f537 b8e8030000 MOV EAX,0x3e8
.text:0040f53c 7f04 JG LAB_0040f542
.text:0040f53e 3bd8 CMP EBX,EAX
.text:0040f540 722e JC LAB_0040f570
LAB_0040f542: ;XREF[1,0]: 0040f53c
.text:0040f542 6a00 PUSH 0x0
.text:0040f544 50 PUSH EAX
.text:0040f545 56 PUSH ESI
.text:0040f546 53 PUSH EBX
.text:0040f547 e884b20000 CALL __alldiv ;undefined8 __alldiv(uint param_1, ui...
.text:0040f54c 6a30 PUSH 0x30
.text:0040f54e 59 POP ECX
.text:0040f54f 6a00 PUSH 0x0
.text:0040f551 02c1 ADD AL,CL
.text:0040f553 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:0040f556 68e8030000 PUSH 0x3e8
.text:0040f55b 56 PUSH ESI
.text:0040f55c 53 PUSH EBX
.text:0040f55d 8801 MOV byte ptr [ECX],AL
.text:0040f55f 8d7901 LEA EDI,[ECX + 0x1]
.text:0040f562 e819b30000 CALL __allrem ;undefined8 __allrem(uint param_1, ui...
.text:0040f567 8bd8 MOV EBX,EAX
.text:0040f569 8bf2 MOV ESI,EDX
.text:0040f56b 3b7df0 CMP EDI,dword ptr [EBP + local_14+0x4]
.text:0040f56e 750b JNZ LAB_0040f57b
LAB_0040f570: ;XREF[1,0]: 0040f540
.text:0040f570 85f6 TEST ESI,ESI
.text:0040f572 7c59 JL LAB_0040f5cd
.text:0040f574 7f05 JG LAB_0040f57b
.text:0040f576 83fb64 CMP EBX,0x64
.text:0040f579 7227 JC LAB_0040f5a2
LAB_0040f57b: ;XREF[2,0]: 0040f56e,0040f574
.text:0040f57b 6a00 PUSH 0x0
.text:0040f57d 6a64 PUSH 0x64
.text:0040f57f 56 PUSH ESI
.text:0040f580 53 PUSH EBX
.text:0040f581 e84ab20000 CALL __alldiv ;undefined8 __alldiv(uint param_1, ui...
.text:0040f586 6a30 PUSH 0x30
.text:0040f588 59 POP ECX
.text:0040f589 6a00 PUSH 0x0
.text:0040f58b 6a64 PUSH 0x64
.text:0040f58d 02c1 ADD AL,CL
.text:0040f58f 56 PUSH ESI
.text:0040f590 8807 MOV byte ptr [EDI],AL
.text:0040f592 47 INC EDI
.text:0040f593 53 PUSH EBX
.text:0040f594 e8e7b20000 CALL __allrem ;undefined8 __allrem(uint param_1, ui...
.text:0040f599 8bd8 MOV EBX,EAX
.text:0040f59b 8bf2 MOV ESI,EDX
.text:0040f59d 3b7df0 CMP EDI,dword ptr [EBP + local_14+0x4]
.text:0040f5a0 750b JNZ LAB_0040f5ad
LAB_0040f5a2: ;XREF[1,0]: 0040f579
.text:0040f5a2 85f6 TEST ESI,ESI
.text:0040f5a4 7c27 JL LAB_0040f5cd
.text:0040f5a6 7f05 JG LAB_0040f5ad
.text:0040f5a8 83fb0a CMP EBX,0xa
.text:0040f5ab 7220 JC LAB_0040f5cd
LAB_0040f5ad: ;XREF[2,0]: 0040f5a0,0040f5a6
.text:0040f5ad 6a00 PUSH 0x0
.text:0040f5af 6a0a PUSH 0xa
.text:0040f5b1 56 PUSH ESI
.text:0040f5b2 53 PUSH EBX
.text:0040f5b3 e818b20000 CALL __alldiv ;undefined8 __alldiv(uint param_1, ui...
.text:0040f5b8 6a30 PUSH 0x30
.text:0040f5ba 59 POP ECX
.text:0040f5bb 6a00 PUSH 0x0
.text:0040f5bd 6a0a PUSH 0xa
.text:0040f5bf 02c1 ADD AL,CL
.text:0040f5c1 56 PUSH ESI
.text:0040f5c2 8807 MOV byte ptr [EDI],AL
.text:0040f5c4 47 INC EDI
.text:0040f5c5 53 PUSH EBX
.text:0040f5c6 e8b5b20000 CALL __allrem ;undefined8 __allrem(uint param_1, ui...
.text:0040f5cb 8bd8 MOV EBX,EAX
LAB_0040f5cd: ;XREF[4,0]: 0040f531,0040f572,0040f5a4,0040f5ab
.text:0040f5cd 6a30 PUSH 0x30
.text:0040f5cf 58 POP EAX
.text:0040f5d0 02d8 ADD BL,AL
.text:0040f5d2 881f MOV byte ptr [EDI],BL
.text:0040f5d4 c6470100 MOV byte ptr [EDI + 0x1],0x0
LAB_0040f5d8: ;XREF[2,0]: 0040f341,0040f359
.text:0040f5d8 33c0 XOR EAX,EAX
LAB_0040f5da: ;XREF[1,0]: 0040f330
.text:0040f5da 5b POP EBX
LAB_0040f5db: ;XREF[1,0]: 0040f2f1
.text:0040f5db 5f POP EDI
.text:0040f5dc 5e POP ESI
.text:0040f5dd c9 LEAVE
.text:0040f5de c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040f5df(undefined4 * param_1, char * param_2, uint param_3, uint * * * * * * * param_4, int param_5, int param_6, char param_7, int param_8, int param_9, __acrt_ptd * * param_10)
;param_1 undefined4 * 4 ;XREF[1,0]: 0040f5f9
;param_2 char * 8 ;XREF[1,0]: 0040f639
;param_3 uint c ;XREF[3,0]: 0040f611,0040f616,0040f673
;param_4 uint * * * ... 10 ;XREF[1,0]: 0040f5f2
;param_5 int 14 ;XREF[1,0]: 0040f5ef
;param_6 int 18 ;XREF[1,0]: 0040f5eb
;param_7 char 1c ;XREF[1,0]: 0040f66f
;param_8 int 20 ;XREF[1,0]: 0040f66c
;param_9 int 24 ;XREF[1,0]: 0040f633
;param_10 __acrt_ptd * * 28 ;XREF[2,0]: 0040f62d,0040f663
;local_10 undefined4 -10 ;XREF[5,0]: 0040f5e7,0040f61b,0040f630,0040f63f,0040f666
;XREF[2,0]: 0040f321,0040fcf9
.text:0040f5df 8bff MOV EDI,EDI
.text:0040f5e1 55 PUSH EBP
.text:0040f5e2 8bec MOV EBP,ESP
.text:0040f5e4 83ec0c SUB ESP,0xc
.text:0040f5e7 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040f5ea 56 PUSH ESI
.text:0040f5eb 8b751c MOV ESI,dword ptr [EBP + param_6+0x4]
.text:0040f5ee 57 PUSH EDI
.text:0040f5ef ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040f5f2 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040f5f5 8d7e01 LEA EDI,[ESI + 0x1]
.text:0040f5f8 50 PUSH EAX
.text:0040f5f9 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040f5fc 6a01 PUSH 0x1
.text:0040f5fe 57 PUSH EDI
.text:0040f5ff ff7004 PUSH dword ptr [EAX + 0x4]
.text:0040f602 ff30 PUSH dword ptr [EAX]
.text:0040f604 e83b510000 CALL FUN_00414744 ;undefined FUN_00414744(uint * * * * ...
.text:0040f609 83c9ff OR ECX,0xffffffff
.text:0040f60c 83c41c ADD ESP,0x1c
.text:0040f60f 8bd0 MOV EDX,EAX
.text:0040f611 394d10 CMP dword ptr [EBP + param_3+0x4],ECX
.text:0040f614 7417 JZ LAB_0040f62d
.text:0040f616 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:0040f619 33c0 XOR EAX,EAX
.text:0040f61b 837df42d CMP dword ptr [EBP + local_10+0x4],0x2d
.text:0040f61f 0f94c0 SETZ AL
.text:0040f622 2bc8 SUB ECX,EAX
.text:0040f624 33c0 XOR EAX,EAX
.text:0040f626 85f6 TEST ESI,ESI
.text:0040f628 0f9fc0 SETG AL
.text:0040f62b 2bc8 SUB ECX,EAX
LAB_0040f62d: ;XREF[1,0]: 0040f614
.text:0040f62d ff752c PUSH dword ptr [EBP + param_10+0x4]
.text:0040f630 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040f633 ff7528 PUSH dword ptr [EBP + param_9+0x4]
.text:0040f636 52 PUSH EDX
.text:0040f637 50 PUSH EAX
.text:0040f638 57 PUSH EDI
.text:0040f639 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:0040f63c 51 PUSH ECX
.text:0040f63d 33c9 XOR ECX,ECX
.text:0040f63f 837df42d CMP dword ptr [EBP + local_10+0x4],0x2d
.text:0040f643 0f94c1 SETZ CL
.text:0040f646 33c0 XOR EAX,EAX
.text:0040f648 85f6 TEST ESI,ESI
.text:0040f64a 0f9fc0 SETG AL
.text:0040f64d 03cf ADD ECX,EDI
.text:0040f64f 03c1 ADD EAX,ECX
.text:0040f651 50 PUSH EAX
.text:0040f652 e8f34f0000 CALL FUN_0041464a ;__acrt_ptd * FUN_0041464a(char * par...
.text:0040f657 83c41c ADD ESP,0x1c
.text:0040f65a 85c0 TEST EAX,EAX
.text:0040f65c 7405 JZ LAB_0040f663
.text:0040f65e c60700 MOV byte ptr [EDI],0x0
.text:0040f661 eb1c JMP LAB_0040f67f
LAB_0040f663: ;XREF[1,0]: 0040f65c
.text:0040f663 ff752c PUSH dword ptr [EBP + param_10+0x4]
.text:0040f666 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040f669 6a00 PUSH 0x0
.text:0040f66b 50 PUSH EAX
.text:0040f66c ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:0040f66f ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0040f672 56 PUSH ESI
.text:0040f673 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040f676 57 PUSH EDI
.text:0040f677 e807000000 CALL FUN_0040f683 ;undefined4 FUN_0040f683(char * param...
.text:0040f67c 83c420 ADD ESP,0x20
LAB_0040f67f: ;XREF[1,0]: 0040f661
.text:0040f67f 5f POP EDI
.text:0040f680 5e POP ESI
.text:0040f681 c9 LEAVE
.text:0040f682 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040f683(char * param_1, uint param_2, int param_3, char param_4, int param_5, int * param_6, byte param_7, __acrt_ptd * * param_8)
;param_1 char * 4 ;XREF[1,0]: 0040f6c1
;param_2 uint 8 ;XREF[4,0]: 0040f69a,0040f6df,0040f735,0040f73e
;param_3 int c ;XREF[1,0]: 0040f68a
;param_4 char 10 ;XREF[1,0]: 0040f757
;param_5 int 14 ;XREF[1,0]: 0040f7a7
;param_6 int * 18 ;XREF[3,0]: 0040f6c9,0040f6eb,0040f75f
;param_7 byte 1c ;XREF[2,0]: 0040f6c4,0040f727
;param_8 __acrt_ptd * * 20 ;XREF[3,0]: 0040f69f,0040f705,0040f715
;XREF[2,0]: 0040f677,0040fa1c
.text:0040f683 8bff MOV EDI,EDI
.text:0040f685 55 PUSH EBP
.text:0040f686 8bec MOV EBP,ESP
.text:0040f688 56 PUSH ESI
.text:0040f689 57 PUSH EDI
.text:0040f68a 8b7d10 MOV EDI,dword ptr [EBP + param_3+0x4]
.text:0040f68d 33d2 XOR EDX,EDX
.text:0040f68f 8bc7 MOV EAX,EDI
.text:0040f691 85ff TEST EDI,EDI
.text:0040f693 7f02 JG LAB_0040f697
.text:0040f695 8bc2 MOV EAX,EDX
LAB_0040f697: ;XREF[1,0]: 0040f693
.text:0040f697 83c009 ADD EAX,0x9
.text:0040f69a 39450c CMP dword ptr [EBP + param_2+0x4],EAX
.text:0040f69d 7721 JA LAB_0040f6c0
.text:0040f69f 8b4d24 MOV ECX,dword ptr [EBP + param_8+0x4]
.text:0040f6a2 6a22 PUSH 0x22
.text:0040f6a4 5e POP ESI
.text:0040f6a5 51 PUSH ECX
.text:0040f6a6 52 PUSH EDX
.text:0040f6a7 52 PUSH EDX
.text:0040f6a8 52 PUSH EDX
.text:0040f6a9 52 PUSH EDX
.text:0040f6aa 52 PUSH EDX
.text:0040f6ab c6411c01 MOV byte ptr [ECX + 0x1c],0x1
.text:0040f6af 897118 MOV dword ptr [ECX + 0x18],ESI
.text:0040f6b2 e8efeaffff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:0040f6b7 83c418 ADD ESP,0x18
.text:0040f6ba 8bc6 MOV EAX,ESI
LAB_0040f6bc: ;XREF[1,0]: 0040f7c4
.text:0040f6bc 5f POP EDI
.text:0040f6bd 5e POP ESI
.text:0040f6be 5d POP EBP
.text:0040f6bf c3 RET
LAB_0040f6c0: ;XREF[1,0]: 0040f69d
.text:0040f6c0 53 PUSH EBX
.text:0040f6c1 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:0040f6c4 385520 CMP byte ptr [EBP + param_7+0x4],DL
.text:0040f6c7 7422 JZ LAB_0040f6eb
.text:0040f6c9 8b4d1c MOV ECX,dword ptr [EBP + param_6+0x4]
.text:0040f6cc 33c0 XOR EAX,EAX
.text:0040f6ce 85ff TEST EDI,EDI
.text:0040f6d0 0f9fc0 SETG AL
.text:0040f6d3 50 PUSH EAX
.text:0040f6d4 33c0 XOR EAX,EAX
.text:0040f6d6 83392d CMP dword ptr [ECX],0x2d
.text:0040f6d9 0f94c0 SETZ AL
.text:0040f6dc 03c3 ADD EAX,EBX
.text:0040f6de 50 PUSH EAX
.text:0040f6df ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040f6e2 53 PUSH EBX
.text:0040f6e3 e8d6030000 CALL shift_bytes ;void shift_bytes(char * param_1, uin...
.text:0040f6e8 83c410 ADD ESP,0x10
LAB_0040f6eb: ;XREF[1,0]: 0040f6c7
.text:0040f6eb 8b451c MOV EAX,dword ptr [EBP + param_6+0x4]
.text:0040f6ee 8bf3 MOV ESI,EBX
.text:0040f6f0 83382d CMP dword ptr [EAX],0x2d
.text:0040f6f3 7506 JNZ LAB_0040f6fb
.text:0040f6f5 c6032d MOV byte ptr [EBX],0x2d
.text:0040f6f8 8d7301 LEA ESI,[EBX + 0x1]
LAB_0040f6fb: ;XREF[1,0]: 0040f6f3
.text:0040f6fb 85ff TEST EDI,EDI
.text:0040f6fd 7e28 JLE LAB_0040f727
.text:0040f6ff 8a4601 MOV AL,byte ptr [ESI + 0x1]
.text:0040f702 8806 MOV byte ptr [ESI],AL
.text:0040f704 46 INC ESI
.text:0040f705 8b4524 MOV EAX,dword ptr [EBP + param_8+0x4]
.text:0040f708 80781400 CMP byte ptr [EAX + 0x14],0x0
.text:0040f70c 750a JNZ LAB_0040f718
.text:0040f70e 8bc8 MOV ECX,EAX
.text:0040f710 e8cb6dffff CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
.text:0040f715 8b4524 MOV EAX,dword ptr [EBP + param_8+0x4]
LAB_0040f718: ;XREF[1,0]: 0040f70c
.text:0040f718 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:0040f71b 8b8088000000 MOV EAX,dword ptr [EAX + 0x88]
.text:0040f721 8b00 MOV EAX,dword ptr [EAX]
.text:0040f723 8a00 MOV AL,byte ptr [EAX]
.text:0040f725 8806 MOV byte ptr [ESI],AL
LAB_0040f727: ;XREF[1,0]: 0040f6fd
.text:0040f727 0fb64520 MOVZX EAX,byte ptr [EBP + param_7+0x4]
.text:0040f72b 83f001 XOR EAX,0x1
.text:0040f72e 03c7 ADD EAX,EDI
.text:0040f730 03f0 ADD ESI,EAX
.text:0040f732 83c8ff OR EAX,0xffffffff
.text:0040f735 39450c CMP dword ptr [EBP + param_2+0x4],EAX
.text:0040f738 7407 JZ LAB_0040f741
.text:0040f73a 8bc3 MOV EAX,EBX
.text:0040f73c 2bc6 SUB EAX,ESI
.text:0040f73e 03450c ADD EAX,dword ptr [EBP + param_2+0x4]
LAB_0040f741: ;XREF[1,0]: 0040f738
.text:0040f741 6898d24100 PUSH .rdata:s_e+000_0041d298 ;= "e+000"
.text:0040f746 50 PUSH EAX
.text:0040f747 56 PUSH ESI
.text:0040f748 e8a2e3ffff CALL FUN_0040daef ;undefined4 FUN_0040daef(char * param...
.text:0040f74d 83c40c ADD ESP,0xc
.text:0040f750 85c0 TEST EAX,EAX
.text:0040f752 7575 JNZ LAB_0040f7c9
.text:0040f754 8d7e02 LEA EDI,[ESI + 0x2]
.text:0040f757 384514 CMP byte ptr [EBP + param_4+0x4],AL
.text:0040f75a 7403 JZ LAB_0040f75f
.text:0040f75c c60645 MOV byte ptr [ESI],0x45
LAB_0040f75f: ;XREF[1,0]: 0040f75a
.text:0040f75f 8b4d1c MOV ECX,dword ptr [EBP + param_6+0x4]
.text:0040f762 8b4108 MOV EAX,dword ptr [ECX + 0x8]
.text:0040f765 803830 CMP byte ptr [EAX],0x30
.text:0040f768 743d JZ LAB_0040f7a7
.text:0040f76a 8b4904 MOV ECX,dword ptr [ECX + 0x4]
.text:0040f76d 83e901 SUB ECX,0x1
.text:0040f770 7906 JNS LAB_0040f778
.text:0040f772 f7d9 NEG ECX
.text:0040f774 c646012d MOV byte ptr [ESI + 0x1],0x2d
LAB_0040f778: ;XREF[1,0]: 0040f770
.text:0040f778 6a64 PUSH 0x64
.text:0040f77a 5b POP EBX
.text:0040f77b 3bcb CMP ECX,EBX
.text:0040f77d 7c0f JL LAB_0040f78e
.text:0040f77f 8bc1 MOV EAX,ECX
.text:0040f781 99 CDQ
.text:0040f782 f7fb IDIV EBX
.text:0040f784 004602 ADD byte ptr [ESI + 0x2],AL
.text:0040f787 8bc1 MOV EAX,ECX
.text:0040f789 99 CDQ
.text:0040f78a f7fb IDIV EBX
.text:0040f78c 8bca MOV ECX,EDX
LAB_0040f78e: ;XREF[1,0]: 0040f77d
.text:0040f78e 6a0a PUSH 0xa
.text:0040f790 5b POP EBX
.text:0040f791 3bcb CMP ECX,EBX
.text:0040f793 7c0f JL LAB_0040f7a4
.text:0040f795 8bc1 MOV EAX,ECX
.text:0040f797 99 CDQ
.text:0040f798 f7fb IDIV EBX
.text:0040f79a 004603 ADD byte ptr [ESI + 0x3],AL
.text:0040f79d 8bc1 MOV EAX,ECX
.text:0040f79f 99 CDQ
.text:0040f7a0 f7fb IDIV EBX
.text:0040f7a2 8bca MOV ECX,EDX
LAB_0040f7a4: ;XREF[1,0]: 0040f793
.text:0040f7a4 004e04 ADD byte ptr [ESI + 0x4],CL
LAB_0040f7a7: ;XREF[1,0]: 0040f768
.text:0040f7a7 837d1802 CMP dword ptr [EBP + param_5+0x4],0x2
.text:0040f7ab 5b POP EBX
.text:0040f7ac 7514 JNZ LAB_0040f7c2
.text:0040f7ae 803f30 CMP byte ptr [EDI],0x30
.text:0040f7b1 750f JNZ LAB_0040f7c2
.text:0040f7b3 6a03 PUSH 0x3
.text:0040f7b5 8d4701 LEA EAX,[EDI + 0x1]
.text:0040f7b8 50 PUSH EAX
.text:0040f7b9 57 PUSH EDI
.text:0040f7ba e8f138ffff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:0040f7bf 83c40c ADD ESP,0xc
LAB_0040f7c2: ;XREF[2,0]: 0040f7ac,0040f7b1
.text:0040f7c2 33c0 XOR EAX,EAX
.text:0040f7c4 e9f3feffff JMP LAB_0040f6bc
LAB_0040f7c9: ;XREF[1,0]: 0040f752
.text:0040f7c9 33c0 XOR EAX,EAX
.text:0040f7cb 50 PUSH EAX
.text:0040f7cc 50 PUSH EAX
.text:0040f7cd 50 PUSH EAX
.text:0040f7ce 50 PUSH EAX
.text:0040f7cf 50 PUSH EAX
.text:0040f7d0 e85eeaffff CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:0040f7d5 cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040f7d6(undefined4 * param_1, char * param_2, uint param_3, uint * * * * * * * param_4, int param_5, size_t param_6, int param_7, __acrt_ptd * * param_8)
;param_1 undefined4 * 4 ;XREF[1,0]: 0040f7f5
;param_2 char * 8 ;XREF[1,0]: 0040f837
;param_3 uint c ;XREF[3,0]: 0040f812,0040f817,0040f85c
;param_4 uint * * * ... 10 ;XREF[1,0]: 0040f7e8
;param_5 int 14 ;XREF[1,0]: 0040f7e0
;param_6 size_t 18 ;XREF[1,0]: 0040f7f1
;param_7 int 1c ;XREF[1,0]: 0040f82b
;param_8 __acrt_ptd * * 20 ;XREF[2,0]: 0040f825,0040f852
;local_c undefined4 -c ;XREF[1,0]: 0040f805
;local_10 undefined4 -10 ;XREF[6,0]: 0040f7e5,0040f7ee,0040f81c,0040f828,0040f832
; 0040f855
;XREF[1,0]: 0040fcdb
.text:0040f7d6 8bff MOV EDI,EDI
.text:0040f7d8 55 PUSH EBP
.text:0040f7d9 8bec MOV EBP,ESP
.text:0040f7db 83ec0c SUB ESP,0xc
.text:0040f7de 56 PUSH ESI
.text:0040f7df 57 PUSH EDI
.text:0040f7e0 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040f7e3 33c0 XOR EAX,EAX
.text:0040f7e5 8d7df4 LEA EDI=>local_10,[EBP + -0xc]
.text:0040f7e8 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040f7eb ab STOSD ES:EDI
.text:0040f7ec ab STOSD ES:EDI
.text:0040f7ed ab STOSD ES:EDI
.text:0040f7ee 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040f7f1 8b7d1c MOV EDI,dword ptr [EBP + param_6+0x4]
.text:0040f7f4 50 PUSH EAX
.text:0040f7f5 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040f7f8 6a00 PUSH 0x0
.text:0040f7fa 57 PUSH EDI
.text:0040f7fb ff7004 PUSH dword ptr [EAX + 0x4]
.text:0040f7fe ff30 PUSH dword ptr [EAX]
.text:0040f800 e83f4f0000 CALL FUN_00414744 ;undefined FUN_00414744(uint * * * * ...
.text:0040f805 8b75f8 MOV ESI,dword ptr [EBP + local_c+0x4]
.text:0040f808 83c9ff OR ECX,0xffffffff
.text:0040f80b 83c41c ADD ESP,0x1c
.text:0040f80e 03f7 ADD ESI,EDI
.text:0040f810 8bd0 MOV EDX,EAX
.text:0040f812 394d10 CMP dword ptr [EBP + param_3+0x4],ECX
.text:0040f815 740e JZ LAB_0040f825
.text:0040f817 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:0040f81a 33c0 XOR EAX,EAX
.text:0040f81c 837df42d CMP dword ptr [EBP + local_10+0x4],0x2d
.text:0040f820 0f94c0 SETZ AL
.text:0040f823 2bc8 SUB ECX,EAX
LAB_0040f825: ;XREF[1,0]: 0040f815
.text:0040f825 ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:0040f828 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040f82b ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0040f82e 52 PUSH EDX
.text:0040f82f 50 PUSH EAX
.text:0040f830 33c0 XOR EAX,EAX
.text:0040f832 837df42d CMP dword ptr [EBP + local_10+0x4],0x2d
.text:0040f836 56 PUSH ESI
.text:0040f837 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0040f83a 0f94c0 SETZ AL
.text:0040f83d 51 PUSH ECX
.text:0040f83e 03c6 ADD EAX,ESI
.text:0040f840 50 PUSH EAX
.text:0040f841 e8044e0000 CALL FUN_0041464a ;__acrt_ptd * FUN_0041464a(char * par...
.text:0040f846 83c41c ADD ESP,0x1c
.text:0040f849 85c0 TEST EAX,EAX
.text:0040f84b 7405 JZ LAB_0040f852
.text:0040f84d c60600 MOV byte ptr [ESI],0x0
.text:0040f850 eb16 JMP LAB_0040f868
LAB_0040f852: ;XREF[1,0]: 0040f84b
.text:0040f852 ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:0040f855 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040f858 6a00 PUSH 0x0
.text:0040f85a 50 PUSH EAX
.text:0040f85b 57 PUSH EDI
.text:0040f85c ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040f85f 56 PUSH ESI
.text:0040f860 e807000000 CALL FUN_0040f86c ;undefined4 FUN_0040f86c(char * param...
.text:0040f865 83c418 ADD ESP,0x18
LAB_0040f868: ;XREF[1,0]: 0040f850
.text:0040f868 5f POP EDI
.text:0040f869 5e POP ESI
.text:0040f86a c9 LEAVE
.text:0040f86b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0040f86c(char * param_1, uint param_2, size_t param_3, int * param_4, char param_5, __acrt_ptd * * param_6)
;param_1 char * 4 ;XREF[1,0]: 0040f879
;param_2 uint 8 ;XREF[3,0]: 0040f8d0,0040f8f1,0040f93a
;param_3 size_t c ;XREF[1,0]: 0040f880
;param_4 int * 10 ;XREF[1,0]: 0040f873
;param_5 char 14 ;XREF[3,0]: 0040f884,0040f8c3,0040f92c
;param_6 __acrt_ptd * * 18 ;XREF[2,0]: 0040f8fa,0040f90d
;local_8 undefined4 -8 ;XREF[6,0]: 0040f8a2,0040f8ad,0040f8d9,0040f8e7,0040f913
; 0040f943
;XREF[2,0]: 0040f860,0040f9fe
.text:0040f86c 8bff MOV EDI,EDI
.text:0040f86e 55 PUSH EBP
.text:0040f86f 8bec MOV EBP,ESP
.text:0040f871 51 PUSH ECX
.text:0040f872 53 PUSH EBX
.text:0040f873 8b5d14 MOV EBX,dword ptr [EBP + param_4+0x4]
.text:0040f876 33d2 XOR EDX,EDX
.text:0040f878 56 PUSH ESI
.text:0040f879 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040f87c 57 PUSH EDI
.text:0040f87d 8b4b04 MOV ECX,dword ptr [EBX + 0x4]
.text:0040f880 8b7d10 MOV EDI,dword ptr [EBP + param_3+0x4]
.text:0040f883 49 DEC ECX
.text:0040f884 385518 CMP byte ptr [EBP + param_5+0x4],DL
.text:0040f887 7414 JZ LAB_0040f89d
.text:0040f889 3bcf CMP ECX,EDI
.text:0040f88b 7510 JNZ LAB_0040f89d
.text:0040f88d 33c0 XOR EAX,EAX
.text:0040f88f 833b2d CMP dword ptr [EBX],0x2d
.text:0040f892 0f94c0 SETZ AL
.text:0040f895 03c1 ADD EAX,ECX
.text:0040f897 66c704303000 MOV word ptr [EAX + ESI*0x1],0x30
LAB_0040f89d: ;XREF[2,0]: 0040f887,0040f88b
.text:0040f89d 833b2d CMP dword ptr [EBX],0x2d
.text:0040f8a0 8bce MOV ECX,ESI
.text:0040f8a2 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
.text:0040f8a5 7509 JNZ LAB_0040f8b0
.text:0040f8a7 8d4e01 LEA ECX,[ESI + 0x1]
.text:0040f8aa c6062d MOV byte ptr [ESI],0x2d
.text:0040f8ad 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
LAB_0040f8b0: ;XREF[1,0]: 0040f8a5
.text:0040f8b0 8b4304 MOV EAX,dword ptr [EBX + 0x4]
.text:0040f8b3 85c0 TEST EAX,EAX
.text:0040f8b5 7f2e JG LAB_0040f8e5
.text:0040f8b7 750a JNZ LAB_0040f8c3
.text:0040f8b9 8b4308 MOV EAX,dword ptr [EBX + 0x8]
.text:0040f8bc 803830 CMP byte ptr [EAX],0x30
.text:0040f8bf 7502 JNZ LAB_0040f8c3
.text:0040f8c1 b201 MOV DL,0x1
LAB_0040f8c3: ;XREF[2,0]: 0040f8b7,0040f8bf
.text:0040f8c3 807d1800 CMP byte ptr [EBP + param_5+0x4],0x0
.text:0040f8c7 7404 JZ LAB_0040f8cd
.text:0040f8c9 84d2 TEST DL,DL
.text:0040f8cb 7512 JNZ LAB_0040f8df
LAB_0040f8cd: ;XREF[1,0]: 0040f8c7
.text:0040f8cd 6a01 PUSH 0x1
.text:0040f8cf 51 PUSH ECX
.text:0040f8d0 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040f8d3 56 PUSH ESI
.text:0040f8d4 e8e5010000 CALL shift_bytes ;void shift_bytes(char * param_1, uin...
.text:0040f8d9 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:0040f8dc 83c410 ADD ESP,0x10
LAB_0040f8df: ;XREF[1,0]: 0040f8cb
.text:0040f8df 33c0 XOR EAX,EAX
.text:0040f8e1 c60130 MOV byte ptr [ECX],0x30
.text:0040f8e4 40 INC EAX
LAB_0040f8e5: ;XREF[1,0]: 0040f8b5
.text:0040f8e5 03c1 ADD EAX,ECX
.text:0040f8e7 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040f8ea 85ff TEST EDI,EDI
.text:0040f8ec 7e65 JLE LAB_0040f953
.text:0040f8ee 6a01 PUSH 0x1
.text:0040f8f0 50 PUSH EAX
.text:0040f8f1 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040f8f4 56 PUSH ESI
.text:0040f8f5 e8c4010000 CALL shift_bytes ;void shift_bytes(char * param_1, uin...
.text:0040f8fa 8b451c MOV EAX,dword ptr [EBP + param_6+0x4]
.text:0040f8fd 83c410 ADD ESP,0x10
.text:0040f900 80781400 CMP byte ptr [EAX + 0x14],0x0
.text:0040f904 750a JNZ LAB_0040f910
.text:0040f906 8bc8 MOV ECX,EAX
.text:0040f908 e8d36bffff CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
.text:0040f90d 8b451c MOV EAX,dword ptr [EBP + param_6+0x4]
LAB_0040f910: ;XREF[1,0]: 0040f904
.text:0040f910 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:0040f913 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:0040f916 8b8088000000 MOV EAX,dword ptr [EAX + 0x88]
.text:0040f91c 8b00 MOV EAX,dword ptr [EAX]
.text:0040f91e 8a00 MOV AL,byte ptr [EAX]
.text:0040f920 8801 MOV byte ptr [ECX],AL
.text:0040f922 41 INC ECX
.text:0040f923 8b4304 MOV EAX,dword ptr [EBX + 0x4]
.text:0040f926 85c0 TEST EAX,EAX
.text:0040f928 7929 JNS LAB_0040f953
.text:0040f92a f7d8 NEG EAX
.text:0040f92c 807d1800 CMP byte ptr [EBP + param_5+0x4],0x0
.text:0040f930 7504 JNZ LAB_0040f936
.text:0040f932 3bc7 CMP EAX,EDI
.text:0040f934 7d02 JGE LAB_0040f938
LAB_0040f936: ;XREF[1,0]: 0040f930
.text:0040f936 8bf8 MOV EDI,EAX
LAB_0040f938: ;XREF[1,0]: 0040f934
.text:0040f938 57 PUSH EDI
.text:0040f939 51 PUSH ECX
.text:0040f93a ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040f93d 56 PUSH ESI
.text:0040f93e e87b010000 CALL shift_bytes ;void shift_bytes(char * param_1, uin...
.text:0040f943 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:0040f946 57 PUSH EDI
.text:0040f947 40 INC EAX
.text:0040f948 6a30 PUSH 0x30
.text:0040f94a 50 PUSH EAX
.text:0040f94b e8e02cffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040f950 83c41c ADD ESP,0x1c
LAB_0040f953: ;XREF[2,0]: 0040f8ec,0040f928
.text:0040f953 5f POP EDI
.text:0040f954 5e POP ESI
.text:0040f955 33c0 XOR EAX,EAX
.text:0040f957 5b POP EBX
.text:0040f958 c9 LEAVE
.text:0040f959 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0040f95a(undefined4 * param_1, char * param_2, uint param_3, uint * * * * * * * param_4, int param_5, size_t param_6, char param_7, int param_8, int param_9, __acrt_ptd * * param_10)
;param_1 undefined4 * 4 ;XREF[1,0]: 0040f97a
;param_2 char * 8 ;XREF[1,0]: 0040f98a
;param_3 uint c ;XREF[4,0]: 0040f9a9,0040f9ae,0040f9fa,0040fa18
;param_4 uint * * * ... 10 ;XREF[1,0]: 0040f96d
;param_5 int 14 ;XREF[1,0]: 0040f965
;param_6 size_t 18 ;XREF[1,0]: 0040f976
;param_7 char 1c ;XREF[1,0]: 0040fa14
;param_8 int 20 ;XREF[1,0]: 0040fa11
;param_9 int 24 ;XREF[1,0]: 0040f9b9
;param_10 __acrt_ptd * * 28 ;XREF[3,0]: 0040f9b3,0040f9f0,0040fa08
;local_8 undefined4 -8 ;XREF[2,0]: 0040f992,0040f9bc
;local_c undefined4 -c ;XREF[2,0]: 0040f9a0,0040f9e1
;local_14 undefined4 -14 ;XREF[2,0]: 0040f999,0040f9d4
;local_18 undefined4 -18 ;XREF[6,0]: 0040f96a,0040f973,0040f995,0040f9b6,0040f9f3
; 0040fa0b
;XREF[1,0]: 0040fcc4
.text:0040f95a 8bff MOV EDI,EDI
.text:0040f95c 55 PUSH EBP
.text:0040f95d 8bec MOV EBP,ESP
.text:0040f95f 83ec14 SUB ESP,0x14
.text:0040f962 53 PUSH EBX
.text:0040f963 56 PUSH ESI
.text:0040f964 57 PUSH EDI
.text:0040f965 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040f968 33c0 XOR EAX,EAX
.text:0040f96a 8d7dec LEA EDI=>local_18,[EBP + -0x14]
.text:0040f96d ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040f970 ab STOSD ES:EDI
.text:0040f971 ab STOSD ES:EDI
.text:0040f972 ab STOSD ES:EDI
.text:0040f973 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:0040f976 8b7d1c MOV EDI,dword ptr [EBP + param_6+0x4]
.text:0040f979 50 PUSH EAX
.text:0040f97a 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040f97d 6a00 PUSH 0x0
.text:0040f97f 57 PUSH EDI
.text:0040f980 ff7004 PUSH dword ptr [EAX + 0x4]
.text:0040f983 ff30 PUSH dword ptr [EAX]
.text:0040f985 e8ba4d0000 CALL FUN_00414744 ;undefined FUN_00414744(uint * * * * ...
.text:0040f98a 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:0040f98d 33d2 XOR EDX,EDX
.text:0040f98f 83c41c ADD ESP,0x1c
.text:0040f992 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0040f995 837dec2d CMP dword ptr [EBP + local_18+0x4],0x2d
.text:0040f999 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:0040f99c 0f94c2 SETZ DL
.text:0040f99f 48 DEC EAX
.text:0040f9a0 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0040f9a3 83c8ff OR EAX,0xffffffff
.text:0040f9a6 8d341a LEA ESI,[EDX + EBX*0x1]
.text:0040f9a9 394510 CMP dword ptr [EBP + param_3+0x4],EAX
.text:0040f9ac 7405 JZ LAB_0040f9b3
.text:0040f9ae 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0040f9b1 2bc2 SUB EAX,EDX
LAB_0040f9b3: ;XREF[1,0]: 0040f9ac
.text:0040f9b3 ff752c PUSH dword ptr [EBP + param_10+0x4]
.text:0040f9b6 8d4dec LEA ECX=>local_18,[EBP + -0x14]
.text:0040f9b9 ff7528 PUSH dword ptr [EBP + param_9+0x4]
.text:0040f9bc ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0040f9bf 51 PUSH ECX
.text:0040f9c0 57 PUSH EDI
.text:0040f9c1 50 PUSH EAX
.text:0040f9c2 56 PUSH ESI
.text:0040f9c3 e8824c0000 CALL FUN_0041464a ;__acrt_ptd * FUN_0041464a(char * par...
.text:0040f9c8 83c41c ADD ESP,0x1c
.text:0040f9cb 85c0 TEST EAX,EAX
.text:0040f9cd 7405 JZ LAB_0040f9d4
.text:0040f9cf c60300 MOV byte ptr [EBX],0x0
.text:0040f9d2 eb50 JMP LAB_0040fa24
LAB_0040f9d4: ;XREF[1,0]: 0040f9cd
.text:0040f9d4 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:0040f9d7 48 DEC EAX
.text:0040f9d8 83f8fc CMP EAX,-0x4
.text:0040f9db 7c2b JL LAB_0040fa08
.text:0040f9dd 3bc7 CMP EAX,EDI
.text:0040f9df 7d27 JGE LAB_0040fa08
.text:0040f9e1 3945f8 CMP dword ptr [EBP + local_c+0x4],EAX
.text:0040f9e4 7d0a JGE LAB_0040f9f0
LAB_0040f9e6: ;XREF[1,0]: 0040f9eb
.text:0040f9e6 8a06 MOV AL,byte ptr [ESI]
.text:0040f9e8 46 INC ESI
.text:0040f9e9 84c0 TEST AL,AL
.text:0040f9eb 75f9 JNZ LAB_0040f9e6
.text:0040f9ed 8846fe MOV byte ptr [ESI + -0x2],AL
LAB_0040f9f0: ;XREF[1,0]: 0040f9e4
.text:0040f9f0 ff752c PUSH dword ptr [EBP + param_10+0x4]
.text:0040f9f3 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:0040f9f6 6a01 PUSH 0x1
.text:0040f9f8 50 PUSH EAX
.text:0040f9f9 57 PUSH EDI
.text:0040f9fa ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040f9fd 53 PUSH EBX
.text:0040f9fe e869feffff CALL FUN_0040f86c ;undefined4 FUN_0040f86c(char * param...
.text:0040fa03 83c418 ADD ESP,0x18
.text:0040fa06 eb1c JMP LAB_0040fa24
LAB_0040fa08: ;XREF[2,0]: 0040f9db,0040f9df
.text:0040fa08 ff752c PUSH dword ptr [EBP + param_10+0x4]
.text:0040fa0b 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:0040fa0e 6a01 PUSH 0x1
.text:0040fa10 50 PUSH EAX
.text:0040fa11 ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:0040fa14 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0040fa17 57 PUSH EDI
.text:0040fa18 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040fa1b 53 PUSH EBX
.text:0040fa1c e862fcffff CALL FUN_0040f683 ;undefined4 FUN_0040f683(char * param...
.text:0040fa21 83c420 ADD ESP,0x20
LAB_0040fa24: ;XREF[2,0]: 0040f9d2,0040fa06
.text:0040fa24 5f POP EDI
.text:0040fa25 5e POP ESI
.text:0040fa26 5b POP EBX
.text:0040fa27 c9 LEAVE
.text:0040fa28 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl fp_format_nan_or_infinity(enum __acrt_fp_class,bool,char *,unsigned int,bool) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int fp_format_nan_or_infinity(__acrt_fp_class param_1, bool param_2, char * param_3, uint param_4, bool param_5)
;param_1 __acrt_fp_c... 4 ;XREF[1,0]: 0040fa5e
;param_2 bool 8 ;XREF[1,0]: 0040fa2f
;param_3 char * c ;XREF[2,0]: 0040fa3f,0040fa4c
;param_4 uint 10 ;XREF[1,0]: 0040fa32
;param_5 bool 14 ;XREF[1,0]: 0040fa64
;local_8 undefined4 -8 ;XREF[2,0]: 0040fa81,0040fa8b
;XREF[1,0]: 0040fc48
.text:0040fa29 8bff MOV EDI,EDI
.text:0040fa2b 55 PUSH EBP
.text:0040fa2c 8bec MOV EBP,ESP
.text:0040fa2e 51 PUSH ECX
.text:0040fa2f 8a4d0c MOV CL,byte ptr [EBP + param_2+0x4]
.text:0040fa32 8b5514 MOV EDX,dword ptr [EBP + param_4+0x4]
.text:0040fa35 0fb6c1 MOVZX EAX,CL
.text:0040fa38 83c004 ADD EAX,0x4
.text:0040fa3b 3bd0 CMP EDX,EAX
.text:0040fa3d 730b JNC LAB_0040fa4a
.text:0040fa3f 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0040fa42 6a0c PUSH 0xc
.text:0040fa44 c60000 MOV byte ptr [EAX],0x0
.text:0040fa47 58 POP EAX
.text:0040fa48 c9 LEAVE
.text:0040fa49 c3 RET
LAB_0040fa4a: ;XREF[1,0]: 0040fa3d
.text:0040fa4a 84c9 TEST CL,CL
.text:0040fa4c 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:0040fa4f 740d JZ LAB_0040fa5e
.text:0040fa51 c6012d MOV byte ptr [ECX],0x2d
.text:0040fa54 41 INC ECX
.text:0040fa55 c60100 MOV byte ptr [ECX],0x0
.text:0040fa58 83faff CMP EDX,-0x1
.text:0040fa5b 7401 JZ LAB_0040fa5e
.text:0040fa5d 4a DEC EDX
LAB_0040fa5e: ;XREF[2,0]: 0040fa4f,0040fa5b
.text:0040fa5e 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040fa61 53 PUSH EBX
.text:0040fa62 56 PUSH ESI
.text:0040fa63 57 PUSH EDI
.text:0040fa64 0fb67d18 MOVZX EDI,byte ptr [EBP + param_5+0x4]
.text:0040fa68 8d1c85fcf... LEA EBX,[EAX*0x4 + 0xfffffffc]
.text:0040fa6f 83f701 XOR EDI,0x1
.text:0040fa72 03ff ADD EDI,EDI
.text:0040fa74 8d043b LEA EAX,[EBX + EDI*0x1]
.text:0040fa77 8b348518d... MOV ESI,dword ptr [EAX*0x4 + .rdata:PTR_D...;= 0041d258
.text:0040fa7e 8d4601 LEA EAX,[ESI + 0x1]
.text:0040fa81 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
LAB_0040fa84: ;XREF[1,0]: 0040fa89
.text:0040fa84 8a06 MOV AL,byte ptr [ESI]
.text:0040fa86 46 INC ESI
.text:0040fa87 84c0 TEST AL,AL
.text:0040fa89 75f9 JNZ LAB_0040fa84
.text:0040fa8b 2b75fc SUB ESI,dword ptr [EBP + local_8+0x4]
.text:0040fa8e 3bf2 CMP ESI,EDX
.text:0040fa90 1bc0 SBB EAX,EAX
.text:0040fa92 43 INC EBX
.text:0040fa93 03c3 ADD EAX,EBX
.text:0040fa95 03c7 ADD EAX,EDI
.text:0040fa97 ff348518d... PUSH dword ptr [EAX*0x4 + .rdata:PTR_DAT_0...;= 0041d258
.text:0040fa9e 52 PUSH EDX
.text:0040fa9f 51 PUSH ECX
.text:0040faa0 e84ae0ffff CALL FUN_0040daef ;undefined4 FUN_0040daef(char * param...
.text:0040faa5 83c40c ADD ESP,0xc
.text:0040faa8 5f POP EDI
.text:0040faa9 5e POP ESI
.text:0040faaa 5b POP EBX
.text:0040faab 85c0 TEST EAX,EAX
.text:0040faad 7502 JNZ LAB_0040fab1
.text:0040faaf c9 LEAVE
.text:0040fab0 c3 RET
LAB_0040fab1: ;XREF[1,0]: 0040faad
.text:0040fab1 33c0 XOR EAX,EAX
.text:0040fab3 50 PUSH EAX
.text:0040fab4 50 PUSH EAX
.text:0040fab5 50 PUSH EAX
.text:0040fab6 50 PUSH EAX
.text:0040fab7 50 PUSH EAX
.text:0040fab8 e876e7ffff CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:0040fabd cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl shift_bytes(char * const,unsigned int,char * const,int) *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;void shift_bytes(char * param_1, uint param_2, char * param_3, int param_4)
;param_1 char * 4
;param_2 uint 8
;param_3 char * c ;XREF[1,0]: 0040facb
;param_4 int 10 ;XREF[1,0]: 0040fac3
;XREF[4,0]: 0040f6e3,0040f8d4,0040f8f5,0040f93e
.text:0040fabe 8bff MOV EDI,EDI
.text:0040fac0 55 PUSH EBP
.text:0040fac1 8bec MOV EBP,ESP
.text:0040fac3 8b5514 MOV EDX,dword ptr [EBP + param_4+0x4]
.text:0040fac6 85d2 TEST EDX,EDX
.text:0040fac8 7426 JZ LAB_0040faf0
.text:0040faca 56 PUSH ESI
.text:0040facb 8b7510 MOV ESI,dword ptr [EBP + param_3+0x4]
.text:0040face 8bce MOV ECX,ESI
.text:0040fad0 57 PUSH EDI
.text:0040fad1 8d7901 LEA EDI,[ECX + 0x1]
LAB_0040fad4: ;XREF[1,0]: 0040fad9
.text:0040fad4 8a01 MOV AL,byte ptr [ECX]
.text:0040fad6 41 INC ECX
.text:0040fad7 84c0 TEST AL,AL
.text:0040fad9 75f9 JNZ LAB_0040fad4
.text:0040fadb 2bcf SUB ECX,EDI
.text:0040fadd 8d4101 LEA EAX,[ECX + 0x1]
.text:0040fae0 50 PUSH EAX
.text:0040fae1 8d0416 LEA EAX,[ESI + EDX*0x1]
.text:0040fae4 56 PUSH ESI
.text:0040fae5 50 PUSH EAX
.text:0040fae6 e8c535ffff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:0040faeb 83c40c ADD ESP,0xc
.text:0040faee 5f POP EDI
.text:0040faef 5e POP ESI
LAB_0040faf0: ;XREF[1,0]: 0040fac8
.text:0040faf0 5d POP EBP
.text:0040faf1 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;char FUN_0040faf2(double * param_1, undefined4 param_2, uint param_3, undefined4 param_4, int param_5)
;param_1 double * 4 ;XREF[1,0]: 0040faff
;param_2 undefined4 8 ;XREF[2,0]: 0040faf7,0040fb38
;param_3 uint c ;XREF[2,0]: 0040fb09,0040fb35
;param_4 undefined4 10 ;XREF[1,0]: 0040fafb
;param_5 int 14 ;XREF[1,0]: 0040fb19
;XREF[1,0]: 0040f487
.text:0040faf2 8bff MOV EDI,EDI
.text:0040faf4 55 PUSH EBP
.text:0040faf5 8bec MOV EBP,ESP
.text:0040faf7 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040fafa 53 PUSH EBX
.text:0040fafb 8b5d14 MOV EBX,dword ptr [EBP + param_4+0x4]
.text:0040fafe 56 PUSH ESI
.text:0040faff 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0040fb02 57 PUSH EDI
.text:0040fb03 0fbfcb MOVSX ECX,BX
.text:0040fb06 8b5604 MOV EDX,dword ptr [ESI + 0x4]
.text:0040fb09 235510 AND EDX,dword ptr [EBP + param_3+0x4]
.text:0040fb0c 2306 AND EAX,dword ptr [ESI]
.text:0040fb0e 81e2ffff0f00 AND EDX,0xfffff
.text:0040fb14 e897ac0000 CALL __aullshr ;ulonglong __aullshr(byte param_1, ui...
.text:0040fb19 837d1800 CMP dword ptr [EBP + param_5+0x4],0x0
.text:0040fb1d 0fb7f8 MOVZX EDI,AX
.text:0040fb20 7509 JNZ LAB_0040fb2b
.text:0040fb22 83ff08 CMP EDI,0x8
.text:0040fb25 1ac0 SBB AL,AL
.text:0040fb27 fec0 INC AL
.text:0040fb29 eb55 JMP LAB_0040fb80
LAB_0040fb2b: ;XREF[1,0]: 0040fb20
.text:0040fb2b e8240f0000 CALL _fegetround ;undefined _fegetround(void)
.text:0040fb30 85c0 TEST EAX,EAX
.text:0040fb32 7512 JNZ LAB_0040fb46
.text:0040fb34 53 PUSH EBX
.text:0040fb35 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040fb38 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040fb3b 56 PUSH ESI
.text:0040fb3c e8cef6ffff CALL fe_to_nearest ;bool fe_to_nearest(double * param_1,...
.text:0040fb41 83c410 ADD ESP,0x10
.text:0040fb44 eb3a JMP LAB_0040fb80
LAB_0040fb46: ;XREF[1,0]: 0040fb32
.text:0040fb46 3d00020000 CMP EAX,0x200
.text:0040fb4b 7516 JNZ LAB_0040fb63
.text:0040fb4d 33c0 XOR EAX,EAX
.text:0040fb4f 6685ff TEST DI,DI
.text:0040fb52 742c JZ LAB_0040fb80
.text:0040fb54 394604 CMP dword ptr [ESI + 0x4],EAX
.text:0040fb57 7c27 JL LAB_0040fb80
.text:0040fb59 7f04 JG LAB_0040fb5f
.text:0040fb5b 3906 CMP dword ptr [ESI],EAX
.text:0040fb5d 7221 JC LAB_0040fb80
LAB_0040fb5f: ;XREF[3,0]: 0040fb59,0040fb76,0040fb7c
.text:0040fb5f b001 MOV AL,0x1
.text:0040fb61 eb1d JMP LAB_0040fb80
LAB_0040fb63: ;XREF[1,0]: 0040fb4b
.text:0040fb63 3d00010000 CMP EAX,0x100
.text:0040fb68 7514 JNZ LAB_0040fb7e
.text:0040fb6a 33c0 XOR EAX,EAX
.text:0040fb6c 6685ff TEST DI,DI
.text:0040fb6f 740f JZ LAB_0040fb80
.text:0040fb71 394604 CMP dword ptr [ESI + 0x4],EAX
.text:0040fb74 7f0a JG LAB_0040fb80
.text:0040fb76 7ce7 JL LAB_0040fb5f
.text:0040fb78 3906 CMP dword ptr [ESI],EAX
.text:0040fb7a 7304 JNC LAB_0040fb80
.text:0040fb7c ebe1 JMP LAB_0040fb5f
LAB_0040fb7e: ;XREF[1,0]: 0040fb68
.text:0040fb7e 32c0 XOR AL,AL
LAB_0040fb80: ;XREF[9,0]: 0040fb29,0040fb44,0040fb52,0040fb57
; 0040fb5d,0040fb61,0040fb6f,0040fb74
; 0040fb7a
.text:0040fb80 5f POP EDI
.text:0040fb81 5e POP ESI
.text:0040fb82 5b POP EBX
.text:0040fb83 5d POP EBP
.text:0040fb84 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_0040fb85(double * param_1, char * param_2, uint param_3, uint * * * * * * * param_4, int param_5, int param_6, size_t param_7, uint param_8, undefined4 param_9, int param_10, __acrt_ptd * * param_11)
;param_1 double * 4 ;XREF[6,0]: 0040fc17,0040fc26,0040fc98,0040fcc1,0040fcd8
; 0040fcf6
;param_2 char * 8 ;XREF[1,0]: 0040fb8f
;param_3 uint c ;XREF[6,0]: 0040fbba,0040fc40,0040fc94,0040fcbd,0040fcd4
; 0040fcf2
;param_4 uint * * * ... 10 ;XREF[5,0]: 0040fbd0,0040fc91,0040fcba,0040fcd1,0040fcef
;param_5 int 14 ;XREF[5,0]: 0040fbd8,0040fc8e,0040fcb7,0040fcce,0040fcec
;param_6 int 18 ;XREF[1,0]: 0040fbed
;param_7 size_t 1c ;XREF[4,0]: 0040fc8b,0040fcb4,0040fccb,0040fce9
;param_8 uint 20 ;XREF[2,0]: 0040fc0b,0040fc55
;param_9 undefined4 24
;param_10 int 28 ;XREF[1,0]: 0040fc6f
;param_11 __acrt_ptd * * 2c ;XREF[5,0]: 0040fb96,0040fbc0,0040fbdd,0040fc83,0040fca5
;local_8 undefined4 -8 ;XREF[6,0]: 0040fbff,0040fc07,0040fc3d,0040fc88,0040fcb1
; 0040fce6
;local_c undefined4 -c ;XREF[3,0]: 0040fc34,0040fc3a,0040fc44
;XREF[1,0]: 0040624d
.text:0040fb85 8bff MOV EDI,EDI
.text:0040fb87 55 PUSH EBP
.text:0040fb88 8bec MOV EBP,ESP
.text:0040fb8a 51 PUSH ECX
.text:0040fb8b 51 PUSH ECX
.text:0040fb8c 53 PUSH EBX
.text:0040fb8d 56 PUSH ESI
.text:0040fb8e 57 PUSH EDI
.text:0040fb8f 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:0040fb92 85ff TEST EDI,EDI
.text:0040fb94 7524 JNZ LAB_0040fbba
.text:0040fb96 8b4d30 MOV ECX,dword ptr [EBP + param_11+0x4]
.text:0040fb99 6a16 PUSH 0x16
.text:0040fb9b 5e POP ESI
.text:0040fb9c 51 PUSH ECX
.text:0040fb9d c6411c01 MOV byte ptr [ECX + 0x1c],0x1
.text:0040fba1 897118 MOV dword ptr [ECX + 0x18],ESI
LAB_0040fba4: ;XREF[1,0]: 0040fbce
.text:0040fba4 33db XOR EBX,EBX
LAB_0040fba6: ;XREF[1,0]: 0040fbeb
.text:0040fba6 53 PUSH EBX
.text:0040fba7 53 PUSH EBX
.text:0040fba8 53 PUSH EBX
.text:0040fba9 53 PUSH EBX
.text:0040fbaa 53 PUSH EBX
.text:0040fbab e8f6e5ffff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:0040fbb0 83c418 ADD ESP,0x18
.text:0040fbb3 8bc6 MOV EAX,ESI
.text:0040fbb5 e947010000 JMP LAB_0040fd01
LAB_0040fbba: ;XREF[1,0]: 0040fb94
.text:0040fbba 837d1000 CMP dword ptr [EBP + param_3+0x4],0x0
.text:0040fbbe 7710 JA LAB_0040fbd0
LAB_0040fbc0: ;XREF[1,0]: 0040fbd4
.text:0040fbc0 8b4530 MOV EAX,dword ptr [EBP + param_11+0x4]
.text:0040fbc3 6a16 PUSH 0x16
.text:0040fbc5 5e POP ESI
.text:0040fbc6 50 PUSH EAX
.text:0040fbc7 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:0040fbcb 897018 MOV dword ptr [EAX + 0x18],ESI
.text:0040fbce ebd4 JMP LAB_0040fba4
LAB_0040fbd0: ;XREF[1,0]: 0040fbbe
.text:0040fbd0 837d1400 CMP dword ptr [EBP + param_4+0x4],0x0
.text:0040fbd4 74ea JZ LAB_0040fbc0
.text:0040fbd6 33db XOR EBX,EBX
.text:0040fbd8 395d18 CMP dword ptr [EBP + param_5+0x4],EBX
.text:0040fbdb 7710 JA LAB_0040fbed
.text:0040fbdd 8b4530 MOV EAX,dword ptr [EBP + param_11+0x4]
.text:0040fbe0 6a16 PUSH 0x16
.text:0040fbe2 5e POP ESI
.text:0040fbe3 50 PUSH EAX
.text:0040fbe4 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:0040fbe8 897018 MOV dword ptr [EAX + 0x18],ESI
.text:0040fbeb ebb9 JMP LAB_0040fba6
LAB_0040fbed: ;XREF[1,0]: 0040fbdb
.text:0040fbed 8b751c MOV ESI,dword ptr [EBP + param_6+0x4]
.text:0040fbf0 83fe41 CMP ESI,0x41
.text:0040fbf3 7412 JZ LAB_0040fc07
.text:0040fbf5 83fe45 CMP ESI,0x45
.text:0040fbf8 740d JZ LAB_0040fc07
.text:0040fbfa 83fe46 CMP ESI,0x46
.text:0040fbfd 7408 JZ LAB_0040fc07
.text:0040fbff 885dfc MOV byte ptr [EBP + local_8+0x4],BL
.text:0040fc02 83fe47 CMP ESI,0x47
.text:0040fc05 7504 JNZ LAB_0040fc0b
LAB_0040fc07: ;XREF[3,0]: 0040fbf3,0040fbf8,0040fbfd
.text:0040fc07 c645fc01 MOV byte ptr [EBP + local_8+0x4],0x1
LAB_0040fc0b: ;XREF[1,0]: 0040fc05
.text:0040fc0b 8b4d24 MOV ECX,dword ptr [EBP + param_8+0x4]
.text:0040fc0e 8bc1 MOV EAX,ECX
.text:0040fc10 83e008 AND EAX,0x8
.text:0040fc13 0bc3 OR EAX,EBX
.text:0040fc15 7541 JNZ LAB_0040fc58
.text:0040fc17 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040fc1a e88ef5ffff CALL __acrt_fp_classify ;__acrt_fp_class __acrt_fp_classify(d...
.text:0040fc1f 59 POP ECX
.text:0040fc20 8bc8 MOV ECX,EAX
.text:0040fc22 85c9 TEST ECX,ECX
.text:0040fc24 742f JZ LAB_0040fc55
.text:0040fc26 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040fc29 395804 CMP dword ptr [EAX + 0x4],EBX
.text:0040fc2c 7f0c JG LAB_0040fc3a
.text:0040fc2e 7c04 JL LAB_0040fc34
.text:0040fc30 3918 CMP dword ptr [EAX],EBX
.text:0040fc32 7306 JNC LAB_0040fc3a
LAB_0040fc34: ;XREF[1,0]: 0040fc2e
.text:0040fc34 c645f801 MOV byte ptr [EBP + local_c+0x4],0x1
.text:0040fc38 eb03 JMP LAB_0040fc3d
LAB_0040fc3a: ;XREF[2,0]: 0040fc2c,0040fc32
.text:0040fc3a 885df8 MOV byte ptr [EBP + local_c+0x4],BL
LAB_0040fc3d: ;XREF[1,0]: 0040fc38
.text:0040fc3d ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0040fc40 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040fc43 57 PUSH EDI
.text:0040fc44 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:0040fc47 51 PUSH ECX
.text:0040fc48 e8dcfdffff CALL fp_format_nan_or_infinity ;int fp_format_nan_or_infinity(__acrt...
.text:0040fc4d 83c414 ADD ESP,0x14
.text:0040fc50 e9ac000000 JMP LAB_0040fd01
LAB_0040fc55: ;XREF[1,0]: 0040fc24
.text:0040fc55 8b4d24 MOV ECX,dword ptr [EBP + param_8+0x4]
LAB_0040fc58: ;XREF[1,0]: 0040fc15
.text:0040fc58 8bc1 MOV EAX,ECX
.text:0040fc5a 83e010 AND EAX,0x10
.text:0040fc5d 0bc3 OR EAX,EBX
.text:0040fc5f 7404 JZ LAB_0040fc65
.text:0040fc61 6a03 PUSH 0x3
.text:0040fc63 eb02 JMP LAB_0040fc67
LAB_0040fc65: ;XREF[1,0]: 0040fc5f
.text:0040fc65 6a02 PUSH 0x2
LAB_0040fc67: ;XREF[1,0]: 0040fc63
.text:0040fc67 83e120 AND ECX,0x20
.text:0040fc6a 0bcb OR ECX,EBX
.text:0040fc6c 58 POP EAX
.text:0040fc6d 7403 JZ LAB_0040fc72
.text:0040fc6f 8b5d2c MOV EBX,dword ptr [EBP + param_10+0x4]
LAB_0040fc72: ;XREF[1,0]: 0040fc6d
.text:0040fc72 83fe61 CMP ESI,0x61
.text:0040fc75 7f2b JG LAB_0040fca2
.text:0040fc77 740a JZ LAB_0040fc83
.text:0040fc79 83ee41 SUB ESI,0x41
.text:0040fc7c 7405 JZ LAB_0040fc83
.text:0040fc7e 83ee04 SUB ESI,0x4
.text:0040fc81 eb22 JMP LAB_0040fca5
LAB_0040fc83: ;XREF[2,0]: 0040fc77,0040fc7c
.text:0040fc83 ff7530 PUSH dword ptr [EBP + param_11+0x4]
.text:0040fc86 53 PUSH EBX
.text:0040fc87 50 PUSH EAX
.text:0040fc88 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0040fc8b ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0040fc8e ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040fc91 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040fc94 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040fc97 57 PUSH EDI
.text:0040fc98 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040fc9b e812f6ffff CALL FUN_0040f2b2 ;int FUN_0040f2b2(double * param_1, c...
.text:0040fca0 eb5c JMP LAB_0040fcfe
LAB_0040fca2: ;XREF[1,0]: 0040fc75
.text:0040fca2 83ee65 SUB ESI,0x65
LAB_0040fca5: ;XREF[1,0]: 0040fc81
.text:0040fca5 ff7530 PUSH dword ptr [EBP + param_11+0x4]
.text:0040fca8 53 PUSH EBX
.text:0040fca9 743a JZ LAB_0040fce5
.text:0040fcab 83ee01 SUB ESI,0x1
.text:0040fcae 741b JZ LAB_0040fccb
.text:0040fcb0 50 PUSH EAX
.text:0040fcb1 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0040fcb4 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0040fcb7 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040fcba ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040fcbd ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040fcc0 57 PUSH EDI
.text:0040fcc1 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040fcc4 e891fcffff CALL FUN_0040f95a ;undefined FUN_0040f95a(undefined4 * ...
.text:0040fcc9 eb33 JMP LAB_0040fcfe
LAB_0040fccb: ;XREF[1,0]: 0040fcae
.text:0040fccb ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0040fcce ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040fcd1 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040fcd4 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040fcd7 57 PUSH EDI
.text:0040fcd8 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040fcdb e8f6faffff CALL FUN_0040f7d6 ;undefined FUN_0040f7d6(undefined4 * ...
.text:0040fce0 83c420 ADD ESP,0x20
.text:0040fce3 eb1c JMP LAB_0040fd01
LAB_0040fce5: ;XREF[1,0]: 0040fca9
.text:0040fce5 50 PUSH EAX
.text:0040fce6 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0040fce9 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0040fcec ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0040fcef ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040fcf2 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040fcf5 57 PUSH EDI
.text:0040fcf6 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040fcf9 e8e1f8ffff CALL FUN_0040f5df ;undefined FUN_0040f5df(undefined4 * ...
LAB_0040fcfe: ;XREF[2,0]: 0040fca0,0040fcc9
.text:0040fcfe 83c428 ADD ESP,0x28
LAB_0040fd01: ;XREF[3,0]: 0040fbb5,0040fc50,0040fce3
.text:0040fd01 5f POP EDI
.text:0040fd02 5e POP ESI
.text:0040fd03 5b POP EBX
.text:0040fd04 c9 LEAVE
.text:0040fd05 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;__acrt_ptd * FUN_0040fd06(int * param_1, byte * param_2, uint param_3, WCHAR param_4, __acrt_ptd * * param_5)
;param_1 int * 4 ;XREF[3,0]: 0040fd1f,0040fd32,0040fd71
;param_2 byte * 8 ;XREF[3,0]: 0040fd0b,0040fd5c,0040fe38
;param_3 uint c ;XREF[4,0]: 0040fd11,0040fd5f,0040fe3f,0040fe44
;param_4 WCHAR 10 ;XREF[3,0]: 0040fd7d,0040fdb5,0040fe0a
;param_5 __acrt_ptd * * 14 ;XREF[1,0]: 0040fd3c
;local_8 undefined4 -8 ;XREF[5,0]: 0040fdb9,0040fdc0,0040fdfe,0040fe01,0040fe1e
;local_c undefined4 -c ;XREF[3,0]: 0040fd6e,0040fd86,0040fe0f
;local_10 undefined4 -10 ;XREF[2,0]: 0040fd77,0040fd83
;XREF[2,0]: 00406009,00406343
.text:0040fd06 8bff MOV EDI,EDI
.text:0040fd08 55 PUSH EBP
.text:0040fd09 8bec MOV EBP,ESP
.text:0040fd0b 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040fd0e 83ec0c SUB ESP,0xc
.text:0040fd11 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0040fd14 53 PUSH EBX
.text:0040fd15 56 PUSH ESI
.text:0040fd16 57 PUSH EDI
.text:0040fd17 85c9 TEST ECX,ECX
.text:0040fd19 7517 JNZ LAB_0040fd32
.text:0040fd1b 85c0 TEST EAX,EAX
.text:0040fd1d 7413 JZ LAB_0040fd32
.text:0040fd1f 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040fd22 85c0 TEST EAX,EAX
.text:0040fd24 0f84ff000000 JZ LAB_0040fe29
.text:0040fd2a 832000 AND dword ptr [EAX],0x0
.text:0040fd2d e9f7000000 JMP LAB_0040fe29
LAB_0040fd32: ;XREF[2,0]: 0040fd19,0040fd1d
.text:0040fd32 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:0040fd35 85db TEST EBX,EBX
.text:0040fd37 7403 JZ LAB_0040fd3c
.text:0040fd39 830bff OR dword ptr [EBX],0xffffffff
LAB_0040fd3c: ;XREF[1,0]: 0040fd37
.text:0040fd3c 8b7518 MOV ESI,dword ptr [EBP + param_5+0x4]
.text:0040fd3f 33ff XOR EDI,EDI
.text:0040fd41 3dffffff7f CMP EAX,0x7fffffff
.text:0040fd46 7607 JBE LAB_0040fd4f
.text:0040fd48 6a16 PUSH 0x16
.text:0040fd4a e904010000 JMP LAB_0040fe53
LAB_0040fd4f: ;XREF[1,0]: 0040fd46
.text:0040fd4f 807e1400 CMP byte ptr [ESI + 0x14],0x0
.text:0040fd53 750d JNZ LAB_0040fd62
.text:0040fd55 8bce MOV ECX,ESI
.text:0040fd57 e88467ffff CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
.text:0040fd5c 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0040fd5f 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
LAB_0040fd62: ;XREF[1,0]: 0040fd53
.text:0040fd62 8b560c MOV EDX,dword ptr [ESI + 0xc]
.text:0040fd65 8b5a08 MOV EBX,dword ptr [EDX + 0x8]
.text:0040fd68 81fbe9fd0000 CMP EBX,0xfde9
.text:0040fd6e 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
.text:0040fd71 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:0040fd74 7537 JNZ LAB_0040fdad
.text:0040fd76 56 PUSH ESI
.text:0040fd77 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0040fd7a 33ff XOR EDI,EDI
.text:0040fd7c 50 PUSH EAX
.text:0040fd7d 0fb74514 MOVZX EAX,word ptr [EBP + param_4+0x4]
.text:0040fd81 50 PUSH EAX
.text:0040fd82 51 PUSH ECX
.text:0040fd83 897df4 MOV dword ptr [EBP + local_10+0x4],EDI
.text:0040fd86 897df8 MOV dword ptr [EBP + local_c+0x4],EDI
.text:0040fd89 e89e5f0000 CALL FUN_00415d2c ;undefined4 FUN_00415d2c(byte * param...
.text:0040fd8e 83c410 ADD ESP,0x10
.text:0040fd91 85db TEST EBX,EBX
.text:0040fd93 7402 JZ LAB_0040fd97
.text:0040fd95 8903 MOV dword ptr [EBX],EAX
LAB_0040fd97: ;XREF[1,0]: 0040fd93
.text:0040fd97 83f804 CMP EAX,0x4
.text:0040fd9a 0f8e89000000 JLE LAB_0040fe29
.text:0040fda0 807e1c00 CMP byte ptr [ESI + 0x1c],0x0
.text:0040fda4 7403 JZ LAB_0040fda9
.text:0040fda6 8b7e18 MOV EDI,dword ptr [ESI + 0x18]
LAB_0040fda9: ;XREF[1,0]: 0040fda4
.text:0040fda9 8bc7 MOV EAX,EDI
.text:0040fdab eb36 JMP LAB_0040fde3
LAB_0040fdad: ;XREF[1,0]: 0040fd74
.text:0040fdad 39baa8000000 CMP dword ptr [EDX + 0xa8],EDI
.text:0040fdb3 7549 JNZ LAB_0040fdfe
.text:0040fdb5 668b5514 MOV DX,word ptr [EBP + param_4+0x4]
.text:0040fdb9 c745fcff0... MOV dword ptr [EBP + local_8+0x4],0xff
.text:0040fdc0 663b55fc CMP DX,word ptr [EBP + local_8+0x4]
.text:0040fdc4 7622 JBE LAB_0040fde8
.text:0040fdc6 85c9 TEST ECX,ECX
.text:0040fdc8 740f JZ LAB_0040fdd9
.text:0040fdca 85c0 TEST EAX,EAX
.text:0040fdcc 740b JZ LAB_0040fdd9
.text:0040fdce 50 PUSH EAX
.text:0040fdcf 57 PUSH EDI
.text:0040fdd0 51 PUSH ECX
.text:0040fdd1 e85a28ffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040fdd6 83c40c ADD ESP,0xc
LAB_0040fdd9: ;XREF[4,0]: 0040fdc8,0040fdcc,0040fe21,0040fe36
.text:0040fdd9 6a2a PUSH 0x2a
.text:0040fddb 58 POP EAX
.text:0040fddc 894618 MOV dword ptr [ESI + 0x18],EAX
.text:0040fddf c6461c01 MOV byte ptr [ESI + 0x1c],0x1
LAB_0040fde3: ;XREF[3,0]: 0040fdab,0040fe2b,0040fe6b
.text:0040fde3 5f POP EDI
.text:0040fde4 5e POP ESI
.text:0040fde5 5b POP EBX
.text:0040fde6 c9 LEAVE
.text:0040fde7 c3 RET
LAB_0040fde8: ;XREF[1,0]: 0040fdc4
.text:0040fde8 85c9 TEST ECX,ECX
.text:0040fdea 7406 JZ LAB_0040fdf2
.text:0040fdec 85c0 TEST EAX,EAX
.text:0040fdee 7461 JZ LAB_0040fe51
.text:0040fdf0 8811 MOV byte ptr [ECX],DL
LAB_0040fdf2: ;XREF[1,0]: 0040fdea
.text:0040fdf2 85db TEST EBX,EBX
.text:0040fdf4 7433 JZ LAB_0040fe29
.text:0040fdf6 c70301000000 MOV dword ptr [EBX],0x1
.text:0040fdfc eb2b JMP LAB_0040fe29
LAB_0040fdfe: ;XREF[1,0]: 0040fdb3
.text:0040fdfe 8d55fc LEA EDX=>local_8,[EBP + -0x4]
.text:0040fe01 897dfc MOV dword ptr [EBP + local_8+0x4],EDI
.text:0040fe04 52 PUSH EDX
.text:0040fe05 57 PUSH EDI
.text:0040fe06 50 PUSH EAX
.text:0040fe07 51 PUSH ECX
.text:0040fe08 6a01 PUSH 0x1
.text:0040fe0a 8d4514 LEA EAX=>param_4,[EBP + 0x14]
.text:0040fe0d 50 PUSH EAX
.text:0040fe0e 57 PUSH EDI
.text:0040fe0f ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:0040fe12 e846210000 CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:0040fe17 83c420 ADD ESP,0x20
.text:0040fe1a 85c0 TEST EAX,EAX
.text:0040fe1c 740f JZ LAB_0040fe2d
.text:0040fe1e 397dfc CMP dword ptr [EBP + local_8+0x4],EDI
.text:0040fe21 75b6 JNZ LAB_0040fdd9
.text:0040fe23 85db TEST EBX,EBX
.text:0040fe25 7402 JZ LAB_0040fe29
.text:0040fe27 8903 MOV dword ptr [EBX],EAX
LAB_0040fe29: ;XREF[6,0]: 0040fd24,0040fd2d,0040fd9a,0040fdf4
; 0040fdfc,0040fe25
.text:0040fe29 33c0 XOR EAX,EAX
.text:0040fe2b ebb6 JMP LAB_0040fde3
LAB_0040fe2d: ;XREF[1,0]: 0040fe1c
.text:0040fe2d ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:0040fe33 83f87a CMP EAX,0x7a
.text:0040fe36 75a1 JNZ LAB_0040fdd9
.text:0040fe38 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0040fe3b 85c0 TEST EAX,EAX
.text:0040fe3d 7412 JZ LAB_0040fe51
.text:0040fe3f 397d10 CMP dword ptr [EBP + param_3+0x4],EDI
.text:0040fe42 760d JBE LAB_0040fe51
.text:0040fe44 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040fe47 57 PUSH EDI
.text:0040fe48 50 PUSH EAX
.text:0040fe49 e8e227ffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0040fe4e 83c40c ADD ESP,0xc
LAB_0040fe51: ;XREF[3,0]: 0040fdee,0040fe3d,0040fe42
.text:0040fe51 6a22 PUSH 0x22
LAB_0040fe53: ;XREF[1,0]: 0040fd4a
.text:0040fe53 5b POP EBX
.text:0040fe54 56 PUSH ESI
.text:0040fe55 57 PUSH EDI
.text:0040fe56 57 PUSH EDI
.text:0040fe57 57 PUSH EDI
.text:0040fe58 57 PUSH EDI
.text:0040fe59 895e18 MOV dword ptr [ESI + 0x18],EBX
.text:0040fe5c 57 PUSH EDI
.text:0040fe5d c6461c01 MOV byte ptr [ESI + 0x1c],0x1
.text:0040fe61 e840e3ffff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:0040fe66 83c418 ADD ESP,0x18
.text:0040fe69 8bc3 MOV EAX,EBX
.text:0040fe6b e973ffffff JMP LAB_0040fde3
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040fe70(LPWSTR param_1, byte * param_2, uint param_3, __acrt_ptd * * param_4)
;param_1 LPWSTR 4 ;XREF[7,0]: 0040fe94,0040fed2,0040fef7,0040ff26,0040ff2d
; 0040ff6b,0040ff72
;param_2 byte * 8 ;XREF[1,0]: 0040fe79
;param_3 uint c ;XREF[1,0]: 0040fe84
;param_4 __acrt_ptd * * 10 ;XREF[1,0]: 0040fea9
;local_8 undefined4 -8 ;XREF[3,0]: 0040febf,0040ff34,0040ff7a
;XREF[3,0]: 0040ffc4,00413d14,00413d34
.text:0040fe70 8bff MOV EDI,EDI
.text:0040fe72 55 PUSH EBP
.text:0040fe73 8bec MOV EBP,ESP
.text:0040fe75 51 PUSH ECX
.text:0040fe76 53 PUSH EBX
.text:0040fe77 56 PUSH ESI
.text:0040fe78 57 PUSH EDI
.text:0040fe79 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:0040fe7c 85ff TEST EDI,EDI
.text:0040fe7e 0f840a010000 JZ LAB_0040ff8e
.text:0040fe84 8b5d10 MOV EBX,dword ptr [EBP + param_3+0x4]
.text:0040fe87 85db TEST EBX,EBX
.text:0040fe89 0f84ff000000 JZ LAB_0040ff8e
.text:0040fe8f 803f00 CMP byte ptr [EDI],0x0
.text:0040fe92 7515 JNZ LAB_0040fea9
.text:0040fe94 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0040fe97 85c0 TEST EAX,EAX
.text:0040fe99 0f84fd000000 JZ LAB_0040ff9c
.text:0040fe9f 33c9 XOR ECX,ECX
.text:0040fea1 668908 MOV word ptr [EAX],CX
.text:0040fea4 e9f3000000 JMP LAB_0040ff9c
LAB_0040fea9: ;XREF[1,0]: 0040fe92
.text:0040fea9 8b7514 MOV ESI,dword ptr [EBP + param_4+0x4]
.text:0040feac 807e1400 CMP byte ptr [ESI + 0x14],0x0
.text:0040feb0 7507 JNZ LAB_0040feb9
.text:0040feb2 8bce MOV ECX,ESI
.text:0040feb4 e82766ffff CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
LAB_0040feb9: ;XREF[1,0]: 0040feb0
.text:0040feb9 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:0040febc 8b4808 MOV ECX,dword ptr [EAX + 0x8]
.text:0040febf 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
.text:0040fec2 81f9e9fd0000 CMP ECX,0xfde9
.text:0040fec8 7523 JNZ LAB_0040feed
.text:0040feca 56 PUSH ESI
.text:0040fecb 68cc424200 PUSH .data:DAT_004242cc ;= ??
.text:0040fed0 53 PUSH EBX
.text:0040fed1 57 PUSH EDI
.text:0040fed2 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040fed5 e82e5f0000 CALL FUN_00415e08 ;uint FUN_00415e08(undefined2 * param...
.text:0040feda 83c414 ADD ESP,0x14
.text:0040fedd 85c0 TEST EAX,EAX
.text:0040fedf 0f89b9000000 JNS LAB_0040ff9e
LAB_0040fee5: ;XREF[1,0]: 0040ff64
.text:0040fee5 83c8ff OR EAX,0xffffffff
.text:0040fee8 e9b1000000 JMP LAB_0040ff9e
LAB_0040feed: ;XREF[1,0]: 0040fec8
.text:0040feed 33d2 XOR EDX,EDX
.text:0040feef 3990a8000000 CMP dword ptr [EAX + 0xa8],EDX
.text:0040fef5 7513 JNZ LAB_0040ff0a
.text:0040fef7 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0040fefa 85c9 TEST ECX,ECX
.text:0040fefc 0f8487000000 JZ LAB_0040ff89
.text:0040ff02 0fb607 MOVZX EAX,byte ptr [EDI]
.text:0040ff05 668901 MOV word ptr [ECX],AX
.text:0040ff08 eb7f JMP LAB_0040ff89
LAB_0040ff0a: ;XREF[1,0]: 0040fef5
.text:0040ff0a 0fb60f MOVZX ECX,byte ptr [EDI]
.text:0040ff0d 8b00 MOV EAX,dword ptr [EAX]
.text:0040ff0f 66391448 CMP word ptr [EAX + ECX*0x2],DX
.text:0040ff13 7d54 JGE LAB_0040ff69
.text:0040ff15 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:0040ff18 8b4804 MOV ECX,dword ptr [EAX + 0x4]
.text:0040ff1b 83f901 CMP ECX,0x1
.text:0040ff1e 7e23 JLE LAB_0040ff43
.text:0040ff20 3bd9 CMP EBX,ECX
.text:0040ff22 7c1f JL LAB_0040ff43
.text:0040ff24 33c0 XOR EAX,EAX
.text:0040ff26 394508 CMP dword ptr [EBP + param_1+0x4],EAX
.text:0040ff29 0f95c0 SETNZ AL
.text:0040ff2c 50 PUSH EAX
.text:0040ff2d ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040ff30 51 PUSH ECX
.text:0040ff31 57 PUSH EDI
.text:0040ff32 6a09 PUSH 0x9
.text:0040ff34 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0040ff37 e8671f0000 CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:0040ff3c 83c418 ADD ESP,0x18
.text:0040ff3f 85c0 TEST EAX,EAX
.text:0040ff41 750e JNZ LAB_0040ff51
LAB_0040ff43: ;XREF[2,0]: 0040ff1e,0040ff22
.text:0040ff43 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:0040ff46 3b5804 CMP EBX,dword ptr [EAX + 0x4]
.text:0040ff49 720e JC LAB_0040ff59
.text:0040ff4b 807f0100 CMP byte ptr [EDI + 0x1],0x0
.text:0040ff4f 7408 JZ LAB_0040ff59
LAB_0040ff51: ;XREF[1,0]: 0040ff41
.text:0040ff51 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:0040ff54 8b4004 MOV EAX,dword ptr [EAX + 0x4]
.text:0040ff57 eb45 JMP LAB_0040ff9e
LAB_0040ff59: ;XREF[3,0]: 0040ff49,0040ff4f,0040ff87
.text:0040ff59 c6461c01 MOV byte ptr [ESI + 0x1c],0x1
.text:0040ff5d c746182a0... MOV dword ptr [ESI + 0x18],0x2a
.text:0040ff64 e97cffffff JMP LAB_0040fee5
LAB_0040ff69: ;XREF[1,0]: 0040ff13
.text:0040ff69 33c0 XOR EAX,EAX
.text:0040ff6b 394508 CMP dword ptr [EBP + param_1+0x4],EAX
.text:0040ff6e 0f95c0 SETNZ AL
.text:0040ff71 50 PUSH EAX
.text:0040ff72 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040ff75 6a01 PUSH 0x1
.text:0040ff77 57 PUSH EDI
.text:0040ff78 6a09 PUSH 0x9
.text:0040ff7a ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0040ff7d e8211f0000 CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:0040ff82 83c418 ADD ESP,0x18
.text:0040ff85 85c0 TEST EAX,EAX
.text:0040ff87 74d0 JZ LAB_0040ff59
LAB_0040ff89: ;XREF[2,0]: 0040fefc,0040ff08
.text:0040ff89 33c0 XOR EAX,EAX
.text:0040ff8b 40 INC EAX
.text:0040ff8c eb10 JMP LAB_0040ff9e
LAB_0040ff8e: ;XREF[2,0]: 0040fe7e,0040fe89
.text:0040ff8e 33d2 XOR EDX,EDX
.text:0040ff90 8915cc424200 MOV dword ptr [.data:DAT_004242cc],EDX ;= ??
.text:0040ff96 8915d0424200 MOV dword ptr [.data:DAT_004242d0],EDX ;= ??
LAB_0040ff9c: ;XREF[2,0]: 0040fe99,0040fea4
.text:0040ff9c 33c0 XOR EAX,EAX
LAB_0040ff9e: ;XREF[4,0]: 0040fedf,0040fee8,0040ff57,0040ff8c
.text:0040ff9e 5f POP EDI
.text:0040ff9f 5e POP ESI
.text:0040ffa0 5b POP EBX
.text:0040ffa1 c9 LEAVE
.text:0040ffa2 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0040ffa3(LPWSTR param_1, byte * param_2, uint param_3, undefined4 * param_4)
;param_1 LPWSTR 4 ;XREF[1,0]: 0040ffc1
;param_2 byte * 8 ;XREF[1,0]: 0040ffbe
;param_3 uint c ;XREF[1,0]: 0040ffbb
;param_4 undefined4 * 10 ;XREF[1,0]: 0040ffaf
;local_2c undefined1 -2c ;XREF[3,0]: 0040ffab,0040ffb7,0040ffcc
;XREF[2,0]: 0040c7b5,0040c822
.text:0040ffa3 8bff MOV EDI,EDI
.text:0040ffa5 55 PUSH EBP
.text:0040ffa6 8bec MOV EBP,ESP
.text:0040ffa8 83ec28 SUB ESP,0x28
.text:0040ffab 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:0040ffae 56 PUSH ESI
.text:0040ffaf ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0040ffb2 e81956ffff CALL FUN_004055d0 ;void * FUN_004055d0(void * this, und...
.text:0040ffb7 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
.text:0040ffba 50 PUSH EAX
.text:0040ffbb ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0040ffbe ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0040ffc1 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0040ffc4 e8a7feffff CALL FUN_0040fe70 ;uint FUN_0040fe70(LPWSTR param_1, by...
.text:0040ffc9 83c410 ADD ESP,0x10
.text:0040ffcc 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:0040ffcf 8bf0 MOV ESI,EAX
.text:0040ffd1 e85a56ffff CALL FUN_00405630 ;undefined FUN_00405630(__acrt_ptd * ...
.text:0040ffd6 8bc6 MOV EAX,ESI
.text:0040ffd8 5e POP ESI
.text:0040ffd9 c9 LEAVE
.text:0040ffda c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __fileno *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;int __fileno(FILE * _File)
;_File FILE * 4 ;XREF[1,0]: 0040ffe0
;XREF[14,0]: 004065a4,0040cb63,0040eaf8,0040eb74
; 00410066,00410979,00410af9,00410b32
; 00410b40,00410b4e,00410b5b,00413944
; 00415f5b,00416053
.text:0040ffdb 8bff MOV EDI,EDI
.text:0040ffdd 55 PUSH EBP
.text:0040ffde 8bec MOV EBP,ESP
.text:0040ffe0 8b4508 MOV EAX,dword ptr [EBP + _File+0x4]
.text:0040ffe3 85c0 TEST EAX,EAX
.text:0040ffe5 7515 JNZ LAB_0040fffc
.text:0040ffe7 e818e3ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0040ffec c70016000000 MOV dword ptr [EAX],0x16
.text:0040fff2 e82ce2ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0040fff7 83c8ff OR EAX,0xffffffff
.text:0040fffa 5d POP EBP
.text:0040fffb c3 RET
LAB_0040fffc: ;XREF[1,0]: 0040ffe5
.text:0040fffc 8b4010 MOV EAX,dword ptr [EAX + 0x10]
.text:0040ffff 90 NOP
.text:00410000 5d POP EBP
.text:00410001 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_00410002(void)
;XREF[1,0]: 0040639d
.text:00410002 8b0d14304200 MOV ECX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:00410008 33c0 XOR EAX,EAX
.text:0041000a 83c901 OR ECX,0x1
.text:0041000d 390dd4424200 CMP dword ptr [.data:DAT_004242d4],ECX ;= ??
.text:00410013 0f94c0 SETZ AL
.text:00410016 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00410017(byte param_1, FILE * param_2, __acrt_ptd * * param_3)
;param_1 byte 4 ;XREF[2,0]: 00410029,00410038
;param_2 FILE * 8 ;XREF[1,0]: 0041001c
;param_3 __acrt_ptd * * c ;XREF[1,0]: 00410025
;XREF[1,0]: 0040665f
.text:00410017 8bff MOV EDI,EDI
.text:00410019 55 PUSH EBP
.text:0041001a 8bec MOV EBP,ESP
.text:0041001c 8b550c MOV EDX,dword ptr [EBP + param_2+0x4]
.text:0041001f 836a0801 SUB dword ptr [EDX + 0x8],0x1
.text:00410023 7911 JNS LAB_00410036
.text:00410025 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00410028 52 PUSH EDX
.text:00410029 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0041002c e86f610000 CALL FUN_004161a0 ;undefined FUN_004161a0(byte param_1,...
.text:00410031 83c40c ADD ESP,0xc
.text:00410034 5d POP EBP
.text:00410035 c3 RET
LAB_00410036: ;XREF[1,0]: 00410023
.text:00410036 8b02 MOV EAX,dword ptr [EDX]
.text:00410038 8a4d08 MOV CL,byte ptr [EBP + param_1+0x4]
.text:0041003b 8808 MOV byte ptr [EAX],CL
.text:0041003d ff02 INC dword ptr [EDX]
.text:0041003f 0fb6c1 MOVZX EAX,CL
.text:00410042 5d POP EBP
.text:00410043 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00410044(FILE * param_1)
;param_1 FILE * 4 ;XREF[3,0]: 00410051,0041005e,00410063
;XREF[2,0]: 0041008e,00416008
.text:00410044 8bff MOV EDI,EDI
.text:00410046 55 PUSH EBP
.text:00410047 8bec MOV EBP,ESP
.text:00410049 6a02 PUSH 0x2
.text:0041004b e83949ffff CALL FUN_00404989 ;undefined * FUN_00404989(int param_1)
.text:00410050 59 POP ECX
.text:00410051 394508 CMP dword ptr [EBP + param_1+0x4],EAX
.text:00410054 7428 JZ LAB_0041007e
.text:00410056 6a01 PUSH 0x1
.text:00410058 e82c49ffff CALL FUN_00404989 ;undefined * FUN_00404989(int param_1)
.text:0041005d 59 POP ECX
.text:0041005e 394508 CMP dword ptr [EBP + param_1+0x4],EAX
.text:00410061 7517 JNZ LAB_0041007a
.text:00410063 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00410066 e870ffffff CALL __fileno ;int __fileno(FILE * _File)
.text:0041006b 50 PUSH EAX
.text:0041006c e83a610000 CALL FUN_004161ab ;byte FUN_004161ab(uint param_1)
.text:00410071 85c0 TEST EAX,EAX
.text:00410073 59 POP ECX
.text:00410074 59 POP ECX
.text:00410075 0f95c0 SETNZ AL
.text:00410078 5d POP EBP
.text:00410079 c3 RET
LAB_0041007a: ;XREF[1,0]: 00410061
.text:0041007a 32c0 XOR AL,AL
.text:0041007c 5d POP EBP
.text:0041007d c3 RET
LAB_0041007e: ;XREF[1,0]: 00410054
.text:0041007e b001 MOV AL,0x1
.text:00410080 5d POP EBP
.text:00410081 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00410082(FILE * param_1)
;param_1 FILE * 4 ;XREF[1,0]: 00410089
;XREF[1,0]: 004056cc
.text:00410082 8bff MOV EDI,EDI
.text:00410084 55 PUSH EBP
.text:00410085 8bec MOV EBP,ESP
.text:00410087 53 PUSH EBX
.text:00410088 56 PUSH ESI
.text:00410089 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0041008c 57 PUSH EDI
.text:0041008d 56 PUSH ESI
.text:0041008e e8b1ffffff CALL FUN_00410044 ;undefined4 FUN_00410044(FILE * param_1)
.text:00410093 59 POP ECX
.text:00410094 84c0 TEST AL,AL
.text:00410096 0f848a000000 JZ LAB_00410126
.text:0041009c 6a01 PUSH 0x1
.text:0041009e e8e648ffff CALL FUN_00404989 ;undefined * FUN_00404989(int param_1)
.text:004100a3 59 POP ECX
.text:004100a4 6a02 PUSH 0x2
.text:004100a6 5b POP EBX
.text:004100a7 3bf0 CMP ESI,EAX
.text:004100a9 7507 JNZ LAB_004100b2
.text:004100ab bfd8424200 MOV EDI,.data:DAT_004242d8 ;= ??
.text:004100b0 eb10 JMP LAB_004100c2
LAB_004100b2: ;XREF[1,0]: 004100a9
.text:004100b2 53 PUSH EBX
.text:004100b3 e8d148ffff CALL FUN_00404989 ;undefined * FUN_00404989(int param_1)
.text:004100b8 59 POP ECX
.text:004100b9 3bf0 CMP ESI,EAX
.text:004100bb 7569 JNZ LAB_00410126
.text:004100bd bfdc424200 MOV EDI,.data:DAT_004242dc ;= ??
LAB_004100c2: ;XREF[1,0]: 004100b0
.text:004100c2 ff05203d4200 INC dword ptr [.data:DAT_00423d20] ;= ??
.text:004100c8 8d4e0c LEA ECX,[ESI + 0xc]
.text:004100cb 8b01 MOV EAX,dword ptr [ECX]
.text:004100cd 90 NOP
.text:004100ce a9c0040000 TEST EAX,0x4c0
.text:004100d3 7551 JNZ LAB_00410126
.text:004100d5 b882020000 MOV EAX,0x282
.text:004100da f00901 OR.LOCK dword ptr [ECX],EAX
.text:004100dd 833f00 CMP dword ptr [EDI]=>.data:DAT_004242d8,0x0 ;= ??
.text:004100e0 7515 JNZ LAB_004100f7
.text:004100e2 6800100000 PUSH 0x1000
.text:004100e7 e8e5ecffff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:004100ec 6a00 PUSH 0x0
.text:004100ee 8907 MOV dword ptr [EDI]=>.data:DAT_004242d8,EAX ;= ??
.text:004100f0 e87fe2ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004100f5 59 POP ECX
.text:004100f6 59 POP ECX
LAB_004100f7: ;XREF[1,0]: 004100e0
.text:004100f7 8b0f MOV ECX,dword ptr [EDI]=>.data:DAT_004242d8 ;= ??
.text:004100f9 85c9 TEST ECX,ECX
.text:004100fb 7512 JNZ LAB_0041010f
.text:004100fd 8d4e14 LEA ECX,[ESI + 0x14]
.text:00410100 895e08 MOV dword ptr [ESI + 0x8],EBX
.text:00410103 894e04 MOV dword ptr [ESI + 0x4],ECX
.text:00410106 890e MOV dword ptr [ESI],ECX
.text:00410108 895e18 MOV dword ptr [ESI + 0x18],EBX
LAB_0041010b: ;XREF[1,0]: 00410124
.text:0041010b b001 MOV AL,0x1
.text:0041010d eb19 JMP LAB_00410128
LAB_0041010f: ;XREF[1,0]: 004100fb
.text:0041010f 894e04 MOV dword ptr [ESI + 0x4],ECX
.text:00410112 8b07 MOV EAX,dword ptr [EDI]=>.data:DAT_004242d8 ;= ??
.text:00410114 8906 MOV dword ptr [ESI],EAX
.text:00410116 c74608001... MOV dword ptr [ESI + 0x8],0x1000
.text:0041011d c74618001... MOV dword ptr [ESI + 0x18],0x1000
.text:00410124 ebe5 JMP LAB_0041010b
LAB_00410126: ;XREF[3,0]: 00410096,004100bb,004100d3
.text:00410126 32c0 XOR AL,AL
LAB_00410128: ;XREF[1,0]: 0041010d
.text:00410128 5f POP EDI
.text:00410129 5e POP ESI
.text:0041012a 5b POP EBX
.text:0041012b 5d POP EBP
.text:0041012c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041012d(char param_1, FILE * param_2, __acrt_ptd * * param_3)
;param_1 char 4 ;XREF[1,0]: 00410132
;param_2 FILE * 8 ;XREF[1,0]: 00410139
;param_3 __acrt_ptd * * c ;XREF[1,0]: 0041014a
;XREF[1,0]: 0040572d
.text:0041012d 8bff MOV EDI,EDI
.text:0041012f 55 PUSH EBP
.text:00410130 8bec MOV EBP,ESP
.text:00410132 807d0800 CMP byte ptr [EBP + param_1+0x4],0x0
.text:00410136 7431 JZ LAB_00410169
.text:00410138 56 PUSH ESI
.text:00410139 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0041013c 57 PUSH EDI
.text:0041013d 8d7e0c LEA EDI,[ESI + 0xc]
.text:00410140 8b07 MOV EAX,dword ptr [EDI]
.text:00410142 90 NOP
.text:00410143 c1e809 SHR EAX,0x9
.text:00410146 a801 TEST AL,0x1
.text:00410148 741d JZ LAB_00410167
.text:0041014a ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0041014d 56 PUSH ESI
.text:0041014e e875e9ffff CALL FUN_0040eac8 ;undefined4 FUN_0040eac8(FILE * param...
.text:00410153 59 POP ECX
.text:00410154 59 POP ECX
.text:00410155 b87ffdffff MOV EAX,0xfffffd7f
.text:0041015a f02107 AND.LOCK dword ptr [EDI],EAX
.text:0041015d 33c0 XOR EAX,EAX
.text:0041015f 894618 MOV dword ptr [ESI + 0x18],EAX
.text:00410162 894604 MOV dword ptr [ESI + 0x4],EAX
.text:00410165 8906 MOV dword ptr [ESI],EAX
LAB_00410167: ;XREF[1,0]: 00410148
.text:00410167 5f POP EDI
.text:00410168 5e POP ESI
LAB_00410169: ;XREF[1,0]: 00410136
.text:00410169 5d POP EBP
.text:0041016a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 00410177
;param_2 00410186
;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 00410182,00410193
;local_14 undefined4 -14 ;XREF[1,0]: 0041019f
;XREF[1,0]: 00410340
.text:0041016b 6a08 PUSH 0x8
.text:0041016d 68401f4200 PUSH .rdata:DAT_00421f40 ;= FEh
.text:00410172 e8891dffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00410177 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041017a ff30 PUSH dword ptr [EAX]
.text:0041017c e8d2ddffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:00410181 59 POP this
.text:00410182 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00410186 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00410189 8b00 MOV EAX,dword ptr [EAX]
.text:0041018b 8b00 MOV EAX,dword ptr [EAX]
.text:0041018d 8b4048 MOV EAX,dword ptr [EAX + 0x48]
.text:00410190 f0ff00 INC.LOCK dword ptr [EAX]
.text:00410193 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0041019a e812000000 CALL FUN_004101b1 ;undefined FUN_004101b1(void)
.text:0041019f 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:004101a2 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:004101a9 59 POP this
.text:004101aa 5f POP EDI
.text:004101ab 5e POP ESI
.text:004101ac 5b POP EBX
.text:004101ad c9 LEAVE
.text:004101ae c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004101b1(void)
;XREF[1,0]: 0041019a
.text:004101b1 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:004101b4 ff30 PUSH dword ptr [EAX]
.text:004101b6 e8e0ddffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:004101bb 59 POP ECX
.text:004101bc c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 004101c9
;param_2 004101d8
;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 004101d4,004101fe
;local_14 undefined4 -14 ;XREF[1,0]: 0041020a
;XREF[1,0]: 00410434
.text:004101bd 6a08 PUSH 0x8
.text:004101bf 68801f4200 PUSH .rdata:DAT_00421f80 ;= FEh
.text:004101c4 e8371dffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:004101c9 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004101cc ff30 PUSH dword ptr [EAX]
.text:004101ce e880ddffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:004101d3 59 POP this
.text:004101d4 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:004101d8 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004101db 8b00 MOV EAX,dword ptr [EAX]
.text:004101dd 8b00 MOV EAX,dword ptr [EAX]
.text:004101df 8b4848 MOV this,dword ptr [EAX + 0x48]
.text:004101e2 85c9 TEST this,this
.text:004101e4 7418 JZ LAB_004101fe
.text:004101e6 83c8ff OR EAX,0xffffffff
.text:004101e9 f00fc101 XADD.LOCK dword ptr [this],EAX
.text:004101ed 750f JNZ LAB_004101fe
.text:004101ef 81f900324200 CMP this,.data:DAT_00423200
.text:004101f5 7407 JZ LAB_004101fe
.text:004101f7 51 PUSH this
.text:004101f8 e877e1ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004101fd 59 POP this
LAB_004101fe: ;XREF[3,0]: 004101e4,004101ed,004101f5
.text:004101fe c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00410205 e812000000 CALL FUN_0041021c ;undefined FUN_0041021c(void)
.text:0041020a 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:0041020d 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:00410214 59 POP this
.text:00410215 5f POP EDI
.text:00410216 5e POP ESI
.text:00410217 5b POP EBX
.text:00410218 c9 LEAVE
.text:00410219 c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041021c(void)
;XREF[1,0]: 00410205
.text:0041021c 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:0041021f ff30 PUSH dword ptr [EAX]
.text:00410221 e875ddffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:00410226 59 POP ECX
.text:00410227 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 00410234
;param_2 00410245
;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 0041023f,00410253
;local_14 undefined4 -14 ;XREF[1,0]: 0041025f
;XREF[1,0]: 00410457
.text:00410228 6a08 PUSH 0x8
.text:0041022a 68a01f4200 PUSH .rdata:DAT_00421fa0 ;= FEh
.text:0041022f e8cc1cffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00410234 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410237 ff30 PUSH dword ptr [EAX]
.text:00410239 e815ddffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:0041023e 59 POP this
.text:0041023f 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00410243 6a00 PUSH 0x0
.text:00410245 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00410248 8b00 MOV EAX,dword ptr [EAX]
.text:0041024a ff30 PUSH dword ptr [EAX]
.text:0041024c e80d020000 CALL replace_current_thread_locale_nolock ;void replace_current_thread_locale_n...
.text:00410251 59 POP this
.text:00410252 59 POP this
.text:00410253 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0041025a e812000000 CALL FUN_00410271 ;undefined FUN_00410271(void)
.text:0041025f 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:00410262 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:00410269 59 POP this
.text:0041026a 5f POP EDI
.text:0041026b 5e POP ESI
.text:0041026c 5b POP EBX
.text:0041026d c9 LEAVE
.text:0041026e c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410271(void)
;XREF[1,0]: 0041025a
.text:00410271 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:00410274 ff30 PUSH dword ptr [EAX]
.text:00410276 e820ddffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:0041027b 59 POP ECX
.text:0041027c c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 00410289
;param_2 00410298
;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 00410294,004102ad
;local_14 undefined4 -14 ;XREF[1,0]: 004102b9
;XREF[1,0]: 00410369
.text:0041027d 6a08 PUSH 0x8
.text:0041027f 68601f4200 PUSH .rdata:DAT_00421f60 ;= FEh
.text:00410284 e8771cffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00410289 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041028c ff30 PUSH dword ptr [EAX]
.text:0041028e e8c0dcffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:00410293 59 POP this
.text:00410294 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00410298 8b4d0c MOV this,dword ptr [EBP + param_2+0x4]
.text:0041029b 8b4104 MOV EAX,dword ptr [this + 0x4]
.text:0041029e 8b00 MOV EAX,dword ptr [EAX]
.text:004102a0 ff30 PUSH dword ptr [EAX]
.text:004102a2 8b01 MOV EAX,dword ptr [this]
.text:004102a4 ff30 PUSH dword ptr [EAX]
.text:004102a6 e8b3010000 CALL replace_current_thread_locale_nolock ;void replace_current_thread_locale_n...
.text:004102ab 59 POP this
.text:004102ac 59 POP this
.text:004102ad c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:004102b4 e812000000 CALL FUN_004102cb ;undefined FUN_004102cb(void)
.text:004102b9 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:004102bc 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:004102c3 59 POP this
.text:004102c4 5f POP EDI
.text:004102c5 5e POP ESI
.text:004102c6 5b POP EBX
.text:004102c7 c9 LEAVE
.text:004102c8 c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004102cb(void)
;XREF[1,0]: 004102b4
.text:004102cb 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:004102ce ff30 PUSH dword ptr [EAX]
.text:004102d0 e8c6dcffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:004102d5 59 POP ECX
.text:004102d6 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl construct_ptd(struct __acrt_ptd * const,struct __crt_locale_data * * const) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void construct_ptd(__acrt_ptd * param_1, __crt_locale_data * * param_2)
;param_1 __acrt_ptd * 4 ;XREF[9,0]: 004102df,004102ea,004102f3,004102fc,00410309
; 00410310,0041031d,00410327,00410345
;param_2 __crt_local... 8 ;XREF[1,0]: 00410350
;local_5 undefined1 -5 ;XREF[2,0]: 0041031a,0041034b
;local_c undefined4 -c ;XREF[3,0]: 0041032e,00410334,00410353
;local_10 undefined4 -10 ;XREF[2,0]: 00410348,00410361
;local_14 undefined4 -14 ;XREF[4,0]: 0041032a,00410338,0041035a,00410365
;local_18 undefined4 -18 ;XREF[4,0]: 00410331,0041033c,00410357,0041035d
;XREF[4,0]: 0041053c,004105e1,0041068d,00410730
.text:004102d7 8bff MOV EDI,EDI
.text:004102d9 55 PUSH EBP
.text:004102da 8bec MOV EBP,ESP
.text:004102dc 83ec14 SUB ESP,0x14
.text:004102df 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004102e2 33c9 XOR ECX,ECX
.text:004102e4 41 INC ECX
.text:004102e5 6a43 PUSH 0x43
.text:004102e7 894818 MOV dword ptr [EAX + 0x18],ECX
.text:004102ea 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004102ed c700d0c94100 MOV dword ptr [EAX],.rdata:DAT_0041c9d0 ;= 05h
.text:004102f3 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004102f6 898850030000 MOV dword ptr [EAX + 0x350],ECX
.text:004102fc 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004102ff 59 POP ECX
.text:00410300 6a05 PUSH 0x5
.text:00410302 c74048003... MOV dword ptr [EAX +...,.data:DAT_00423200
.text:00410309 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041030c 6689486c MOV word ptr [EAX + 0x6c],CX
.text:00410310 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410313 668988720... MOV word ptr [EAX + 0x172],CX
.text:0041031a 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:0041031d 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410320 83a04c030... AND dword ptr [EAX + 0x34c],0x0
.text:00410327 8d4508 LEA EAX=>param_1,[EBP + 0x8]
.text:0041032a 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:0041032d 58 POP EAX
.text:0041032e 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00410331 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00410334 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00410337 50 PUSH EAX
.text:00410338 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:0041033b 50 PUSH EAX
.text:0041033c 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:0041033f 50 PUSH EAX
.text:00410340 e826feffff CALL __crt_seh_guarded_call::operato... ;void operator().text:00410345 8d4508 LEA EAX=>param_1,[EBP + 0x8]
.text:00410348 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0041034b 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:0041034e 6a04 PUSH 0x4
.text:00410350 8d450c LEA EAX=>param_2,[EBP + 0xc]
.text:00410353 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00410356 58 POP EAX
.text:00410357 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0041035a 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:0041035d 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:00410360 50 PUSH EAX
.text:00410361 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00410364 50 PUSH EAX
.text:00410365 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:00410368 50 PUSH EAX
.text:00410369 e80fffffff CALL __crt_seh_guarded_call::operato... ;void operator().text:0041036e c9 LEAVE
.text:0041036f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void __stdcall destroy_fls(void *) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void destroy_fls(void * param_1)
;param_1 void * 4 ;XREF[3,0]: 00410375,0041037b,00410383
;XREF[1,0]: 0041074e
.text:00410370 8bff MOV EDI,EDI
.text:00410372 55 PUSH EBP
.text:00410373 8bec MOV EBP,ESP
.text:00410375 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:00410379 7412 JZ LAB_0041038d
.text:0041037b ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0041037e e80e000000 CALL destroy_ptd ;void destroy_ptd(__acrt_ptd * param_1)
.text:00410383 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00410386 e8e9dfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041038b 59 POP ECX
.text:0041038c 59 POP ECX
LAB_0041038d: ;XREF[1,0]: 00410379
.text:0041038d 5d POP EBP
.text:0041038e c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl destroy_ptd(struct __acrt_ptd * const) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void destroy_ptd(__acrt_ptd * param_1)
;param_1 __acrt_ptd * 4 ;XREF[12,0]: 00410396,004103ac,004103b8,004103c3,004103ce
; 004103d9,004103e4,004103ef,004103fa,00410405
; 00410416,0041043b
;local_5 undefined1 -5 ;XREF[2,0]: 0041041c,00410441
;local_c undefined4 -c ;XREF[4,0]: 00410422,00410428,00410448,00410453
;local_10 undefined4 -10 ;XREF[4,0]: 00410419,0041042c,0041043e,0041044f
;local_14 undefined4 -14 ;XREF[4,0]: 00410425,00410430,00410445,0041044b
;XREF[1,0]: 0041037e
.text:00410391 8bff MOV EDI,EDI
.text:00410393 55 PUSH EBP
.text:00410394 8bec MOV EBP,ESP
.text:00410396 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410399 83ec10 SUB ESP,0x10
.text:0041039c 8b08 MOV ECX,dword ptr [EAX]
.text:0041039e 81f9d0c94100 CMP ECX,.rdata:DAT_0041c9d0 ;= 05h
.text:004103a4 740a JZ LAB_004103b0
.text:004103a6 51 PUSH ECX
.text:004103a7 e8c8dfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004103ac 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004103af 59 POP ECX
LAB_004103b0: ;XREF[1,0]: 004103a4
.text:004103b0 ff703c PUSH dword ptr [EAX + 0x3c]
.text:004103b3 e8bcdfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004103b8 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004103bb ff7030 PUSH dword ptr [EAX + 0x30]
.text:004103be e8b1dfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004103c3 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004103c6 ff7034 PUSH dword ptr [EAX + 0x34]
.text:004103c9 e8a6dfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004103ce 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004103d1 ff7038 PUSH dword ptr [EAX + 0x38]
.text:004103d4 e89bdfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004103d9 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004103dc ff7028 PUSH dword ptr [EAX + 0x28]
.text:004103df e890dfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004103e4 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004103e7 ff702c PUSH dword ptr [EAX + 0x2c]
.text:004103ea e885dfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004103ef 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004103f2 ff7040 PUSH dword ptr [EAX + 0x40]
.text:004103f5 e87adfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004103fa 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004103fd ff7044 PUSH dword ptr [EAX + 0x44]
.text:00410400 e86fdfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410405 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410408 ffb060030000 PUSH dword ptr [EAX + 0x360]
.text:0041040e e861dfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410413 83c424 ADD ESP,0x24
.text:00410416 8d4508 LEA EAX=>param_1,[EBP + 0x8]
.text:00410419 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0041041c 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:0041041f 6a05 PUSH 0x5
.text:00410421 58 POP EAX
.text:00410422 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00410425 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00410428 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:0041042b 50 PUSH EAX
.text:0041042c 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0041042f 50 PUSH EAX
.text:00410430 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:00410433 50 PUSH EAX
.text:00410434 e884fdffff CALL __crt_seh_guarded_call::operato... ;void operator().text:00410439 6a04 PUSH 0x4
.text:0041043b 8d4508 LEA EAX=>param_1,[EBP + 0x8]
.text:0041043e 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00410441 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:00410444 58 POP EAX
.text:00410445 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00410448 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0041044b 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:0041044e 50 PUSH EAX
.text:0041044f 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00410452 50 PUSH EAX
.text:00410453 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00410456 50 PUSH EAX
.text:00410457 e8ccfdffff CALL __crt_seh_guarded_call::operato... ;void operator().text:0041045c c9 LEAVE
.text:0041045d c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl replace_current_thread_locale_nolock(struct __acrt_ptd * const,struct __crt_loc...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void replace_current_thread_locale_nolock(__acrt_ptd * param_1, __crt_locale_data * param_2)
;param_1 __acrt_ptd * 4 ;XREF[1,0]: 00410464
;param_2 __crt_local... 8 ;XREF[1,0]: 00410495
;XREF[2,0]: 0041024c,004102a6
.text:0041045e 8bff MOV EDI,EDI
.text:00410460 55 PUSH EBP
.text:00410461 8bec MOV EBP,ESP
.text:00410463 56 PUSH ESI
.text:00410464 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00410467 837e4c00 CMP dword ptr [ESI + 0x4c],0x0
.text:0041046b 7428 JZ LAB_00410495
.text:0041046d ff764c PUSH dword ptr [ESI + 0x4c]
.text:00410470 e833280000 CALL ___acrt_release_locale_ref ;undefined ___acrt_release_locale_ref...
.text:00410475 8b464c MOV EAX,dword ptr [ESI + 0x4c]
.text:00410478 59 POP ECX
.text:00410479 3b05e0424200 CMP EAX,dword ptr [.data:DAT_004242e0] ;= ??
.text:0041047f 7414 JZ LAB_00410495
.text:00410481 3d38314200 CMP EAX,.data:PTR_DAT_00423138 ;= 0041d860
.text:00410486 740d JZ LAB_00410495
.text:00410488 83780c00 CMP dword ptr [EAX + 0xc],0x0
.text:0041048c 7507 JNZ LAB_00410495
.text:0041048e 50 PUSH EAX
.text:0041048f e849260000 CALL ___acrt_free_locale ;undefined ___acrt_free_locale(LPVOID...
.text:00410494 59 POP ECX
LAB_00410495: ;XREF[4,0]: 0041046b,0041047f,00410486,0041048c
.text:00410495 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00410498 89464c MOV dword ptr [ESI + 0x4c],EAX
.text:0041049b 5e POP ESI
.text:0041049c 85c0 TEST EAX,EAX
.text:0041049e 7407 JZ LAB_004104a7
.text:004104a0 50 PUSH EAX
.text:004104a1 e8ba250000 CALL ___acrt_add_locale_ref ;undefined ___acrt_add_locale_ref(int...
.text:004104a6 59 POP ECX
LAB_004104a7: ;XREF[1,0]: 0041049e
.text:004104a7 5d POP EBP
.text:004104a8 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;__acrt_ptd * FUN_004104a9(void)
;XREF[11,0]: 00408e27,0040d53d,0040dabf,0041079a
; 004108c1,00411b8b,00412d39,004131c3
; 004131ce,00413223,00413285
.text:004104a9 8bff MOV EDI,EDI
.text:004104ab 53 PUSH EBX
.text:004104ac 57 PUSH EDI
.text:004104ad ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:004104b3 8bf8 MOV EDI,EAX
.text:004104b5 a130314200 MOV EAX,[.data:DAT_00423130] ;= FFFFFFFFh
.text:004104ba 83f8ff CMP EAX,-0x1
.text:004104bd 741a JZ LAB_004104d9
.text:004104bf 50 PUSH EAX
.text:004104c0 e8dbe1ffff CALL FUN_0040e6a0 ;undefined FUN_0040e6a0(void * param_1)
.text:004104c5 85c0 TEST EAX,EAX
.text:004104c7 740b JZ LAB_004104d4
.text:004104c9 8d5801 LEA EBX,[EAX + 0x1]
.text:004104cc f7db NEG EBX
.text:004104ce 1bdb SBB EBX,EBX
.text:004104d0 23d8 AND EBX,EAX
.text:004104d2 eb7a JMP LAB_0041054e
LAB_004104d4: ;XREF[1,0]: 004104c7
.text:004104d4 a130314200 MOV EAX,[.data:DAT_00423130] ;= FFFFFFFFh
LAB_004104d9: ;XREF[1,0]: 004104bd
.text:004104d9 6aff PUSH -0x1
.text:004104db 50 PUSH EAX
.text:004104dc e8fee1ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:004104e1 85c0 TEST EAX,EAX
.text:004104e3 7504 JNZ LAB_004104e9
.text:004104e5 33db XOR EBX,EBX
.text:004104e7 eb65 JMP LAB_0041054e
LAB_004104e9: ;XREF[1,0]: 004104e3
.text:004104e9 56 PUSH ESI
.text:004104ea 6864030000 PUSH 0x364
.text:004104ef 6a01 PUSH 0x1
.text:004104f1 e821deffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:004104f6 8bf0 MOV ESI,EAX
.text:004104f8 59 POP ECX
.text:004104f9 59 POP ECX
.text:004104fa 85f6 TEST ESI,ESI
.text:004104fc 7511 JNZ LAB_0041050f
.text:004104fe 33db XOR EBX,EBX
.text:00410500 53 PUSH EBX
.text:00410501 ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:00410507 e8d3e1ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:0041050c 53 PUSH EBX
.text:0041050d eb1f JMP LAB_0041052e
LAB_0041050f: ;XREF[1,0]: 004104fc
.text:0041050f 56 PUSH ESI
.text:00410510 ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:00410516 e8c4e1ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:0041051b 85c0 TEST EAX,EAX
.text:0041051d 7517 JNZ LAB_00410536
.text:0041051f 33db XOR EBX,EBX
.text:00410521 53 PUSH EBX
.text:00410522 ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:00410528 e8b2e1ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:0041052d 56 PUSH ESI
LAB_0041052e: ;XREF[1,0]: 0041050d
.text:0041052e e841deffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410533 59 POP ECX
.text:00410534 eb17 JMP LAB_0041054d
LAB_00410536: ;XREF[1,0]: 0041051d
.text:00410536 68e0424200 PUSH .data:DAT_004242e0 ;= ??
.text:0041053b 56 PUSH ESI
.text:0041053c e896fdffff CALL construct_ptd ;void construct_ptd(__acrt_ptd * para...
.text:00410541 6a00 PUSH 0x0
.text:00410543 e82cdeffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410548 83c40c ADD ESP,0xc
.text:0041054b 8bde MOV EBX,ESI
LAB_0041054d: ;XREF[1,0]: 00410534
.text:0041054d 5e POP ESI
LAB_0041054e: ;XREF[2,0]: 004104d2,004104e7
.text:0041054e 57 PUSH EDI ;DWORD dwErrCode for SetLastError
.text:0041054f ff153cb04100 CALL dword ptr [->KERNEL32.DLL::SetLastError];= 00022426
.text:00410555 85db TEST EBX,EBX
.text:00410557 7405 JZ LAB_0041055e
.text:00410559 5f POP EDI
.text:0041055a 8bc3 MOV EAX,EBX
.text:0041055c 5b POP EBX
.text:0041055d c3 RET
LAB_0041055e: ;XREF[1,0]: 00410557
.text:0041055e e8e6d5ffff CALL _abort ;void _abort(void)
.text:00410563 cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;__acrt_ptd * FUN_00410564(void)
;XREF[1,0]: 00411b6a
.text:00410564 a130314200 MOV EAX,[.data:DAT_00423130] ;= FFFFFFFFh
.text:00410569 56 PUSH ESI
.text:0041056a 83f8ff CMP EAX,-0x1
.text:0041056d 7418 JZ LAB_00410587
.text:0041056f 50 PUSH EAX
.text:00410570 e82be1ffff CALL FUN_0040e6a0 ;undefined FUN_0040e6a0(void * param_1)
.text:00410575 8bf0 MOV ESI,EAX
.text:00410577 85f6 TEST ESI,ESI
.text:00410579 7407 JZ LAB_00410582
.text:0041057b 83feff CMP ESI,-0x1
.text:0041057e 7474 JZ LAB_004105f4
.text:00410580 eb6e JMP LAB_004105f0
LAB_00410582: ;XREF[1,0]: 00410579
.text:00410582 a130314200 MOV EAX,[.data:DAT_00423130] ;= FFFFFFFFh
LAB_00410587: ;XREF[1,0]: 0041056d
.text:00410587 6aff PUSH -0x1
.text:00410589 50 PUSH EAX
.text:0041058a e850e1ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:0041058f 85c0 TEST EAX,EAX
.text:00410591 7461 JZ LAB_004105f4
.text:00410593 6864030000 PUSH 0x364
.text:00410598 6a01 PUSH 0x1
.text:0041059a e878ddffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:0041059f 8bf0 MOV ESI,EAX
.text:004105a1 59 POP ECX
.text:004105a2 59 POP ECX
.text:004105a3 85f6 TEST ESI,ESI
.text:004105a5 7515 JNZ LAB_004105bc
.text:004105a7 50 PUSH EAX
.text:004105a8 ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:004105ae e82ce1ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:004105b3 56 PUSH ESI
LAB_004105b4: ;XREF[1,0]: 004105d9
.text:004105b4 e8bbddffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004105b9 59 POP ECX
.text:004105ba eb38 JMP LAB_004105f4
LAB_004105bc: ;XREF[1,0]: 004105a5
.text:004105bc 56 PUSH ESI
.text:004105bd ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:004105c3 e817e1ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:004105c8 85c0 TEST EAX,EAX
.text:004105ca 750f JNZ LAB_004105db
.text:004105cc 50 PUSH EAX
.text:004105cd ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:004105d3 e807e1ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:004105d8 56 PUSH ESI
.text:004105d9 ebd9 JMP LAB_004105b4
LAB_004105db: ;XREF[1,0]: 004105ca
.text:004105db 68e0424200 PUSH .data:DAT_004242e0 ;= ??
.text:004105e0 56 PUSH ESI
.text:004105e1 e8f1fcffff CALL construct_ptd ;void construct_ptd(__acrt_ptd * para...
.text:004105e6 6a00 PUSH 0x0
.text:004105e8 e887ddffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004105ed 83c40c ADD ESP,0xc
LAB_004105f0: ;XREF[1,0]: 00410580
.text:004105f0 8bc6 MOV EAX,ESI
.text:004105f2 5e POP ESI
.text:004105f3 c3 RET
LAB_004105f4: ;XREF[3,0]: 0041057e,00410591,004105ba
.text:004105f4 e850d5ffff CALL _abort ;void _abort(void)
.text:004105f9 cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;__acrt_ptd * FUN_004105fa(void)
;XREF[5,0]: 0040cc48,0040e2f1,0040e304,00410765
; 004130fc
.text:004105fa 8bff MOV EDI,EDI
.text:004105fc 53 PUSH EBX
.text:004105fd 57 PUSH EDI
.text:004105fe ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00410604 8bf8 MOV EDI,EAX
.text:00410606 a130314200 MOV EAX,[.data:DAT_00423130] ;= FFFFFFFFh
.text:0041060b 83f8ff CMP EAX,-0x1
.text:0041060e 741a JZ LAB_0041062a
.text:00410610 50 PUSH EAX
.text:00410611 e88ae0ffff CALL FUN_0040e6a0 ;undefined FUN_0040e6a0(void * param_1)
.text:00410616 85c0 TEST EAX,EAX
.text:00410618 740b JZ LAB_00410625
.text:0041061a 8d5801 LEA EBX,[EAX + 0x1]
.text:0041061d f7db NEG EBX
.text:0041061f 1bdb SBB EBX,EBX
.text:00410621 23d8 AND EBX,EAX
.text:00410623 eb7a JMP LAB_0041069f
LAB_00410625: ;XREF[1,0]: 00410618
.text:00410625 a130314200 MOV EAX,[.data:DAT_00423130] ;= FFFFFFFFh
LAB_0041062a: ;XREF[1,0]: 0041060e
.text:0041062a 6aff PUSH -0x1
.text:0041062c 50 PUSH EAX
.text:0041062d e8ade0ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:00410632 85c0 TEST EAX,EAX
.text:00410634 7504 JNZ LAB_0041063a
.text:00410636 33db XOR EBX,EBX
.text:00410638 eb65 JMP LAB_0041069f
LAB_0041063a: ;XREF[1,0]: 00410634
.text:0041063a 56 PUSH ESI
.text:0041063b 6864030000 PUSH 0x364
.text:00410640 6a01 PUSH 0x1
.text:00410642 e8d0dcffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:00410647 8bf0 MOV ESI,EAX
.text:00410649 59 POP ECX
.text:0041064a 59 POP ECX
.text:0041064b 85f6 TEST ESI,ESI
.text:0041064d 7511 JNZ LAB_00410660
.text:0041064f 33db XOR EBX,EBX
.text:00410651 53 PUSH EBX
.text:00410652 ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:00410658 e882e0ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:0041065d 53 PUSH EBX
.text:0041065e eb1f JMP LAB_0041067f
LAB_00410660: ;XREF[1,0]: 0041064d
.text:00410660 56 PUSH ESI
.text:00410661 ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:00410667 e873e0ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:0041066c 85c0 TEST EAX,EAX
.text:0041066e 7517 JNZ LAB_00410687
.text:00410670 33db XOR EBX,EBX
.text:00410672 53 PUSH EBX
.text:00410673 ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:00410679 e861e0ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:0041067e 56 PUSH ESI
LAB_0041067f: ;XREF[1,0]: 0041065e
.text:0041067f e8f0dcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410684 59 POP ECX
.text:00410685 eb17 JMP LAB_0041069e
LAB_00410687: ;XREF[1,0]: 0041066e
.text:00410687 68e0424200 PUSH .data:DAT_004242e0 ;= ??
.text:0041068c 56 PUSH ESI
.text:0041068d e845fcffff CALL construct_ptd ;void construct_ptd(__acrt_ptd * para...
.text:00410692 6a00 PUSH 0x0
.text:00410694 e8dbdcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410699 83c40c ADD ESP,0xc
.text:0041069c 8bde MOV EBX,ESI
LAB_0041069e: ;XREF[1,0]: 00410685
.text:0041069e 5e POP ESI
LAB_0041069f: ;XREF[2,0]: 00410623,00410638
.text:0041069f 57 PUSH EDI ;DWORD dwErrCode for SetLastError
.text:004106a0 ff153cb04100 CALL dword ptr [->KERNEL32.DLL::SetLastError];= 00022426
.text:004106a6 5f POP EDI
.text:004106a7 8bc3 MOV EAX,EBX
.text:004106a9 5b POP EBX
.text:004106aa c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;__acrt_ptd * FUN_004106ab(undefined4 param_1, int param_2)
;param_1 undefined4 4
;param_2 int 8 ;XREF[1,0]: 0041073f
;XREF[2,0]: 00405870,004058c5
.text:004106ab 8bff MOV EDI,EDI
.text:004106ad 55 PUSH EBP
.text:004106ae 8bec MOV EBP,ESP
.text:004106b0 a130314200 MOV EAX,[.data:DAT_00423130] ;= FFFFFFFFh
.text:004106b5 56 PUSH ESI
.text:004106b6 57 PUSH EDI
.text:004106b7 33ff XOR EDI,EDI
.text:004106b9 83f8ff CMP EAX,-0x1
.text:004106bc 7418 JZ LAB_004106d6
.text:004106be 50 PUSH EAX
.text:004106bf e8dcdfffff CALL FUN_0040e6a0 ;undefined FUN_0040e6a0(void * param_1)
.text:004106c4 8bf0 MOV ESI,EAX
.text:004106c6 85f6 TEST ESI,ESI
.text:004106c8 7407 JZ LAB_004106d1
.text:004106ca 83feff CMP ESI,-0x1
.text:004106cd 7479 JZ LAB_00410748
.text:004106cf eb6e JMP LAB_0041073f
LAB_004106d1: ;XREF[1,0]: 004106c8
.text:004106d1 a130314200 MOV EAX,[.data:DAT_00423130] ;= FFFFFFFFh
LAB_004106d6: ;XREF[1,0]: 004106bc
.text:004106d6 6aff PUSH -0x1
.text:004106d8 50 PUSH EAX
.text:004106d9 e801e0ffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:004106de 85c0 TEST EAX,EAX
.text:004106e0 7466 JZ LAB_00410748
.text:004106e2 6864030000 PUSH 0x364
.text:004106e7 6a01 PUSH 0x1
.text:004106e9 e829dcffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:004106ee 8bf0 MOV ESI,EAX
.text:004106f0 59 POP ECX
.text:004106f1 59 POP ECX
.text:004106f2 85f6 TEST ESI,ESI
.text:004106f4 7515 JNZ LAB_0041070b
.text:004106f6 57 PUSH EDI
.text:004106f7 ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:004106fd e8dddfffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:00410702 57 PUSH EDI
LAB_00410703: ;XREF[1,0]: 00410728
.text:00410703 e86cdcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410708 59 POP ECX
.text:00410709 eb3d JMP LAB_00410748
LAB_0041070b: ;XREF[1,0]: 004106f4
.text:0041070b 56 PUSH ESI
.text:0041070c ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:00410712 e8c8dfffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:00410717 85c0 TEST EAX,EAX
.text:00410719 750f JNZ LAB_0041072a
.text:0041071b 57 PUSH EDI
.text:0041071c ff3530314200 PUSH dword ptr [.data:DAT_00423130] ;= FFFFFFFFh
.text:00410722 e8b8dfffff CALL ___acrt_FlsSetValue@8 ;undefined ___acrt_FlsSetValue@8(void...
.text:00410727 56 PUSH ESI
.text:00410728 ebd9 JMP LAB_00410703
LAB_0041072a: ;XREF[1,0]: 00410719
.text:0041072a 68e0424200 PUSH .data:DAT_004242e0 ;= ??
.text:0041072f 56 PUSH ESI
.text:00410730 e8a2fbffff CALL construct_ptd ;void construct_ptd(__acrt_ptd * para...
.text:00410735 6a00 PUSH 0x0
.text:00410737 e838dcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041073c 83c40c ADD ESP,0xc
LAB_0041073f: ;XREF[1,0]: 004106cf
.text:0041073f 697d0c640... IMUL EDI,dword ptr [EBP + param_2+0x4],0x364
.text:00410746 03fe ADD EDI,ESI
LAB_00410748: ;XREF[3,0]: 004106cd,004106e0,00410709
.text:00410748 8bc7 MOV EAX,EDI
.text:0041074a 5f POP EDI
.text:0041074b 5e POP ESI
.text:0041074c 5d POP EBP
.text:0041074d c3 RET
LAB_0041074e: ;XREF[1,0]: 0041caa8
.text:0041074e 6870034100 PUSH destroy_fls
.text:00410753 e8cadeffff CALL ___acrt_FlsAlloc@4 ;undefined ___acrt_FlsAlloc@4(void * ...
.text:00410758 a330314200 MOV [.data:DAT_00423130],EAX ;= FFFFFFFFh
.text:0041075d 83f8ff CMP EAX,-0x1
.text:00410760 7503 JNZ LAB_00410765
LAB_00410762: ;XREF[1,0]: 00410775
.text:00410762 32c0 XOR AL,AL
.text:00410764 c3 RET
LAB_00410765: ;XREF[1,0]: 00410760
.text:00410765 e890feffff CALL FUN_004105fa ;__acrt_ptd * FUN_004105fa(void)
.text:0041076a 85c0 TEST EAX,EAX
.text:0041076c 7509 JNZ LAB_00410777
.text:0041076e 50 PUSH EAX
.text:0041076f e806000000 CALL ___acrt_uninitialize_ptd ;undefined4 ___acrt_uninitialize_ptd(...
.text:00410774 59 POP ECX
.text:00410775 ebeb JMP LAB_00410762
LAB_00410777: ;XREF[1,0]: 0041076c
.text:00410777 b001 MOV AL,0x1
.text:00410779 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_uninitialize_ptd *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___acrt_uninitialize_ptd(void)
;XREF[2,0]: 0041076f,0041caac
.text:0041077a a130314200 MOV EAX,[.data:DAT_00423130] ;= FFFFFFFFh
.text:0041077f 83f8ff CMP EAX,-0x1
.text:00410782 740d JZ LAB_00410791
.text:00410784 50 PUSH EAX
.text:00410785 e8d7deffff CALL ___acrt_FlsFree@4 ;undefined ___acrt_FlsFree@4(void * p...
.text:0041078a 830d30314... OR dword ptr [.data...,0xffffffff ;= FFFFFFFFh
LAB_00410791: ;XREF[1,0]: 00410782
.text:00410791 b001 MOV AL,0x1
.text:00410793 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___pctype_func *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;ushort * ___pctype_func(void)
;local_8 undefined4 -8 ;XREF[3,0]: 004107a2,004107a5,004107af
;XREF[6,0]: 0040be6f,0040bec6,0040c3b3,0040c779
; 0040c7ef,0040c9df
.text:00410794 8bff MOV EDI,EDI
.text:00410796 55 PUSH EBP
.text:00410797 8bec MOV EBP,ESP
.text:00410799 51 PUSH ECX
.text:0041079a e80afdffff CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:0041079f 8b484c MOV ECX,dword ptr [EAX + 0x4c]
.text:004107a2 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
.text:004107a5 8d4dfc LEA ECX=>local_8,[EBP + -0x4]
.text:004107a8 51 PUSH ECX
.text:004107a9 50 PUSH EAX
.text:004107aa e842e9ffff CALL ___acrt_update_locale_info ;undefined ___acrt_update_locale_info...
.text:004107af 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:004107b2 59 POP ECX
.text:004107b3 59 POP ECX
.text:004107b4 8b00 MOV EAX,dword ptr [EAX]
.text:004107b6 c9 LEAVE
.text:004107b7 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __isctype_l *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int __isctype_l(int _C, int _Type, _locale_t _Locale)
;_C int 4 ;XREF[1,0]: 004107d5
;_Type int 8 ;XREF[1,0]: 00410864
;_Locale _locale_t c ;XREF[1,0]: 004107ca
;local_8 undefined4 -8 ;XREF[2,0]: 004107c7,00410877
;local_c undefined2 -c ;XREF[1,0]: 00410828
;local_10 undefined4 -10 ;XREF[3,0]: 00410825,0041082c,00410860
;local_12 undefined1 -12 ;XREF[1,0]: 00410812
;local_13 undefined1 -13 ;XREF[2,0]: 0041080f,0041081f
;local_14 undefined1 -14 ;XREF[3,0]: 0041080a,0041081a,00410834
;local_18 undefined1 -18 ;XREF[2,0]: 0041084d,00410867
;local_20 undefined4 -20 ;XREF[3,0]: 004107e5,004107f2,00410838
;local_24 undefined4 -24 ;XREF[3,0]: 004107cd,00410852,0041086d
;XREF[2,0]: 0040ca15,004108fe
.text:004107b8 8bff MOV EDI,EDI
.text:004107ba 55 PUSH EBP
.text:004107bb 8bec MOV EBP,ESP
.text:004107bd 83ec20 SUB ESP,0x20
.text:004107c0 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:004107c5 33c5 XOR EAX,EBP
.text:004107c7 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004107ca ff7510 PUSH dword ptr [EBP + _Locale+0x4]
.text:004107cd 8d4de0 LEA ECX=>local_24,[EBP + -0x20]
.text:004107d0 e81886ffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:004107d5 8b5508 MOV EDX,dword ptr [EBP + _C+0x4]
.text:004107d8 83faff CMP EDX,-0x1
.text:004107db 7c13 JL LAB_004107f0
.text:004107dd 81faff000000 CMP EDX,0xff
.text:004107e3 7f0b JG LAB_004107f0
.text:004107e5 8b45e4 MOV EAX,dword ptr [EBP + local_20+0x4]
.text:004107e8 8b00 MOV EAX,dword ptr [EAX]
.text:004107ea 0fb70450 MOVZX EAX,word ptr [EAX + EDX*0x2]
.text:004107ee eb74 JMP LAB_00410864
LAB_004107f0: ;XREF[2,0]: 004107db,004107e3
.text:004107f0 53 PUSH EBX
.text:004107f1 56 PUSH ESI
.text:004107f2 8b75e4 MOV ESI,dword ptr [EBP + local_20+0x4]
.text:004107f5 8bda MOV EBX,EDX
.text:004107f7 c1fb08 SAR EBX,0x8
.text:004107fa 0fb6cb MOVZX ECX,BL
.text:004107fd 57 PUSH EDI
.text:004107fe 8b06 MOV EAX,dword ptr [ESI]
.text:00410800 33ff XOR EDI,EDI
.text:00410802 66393c48 CMP word ptr [EAX + ECX*0x2],DI
.text:00410806 7d10 JGE LAB_00410818
.text:00410808 33c9 XOR ECX,ECX
.text:0041080a 885df0 MOV byte ptr [EBP + local_14+0x4],BL
.text:0041080d 6a02 PUSH 0x2
.text:0041080f 8855f1 MOV byte ptr [EBP + local_13+0x4],DL
.text:00410812 884df2 MOV byte ptr [EBP + local_12+0x4],CL
.text:00410815 58 POP EAX
.text:00410816 eb0b JMP LAB_00410823
LAB_00410818: ;XREF[1,0]: 00410806
.text:00410818 33c9 XOR ECX,ECX
.text:0041081a 8855f0 MOV byte ptr [EBP + local_14+0x4],DL
.text:0041081d 33c0 XOR EAX,EAX
.text:0041081f 884df1 MOV byte ptr [EBP + local_13+0x4],CL
.text:00410822 40 INC EAX
LAB_00410823: ;XREF[1,0]: 00410816
.text:00410823 6a01 PUSH 0x1
.text:00410825 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:00410828 66894df8 MOV word ptr [EBP + local_c+0x4],CX
.text:0041082c 8d4df4 LEA ECX=>local_10,[EBP + -0xc]
.text:0041082f ff7608 PUSH dword ptr [ESI + 0x8]
.text:00410832 51 PUSH ECX
.text:00410833 50 PUSH EAX
.text:00410834 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:00410837 50 PUSH EAX
.text:00410838 8d45e4 LEA EAX=>local_20,[EBP + -0x1c]
.text:0041083b 6a01 PUSH 0x1
.text:0041083d 50 PUSH EAX
.text:0041083e e8fc200000 CALL FUN_0041293f ;undefined FUN_0041293f(LPVOID * para...
.text:00410843 83c41c ADD ESP,0x1c
.text:00410846 5f POP EDI
.text:00410847 5e POP ESI
.text:00410848 5b POP EBX
.text:00410849 85c0 TEST EAX,EAX
.text:0041084b 7513 JNZ LAB_00410860
.text:0041084d 3845ec CMP byte ptr [EBP + local_18+0x4],AL
.text:00410850 740a JZ LAB_0041085c
.text:00410852 8b45e0 MOV EAX,dword ptr [EBP + local_24+0x4]
.text:00410855 83a050030... AND dword ptr [EAX + 0x350],0xfffffffd
LAB_0041085c: ;XREF[1,0]: 00410850
.text:0041085c 33c0 XOR EAX,EAX
.text:0041085e eb17 JMP LAB_00410877
LAB_00410860: ;XREF[1,0]: 0041084b
.text:00410860 0fb745f4 MOVZX EAX,word ptr [EBP + local_10+0x4]
LAB_00410864: ;XREF[1,0]: 004107ee
.text:00410864 23450c AND EAX,dword ptr [EBP + _Type+0x4]
.text:00410867 807dec00 CMP byte ptr [EBP + local_18+0x4],0x0
.text:0041086b 740a JZ LAB_00410877
.text:0041086d 8b4de0 MOV ECX,dword ptr [EBP + local_24+0x4]
.text:00410870 83a150030... AND dword ptr [ECX + 0x350],0xfffffffd
LAB_00410877: ;XREF[2,0]: 0041085e,0041086b
.text:00410877 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:0041087a 33cd XOR ECX,EBP
.text:0041087c e8a418ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00410881 c9 LEAVE
.text:00410882 c3 RET
.text:00410883 ccccccccc... align align(13)
;************************************************************************************************
;* Library Function - Single Match *
;* _isspace *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int _isspace(int _C)
;_C int 4 ;XREF[1,0]: 0041089e
;local_8 undefined4 -8 ;XREF[3,0]: 004108c9,004108cc,004108d6
;XREF[2,0]: 00408f82,00408fa5
.text:00410890 8bff MOV EDI,EDI
.text:00410892 55 PUSH EBP
.text:00410893 8bec MOV EBP,ESP
.text:00410895 51 PUSH ECX
.text:00410896 833d603e4... CMP dword ptr [.data:DAT_00423e60],0x0 ;= ??
.text:0041089d 56 PUSH ESI
.text:0041089e 8b7508 MOV ESI,dword ptr [EBP + _C+0x4]
.text:004108a1 57 PUSH EDI
.text:004108a2 8d7e01 LEA EDI,[ESI + 0x1]
.text:004108a5 751a JNZ LAB_004108c1
.text:004108a7 81ff00010000 CMP EDI,0x100
.text:004108ad 775d JA LAB_0041090c
.text:004108af a138314200 MOV EAX,[.data:PTR_DAT_00423138] ;= 0041d860
.text:004108b4 5f POP EDI
.text:004108b5 0fb70470 MOVZX EAX=>.rdata:DAT_...,word ptr [EAX + E...;= 20h
.text:004108b9 83e008 AND EAX,0x8
.text:004108bc 5e POP ESI
.text:004108bd 8be5 MOV ESP,EBP
.text:004108bf 5d POP EBP
.text:004108c0 c3 RET
LAB_004108c1: ;XREF[1,0]: 004108a5
.text:004108c1 e8e3fbffff CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:004108c6 8b484c MOV ECX,dword ptr [EAX + 0x4c]
.text:004108c9 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
.text:004108cc 8d4dfc LEA ECX=>local_8,[EBP + -0x4]
.text:004108cf 51 PUSH ECX
.text:004108d0 50 PUSH EAX
.text:004108d1 e81be8ffff CALL ___acrt_update_locale_info ;undefined ___acrt_update_locale_info...
.text:004108d6 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:004108d9 83c408 ADD ESP,0x8
.text:004108dc 81ff00010000 CMP EDI,0x100
.text:004108e2 770f JA LAB_004108f3
.text:004108e4 8b00 MOV EAX,dword ptr [EAX]
.text:004108e6 5f POP EDI
.text:004108e7 0fb70470 MOVZX EAX,word ptr [EAX + ESI*0x2]
.text:004108eb 83e008 AND EAX,0x8
.text:004108ee 5e POP ESI
.text:004108ef 8be5 MOV ESP,EBP
.text:004108f1 5d POP EBP
.text:004108f2 c3 RET
LAB_004108f3: ;XREF[1,0]: 004108e2
.text:004108f3 83780401 CMP dword ptr [EAX + 0x4],0x1
.text:004108f7 7e13 JLE LAB_0041090c
.text:004108f9 6a00 PUSH 0x0
.text:004108fb 6a08 PUSH 0x8
.text:004108fd 56 PUSH ESI
.text:004108fe e8b5feffff CALL __isctype_l ;int __isctype_l(int _C, int _Type, _...
.text:00410903 83c40c ADD ESP,0xc
.text:00410906 5f POP EDI
.text:00410907 5e POP ESI
.text:00410908 8be5 MOV ESP,EBP
.text:0041090a 5d POP EBP
.text:0041090b c3 RET
LAB_0041090c: ;XREF[2,0]: 004108ad,004108f7
.text:0041090c 5f POP EDI
.text:0041090d 33c0 XOR EAX,EAX
.text:0041090f 5e POP ESI
.text:00410910 8be5 MOV ESP,EBP
.text:00410912 5d POP EBP
.text:00410913 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;ulonglong FUN_00410914(undefined4 param_1, undefined4 * param_2, uint param_3)
;param_1 undefined4 4 ;XREF[1,0]: 00410934
;param_2 undefined4 * 8 ;XREF[1,0]: 00410931
;param_3 uint c ;XREF[1,0]: 0041092a
;local_30 undefined1 -30 ;XREF[3,0]: 0041091c,00410940,0041094c
;XREF[1,0]: 0040c244
.text:00410914 8bff MOV EDI,EDI
.text:00410916 55 PUSH EBP
.text:00410917 8bec MOV EBP,ESP
.text:00410919 83ec2c SUB ESP,0x2c
.text:0041091c 8d4dd4 LEA ECX=>local_30,[EBP + -0x2c]
.text:0041091f 56 PUSH ESI
.text:00410920 57 PUSH EDI
.text:00410921 6a00 PUSH 0x0
.text:00410923 e8a84cffff CALL FUN_004055d0 ;void * FUN_004055d0(void * this, und...
.text:00410928 6a00 PUSH 0x0
.text:0041092a ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0041092d 51 PUSH ECX
.text:0041092e 51 PUSH ECX
.text:0041092f 8bc4 MOV EAX,ESP
.text:00410931 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00410934 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00410937 50 PUSH EAX
.text:00410938 e82942ffff CALL make_c_string_character_source<> ;undefined make_c_string_character_so...
.text:0041093d 83c40c ADD ESP,0xc
.text:00410940 8d45d4 LEA EAX=>local_30,[EBP + -0x2c]
.text:00410943 50 PUSH EAX
.text:00410944 e84fd2ffff CALL FUN_0040db98 ;ulonglong FUN_0040db98(__acrt_ptd * ...
.text:00410949 83c414 ADD ESP,0x14
.text:0041094c 8d4dd4 LEA ECX=>local_30,[EBP + -0x2c]
.text:0041094f 8bf0 MOV ESI,EAX
.text:00410951 8bfa MOV EDI,EDX
.text:00410953 e8d84cffff CALL FUN_00405630 ;undefined FUN_00405630(__acrt_ptd * ...
.text:00410958 8bd7 MOV EDX,EDI
.text:0041095a 8bc6 MOV EAX,ESI
.text:0041095c 5f POP EDI
.text:0041095d 5e POP ESI
.text:0041095e c9 LEAVE
.text:0041095f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00410960(uint param_1, FILE * param_2)
;param_1 uint 4 ;XREF[1,0]: 004109eb
;param_2 FILE * 8 ;XREF[1,0]: 00410967
;XREF[1,0]: 0040c6b9
.text:00410960 8bff MOV EDI,EDI
.text:00410962 55 PUSH EBP
.text:00410963 8bec MOV EBP,ESP
.text:00410965 53 PUSH EBX
.text:00410966 56 PUSH ESI
.text:00410967 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:0041096a 57 PUSH EDI
.text:0041096b 8d560c LEA EDX,[ESI + 0xc]
.text:0041096e 8b02 MOV EAX,dword ptr [EDX]
.text:00410970 90 NOP
.text:00410971 c1e80c SHR EAX,0xc
.text:00410974 a801 TEST AL,0x1
.text:00410976 7573 JNZ LAB_004109eb
.text:00410978 56 PUSH ESI
.text:00410979 e85df6ffff CALL __fileno ;int __fileno(FILE * _File)
.text:0041097e bff8304200 MOV EDI,.data:DAT_004230f8
.text:00410983 59 POP ECX
.text:00410984 83f8ff CMP EAX,-0x1
.text:00410987 741b JZ LAB_004109a4
.text:00410989 83f8fe CMP EAX,-0x2
.text:0041098c 7416 JZ LAB_004109a4
.text:0041098e 8bd0 MOV EDX,EAX
.text:00410990 8bc8 MOV ECX,EAX
.text:00410992 83e23f AND EDX,0x3f
.text:00410995 c1f906 SAR ECX,0x6
.text:00410998 6bda38 IMUL EBX,EDX,0x38
.text:0041099b 031c8dc84... ADD EBX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:004109a2 eb0c JMP LAB_004109b0
LAB_004109a4: ;XREF[2,0]: 00410987,0041098c
.text:004109a4 8bc8 MOV ECX,EAX
.text:004109a6 8bd0 MOV EDX,EAX
.text:004109a8 c1f906 SAR ECX,0x6
.text:004109ab 8bdf MOV EBX,EDI
.text:004109ad 83e23f AND EDX,0x3f
LAB_004109b0: ;XREF[1,0]: 004109a2
.text:004109b0 807b2900 CMP byte ptr [EBX + ...,0x0
.text:004109b4 751a JNZ LAB_004109d0
.text:004109b6 83f8ff CMP EAX,-0x1
.text:004109b9 740f JZ LAB_004109ca
.text:004109bb 83f8fe CMP EAX,-0x2
.text:004109be 740a JZ LAB_004109ca
.text:004109c0 6bfa38 IMUL EDI,EDX,0x38
.text:004109c3 033c8dc84... ADD EDI,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
LAB_004109ca: ;XREF[2,0]: 004109b9,004109be
.text:004109ca f6472d01 TEST byte ptr [EDI + ...,0x1
.text:004109ce 7418 JZ LAB_004109e8
LAB_004109d0: ;XREF[1,0]: 004109b4
.text:004109d0 e82fd9ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004109d5 c70016000000 MOV dword ptr [EAX],0x16
.text:004109db e843d8ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_004109e0: ;XREF[4,0]: 004109f1,00410a03,00410a20,00410a3c
.text:004109e0 83c8ff OR EAX,0xffffffff
LAB_004109e3: ;XREF[1,0]: 00410a52
.text:004109e3 5f POP EDI
.text:004109e4 5e POP ESI
.text:004109e5 5b POP EBX
.text:004109e6 5d POP EBP
.text:004109e7 c3 RET
LAB_004109e8: ;XREF[1,0]: 004109ce
.text:004109e8 8d560c LEA EDX,[ESI + 0xc]
LAB_004109eb: ;XREF[1,0]: 00410976
.text:004109eb 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:004109ee 83fbff CMP EBX,-0x1
.text:004109f1 74ed JZ LAB_004109e0
.text:004109f3 8b02 MOV EAX,dword ptr [EDX]
.text:004109f5 90 NOP
.text:004109f6 8b0a MOV ECX,dword ptr [EDX]
.text:004109f8 90 NOP
.text:004109f9 a801 TEST AL,0x1
.text:004109fb 7508 JNZ LAB_00410a05
.text:004109fd 83e106 AND ECX,0x6
.text:00410a00 80f906 CMP CL,0x6
.text:00410a03 75db JNZ LAB_004109e0
LAB_00410a05: ;XREF[1,0]: 004109fb
.text:00410a05 837e0400 CMP dword ptr [ESI + 0x4],0x0
.text:00410a09 750a JNZ LAB_00410a15
.text:00410a0b 56 PUSH ESI
.text:00410a0c e8f0570000 CALL ___acrt_stdio_allocate_buffer_nolock ;undefined ___acrt_stdio_allocate_buf...
.text:00410a11 59 POP ECX
.text:00410a12 8d560c LEA EDX,[ESI + 0xc]
LAB_00410a15: ;XREF[1,0]: 00410a09
.text:00410a15 8b06 MOV EAX,dword ptr [ESI]
.text:00410a17 3b4604 CMP EAX,dword ptr [ESI + 0x4]
.text:00410a1a 7509 JNZ LAB_00410a25
.text:00410a1c 837e0800 CMP dword ptr [ESI + 0x8],0x0
.text:00410a20 75be JNZ LAB_004109e0
.text:00410a22 40 INC EAX
.text:00410a23 8906 MOV dword ptr [ESI],EAX
LAB_00410a25: ;XREF[1,0]: 00410a1a
.text:00410a25 8b02 MOV EAX,dword ptr [EDX]
.text:00410a27 90 NOP
.text:00410a28 8b3e MOV EDI,dword ptr [ESI]
.text:00410a2a c1e80c SHR EAX,0xc
.text:00410a2d 8d4fff LEA ECX,[EDI + -0x1]
.text:00410a30 890e MOV dword ptr [ESI],ECX
.text:00410a32 a801 TEST AL,0x1
.text:00410a34 7408 JZ LAB_00410a3e
.text:00410a36 3819 CMP byte ptr [ECX],BL
.text:00410a38 7406 JZ LAB_00410a40
.text:00410a3a 893e MOV dword ptr [ESI],EDI
.text:00410a3c eba2 JMP LAB_004109e0
LAB_00410a3e: ;XREF[1,0]: 00410a34
.text:00410a3e 8819 MOV byte ptr [ECX],BL
LAB_00410a40: ;XREF[1,0]: 00410a38
.text:00410a40 ff4608 INC dword ptr [ESI + 0x8]
.text:00410a43 6af7 PUSH -0x9
.text:00410a45 58 POP EAX
.text:00410a46 f02102 AND.LOCK dword ptr [EDX],EAX
.text:00410a49 33c0 XOR EAX,EAX
.text:00410a4b 40 INC EAX
.text:00410a4c f00902 OR.LOCK dword ptr [EDX],EAX
.text:00410a4f 0fb6c3 MOVZX EAX,BL
.text:00410a52 eb8f JMP LAB_004109e3
;************************************************************************************************
;* Library Function - Single Match *
;* _fegetround *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined _fegetround(void)
;XREF[5,0]: 00409224,00409353,0040fb2b,004145d2
; 00419de4
.text:00410a54 e8ef5a0000 CALL ___acrt_fenv_get_control ;uint ___acrt_fenv_get_control(void)
.text:00410a59 50 PUSH EAX
.text:00410a5a e8c75a0000 CALL ___acrt_fenv_get_common_round_control ;uint ___acrt_fenv_get_common_round_c...
.text:00410a5f 59 POP ECX
.text:00410a60 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00410a61(FILE * param_1)
;param_1 FILE * 4 ;XREF[20,0]: 00410a66,00410a99,00410aab,00410ab6,00410acf
; 00410add,00410ae6,00410aef,00410b06,00410b0f
; 00410b2f,00410b3d,00410b4b,00410b53,00410b81
; 00410b8d,00410ba4,00410bb2,00410bbc,00410be2
;XREF[1,0]: 00410bf6
.text:00410a61 8bff MOV EDI,EDI
.text:00410a63 55 PUSH EBP
.text:00410a64 8bec MOV EBP,ESP
.text:00410a66 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410a69 56 PUSH ESI
.text:00410a6a 85c0 TEST EAX,EAX
.text:00410a6c 7518 JNZ LAB_00410a86
.text:00410a6e e891d8ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00410a73 c70016000000 MOV dword ptr [EAX],0x16
.text:00410a79 e8a5d7ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00410a7e 83c8ff OR EAX,0xffffffff
.text:00410a81 e967010000 JMP LAB_00410bed
LAB_00410a86: ;XREF[1,0]: 00410a6c
.text:00410a86 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00410a89 53 PUSH EBX
.text:00410a8a 90 NOP
.text:00410a8b 33db XOR EBX,EBX
.text:00410a8d c1e80d SHR EAX,0xd
.text:00410a90 43 INC EBX
.text:00410a91 84c3 TEST BL,AL
.text:00410a93 0f8450010000 JZ LAB_00410be9
.text:00410a99 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410a9c 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00410a9f 90 NOP
.text:00410aa0 c1e80c SHR EAX,0xc
.text:00410aa3 84c3 TEST BL,AL
.text:00410aa5 0f853e010000 JNZ LAB_00410be9
.text:00410aab 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410aae 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00410ab1 90 NOP
.text:00410ab2 d1e8 SHR EAX,0x1
.text:00410ab4 84c3 TEST BL,AL
.text:00410ab6 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410ab9 740e JZ LAB_00410ac9
.text:00410abb 6a10 PUSH 0x10
.text:00410abd 59 POP ECX
.text:00410abe 83c00c ADD EAX,0xc
.text:00410ac1 f00908 OR.LOCK dword ptr [EAX],ECX
.text:00410ac4 e920010000 JMP LAB_00410be9
LAB_00410ac9: ;XREF[1,0]: 00410ab9
.text:00410ac9 83c00c ADD EAX,0xc
.text:00410acc f00918 OR.LOCK dword ptr [EAX],EBX
.text:00410acf 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410ad2 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00410ad5 90 NOP
.text:00410ad6 a9c0040000 TEST EAX,0x4c0
.text:00410adb 7509 JNZ LAB_00410ae6
.text:00410add ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00410ae0 e81c570000 CALL ___acrt_stdio_allocate_buffer_nolock ;undefined ___acrt_stdio_allocate_buf...
.text:00410ae5 59 POP ECX
LAB_00410ae6: ;XREF[1,0]: 00410adb
.text:00410ae6 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410ae9 57 PUSH EDI
.text:00410aea 8b4804 MOV ECX,dword ptr [EAX + 0x4]
.text:00410aed 8908 MOV dword ptr [EAX],ECX
.text:00410aef 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410af2 50 PUSH EAX
.text:00410af3 8b7018 MOV ESI,dword ptr [EAX + 0x18]
.text:00410af6 8b7804 MOV EDI,dword ptr [EAX + 0x4]
.text:00410af9 e8ddf4ffff CALL __fileno ;int __fileno(FILE * _File)
.text:00410afe 56 PUSH ESI
.text:00410aff 57 PUSH EDI
.text:00410b00 50 PUSH EAX
.text:00410b01 e8bf610000 CALL FUN_00416cc5 ;uint FUN_00416cc5(uint param_1, LPWS...
.text:00410b06 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00410b09 83c410 ADD ESP,0x10
.text:00410b0c 894108 MOV dword ptr [ECX + 0x8],EAX
.text:00410b0f 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410b12 5f POP EDI
.text:00410b13 8b5008 MOV EDX,dword ptr [EAX + 0x8]
.text:00410b16 85d2 TEST EDX,EDX
.text:00410b18 0f84b0000000 JZ LAB_00410bce
.text:00410b1e 83faff CMP EDX,-0x1
.text:00410b21 0f84a7000000 JZ LAB_00410bce
.text:00410b27 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00410b2a 90 NOP
.text:00410b2b a806 TEST AL,0x6
.text:00410b2d 755e JNZ LAB_00410b8d
.text:00410b2f ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00410b32 e8a4f4ffff CALL __fileno ;int __fileno(FILE * _File)
.text:00410b37 59 POP ECX
.text:00410b38 83f8ff CMP EAX,-0x1
.text:00410b3b 7436 JZ LAB_00410b73
.text:00410b3d ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00410b40 e896f4ffff CALL __fileno ;int __fileno(FILE * _File)
.text:00410b45 59 POP ECX
.text:00410b46 83f8fe CMP EAX,-0x2
.text:00410b49 7428 JZ LAB_00410b73
.text:00410b4b ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00410b4e e888f4ffff CALL __fileno ;int __fileno(FILE * _File)
.text:00410b53 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00410b56 8bf0 MOV ESI,EAX
.text:00410b58 c1fe06 SAR ESI,0x6
.text:00410b5b e87bf4ffff CALL __fileno ;int __fileno(FILE * _File)
.text:00410b60 59 POP ECX
.text:00410b61 83e03f AND EAX,0x3f
.text:00410b64 59 POP ECX
.text:00410b65 6bc838 IMUL ECX,EAX,0x38
.text:00410b68 8b04b5c84... MOV EAX,dword ptr [ESI*0x4 + .data:DAT_00...;= ??
.text:00410b6f 03c1 ADD EAX,ECX
.text:00410b71 eb05 JMP LAB_00410b78
LAB_00410b73: ;XREF[2,0]: 00410b3b,00410b49
.text:00410b73 b8f8304200 MOV EAX,.data:DAT_004230f8
LAB_00410b78: ;XREF[1,0]: 00410b71
.text:00410b78 8a4028 MOV AL,byte ptr [EAX + 0x28]=>.data:DAT_0...;= 80h
.text:00410b7b 2482 AND AL,0x82
.text:00410b7d 3c82 CMP AL,0x82
.text:00410b7f 750c JNZ LAB_00410b8d
.text:00410b81 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410b84 6a20 PUSH 0x20
.text:00410b86 59 POP ECX
.text:00410b87 83c00c ADD EAX,0xc
.text:00410b8a f00908 OR.LOCK dword ptr [EAX],ECX
LAB_00410b8d: ;XREF[2,0]: 00410b2d,00410b7f
.text:00410b8d 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410b90 817818000... CMP dword ptr [EAX + 0x18],0x200
.text:00410b97 7526 JNZ LAB_00410bbf
.text:00410b99 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00410b9c 90 NOP
.text:00410b9d c1e806 SHR EAX,0x6
.text:00410ba0 84c3 TEST BL,AL
.text:00410ba2 7418 JZ LAB_00410bbc
.text:00410ba4 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410ba7 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00410baa 90 NOP
.text:00410bab c1e808 SHR EAX,0x8
.text:00410bae 84c3 TEST BL,AL
.text:00410bb0 750a JNZ LAB_00410bbc
.text:00410bb2 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00410bb5 c74018001... MOV dword ptr [EAX + 0x18],0x1000
LAB_00410bbc: ;XREF[2,0]: 00410ba2,00410bb0
.text:00410bbc 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
LAB_00410bbf: ;XREF[1,0]: 00410b97
.text:00410bbf 8b08 MOV ECX,dword ptr [EAX]
.text:00410bc1 ff4808 DEC dword ptr [EAX + 0x8]
.text:00410bc4 8a11 MOV DL,byte ptr [ECX]
.text:00410bc6 41 INC ECX
.text:00410bc7 8908 MOV dword ptr [EAX],ECX
.text:00410bc9 0fb6c2 MOVZX EAX,DL
.text:00410bcc eb1e JMP LAB_00410bec
LAB_00410bce: ;XREF[2,0]: 00410b18,00410b21
.text:00410bce 33c9 XOR ECX,ECX
.text:00410bd0 85d2 TEST EDX,EDX
.text:00410bd2 0f95c1 SETNZ CL
.text:00410bd5 83c00c ADD EAX,0xc
.text:00410bd8 8d0ccd080... LEA ECX,[ECX*0x8 + 0x8]
.text:00410bdf f00908 OR.LOCK dword ptr [EAX],ECX
.text:00410be2 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00410be5 83610800 AND dword ptr [ECX + 0x8],0x0
LAB_00410be9: ;XREF[3,0]: 00410a93,00410aa5,00410ac4
.text:00410be9 83c8ff OR EAX,0xffffffff
LAB_00410bec: ;XREF[1,0]: 00410bcc
.text:00410bec 5b POP EBX
LAB_00410bed: ;XREF[1,0]: 00410a81
.text:00410bed 5e POP ESI
.text:00410bee 5d POP EBP
.text:00410bef c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410bf0(FILE * param_1)
;param_1 FILE * 4
;XREF[1,0]: 0040cae8
.text:00410bf0 8bff MOV EDI,EDI
.text:00410bf2 55 PUSH EBP
.text:00410bf3 8bec MOV EBP,ESP
.text:00410bf5 5d POP EBP
.text:00410bf6 e966feffff JMP FUN_00410a61 ;uint FUN_00410a61(FILE * param_1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00410bfb(uint param_1, uint param_2)
;param_1 uint 4 ;XREF[1,0]: 00410c03
;param_2 uint 8 ;XREF[1,0]: 00410c00
;XREF[1,0]: 004111e2
.text:00410bfb 8bff MOV EDI,EDI
.text:00410bfd 55 PUSH EBP
.text:00410bfe 8bec MOV EBP,ESP
.text:00410c00 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00410c03 3b4508 CMP EAX,dword ptr [EBP + param_1+0x4]
.text:00410c06 7605 JBE LAB_00410c0d
.text:00410c08 83c8ff OR EAX,0xffffffff
.text:00410c0b 5d POP EBP
.text:00410c0c c3 RET
LAB_00410c0d: ;XREF[1,0]: 00410c06
.text:00410c0d 1bc0 SBB EAX,EAX
.text:00410c0f f7d8 NEG EAX
.text:00410c11 5d POP EBP
.text:00410c12 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl __acrt_convert_wcs_mbs_cp,struct___crt_win32_buffer_internal_dynamic_resizing>(char * param_1, __crt_win32_buffer * param_2, * param_3, uint param_4)
;param_1 char * 4 ;XREF[1,0]: 00410c19
;param_2 __crt_win32... 8 ;XREF[3,0]: 00410c21,00410c42,00410c8d
;param_3 ;param_4 uint 10 ;XREF[2,0]: 00410c68,00410cac
;XREF[1,0]: 00410d9e
.text:00410c13 8bff MOV EDI,EDI
.text:00410c15 55 PUSH EBP
.text:00410c16 8bec MOV EBP,ESP
.text:00410c18 56 PUSH ESI
.text:00410c19 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00410c1c 57 PUSH EDI
.text:00410c1d 85f6 TEST ESI,ESI
.text:00410c1f 751a JNZ LAB_00410c3b
.text:00410c21 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00410c24 8bce MOV ECX,ESI
.text:00410c26 e8b8060000 CALL __crt_win32_buffer;void _deallocate(__crt_win32_buffer<...
.text:00410c2b 33ff XOR EDI,EDI
.text:00410c2d 897e08 MOV dword ptr [ESI + 0x8],EDI
.text:00410c30 897e0c MOV dword ptr [ESI + 0xc],EDI
LAB_00410c33: ;XREF[1,0]: 00410c5f
.text:00410c33 897e10 MOV dword ptr [ESI + 0x10],EDI
.text:00410c36 e984000000 JMP LAB_00410cbf
LAB_00410c3b: ;XREF[1,0]: 00410c1f
.text:00410c3b 33ff XOR EDI,EDI
.text:00410c3d 803e00 CMP byte ptr [ESI],0x0
.text:00410c40 751f JNZ LAB_00410c61
.text:00410c42 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00410c45 397e0c CMP dword ptr [ESI + 0xc],EDI
.text:00410c48 750d JNZ LAB_00410c57
.text:00410c4a 6a01 PUSH 0x1
.text:00410c4c 8bce MOV ECX,ESI
.text:00410c4e e8e6060000 CALL __crt_win32_buffer;int allocate(__crt_win32_buffer .text:00410c53 85c0 TEST EAX,EAX
.text:00410c55 756a JNZ LAB_00410cc1
LAB_00410c57: ;XREF[1,0]: 00410c48
.text:00410c57 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00410c5a 33c9 XOR ECX,ECX
.text:00410c5c 668908 MOV word ptr [EAX],CX
.text:00410c5f ebd2 JMP LAB_00410c33
LAB_00410c61: ;XREF[1,0]: 00410c40
.text:00410c61 57 PUSH EDI
.text:00410c62 57 PUSH EDI
.text:00410c63 6aff PUSH -0x1
.text:00410c65 56 PUSH ESI
.text:00410c66 6a09 PUSH 0x9
.text:00410c68 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00410c6b e833120000 CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:00410c70 83c418 ADD ESP,0x18
.text:00410c73 85c0 TEST EAX,EAX
.text:00410c75 7516 JNZ LAB_00410c8d
LAB_00410c77: ;XREF[1,0]: 00410cb9
.text:00410c77 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00410c7d 50 PUSH EAX
.text:00410c7e e827d6ffff CALL ___acrt_errno_map_os_error ;undefined ___acrt_errno_map_os_error...
.text:00410c83 59 POP ECX
.text:00410c84 e87bd6ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00410c89 8b00 MOV EAX,dword ptr [EAX]
.text:00410c8b eb34 JMP LAB_00410cc1
LAB_00410c8d: ;XREF[1,0]: 00410c75
.text:00410c8d 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00410c90 3b470c CMP EAX,dword ptr [EDI + 0xc]
.text:00410c93 760c JBE LAB_00410ca1
.text:00410c95 50 PUSH EAX
.text:00410c96 8bcf MOV ECX,EDI
.text:00410c98 e89c060000 CALL __crt_win32_buffer;int allocate(__crt_win32_buffer .text:00410c9d 85c0 TEST EAX,EAX
.text:00410c9f 7520 JNZ LAB_00410cc1
LAB_00410ca1: ;XREF[1,0]: 00410c93
.text:00410ca1 ff770c PUSH dword ptr [EDI + 0xc]
.text:00410ca4 ff7708 PUSH dword ptr [EDI + 0x8]
.text:00410ca7 6aff PUSH -0x1
.text:00410ca9 56 PUSH ESI
.text:00410caa 6a09 PUSH 0x9
.text:00410cac ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00410caf e8ef110000 CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:00410cb4 83c418 ADD ESP,0x18
.text:00410cb7 85c0 TEST EAX,EAX
.text:00410cb9 74bc JZ LAB_00410c77
.text:00410cbb 48 DEC EAX
.text:00410cbc 894710 MOV dword ptr [EDI + 0x10],EAX
LAB_00410cbf: ;XREF[1,0]: 00410c36
.text:00410cbf 33c0 XOR EAX,EAX
LAB_00410cc1: ;XREF[3,0]: 00410c55,00410c8b,00410c9f
.text:00410cc1 5f POP EDI
.text:00410cc2 5e POP ESI
.text:00410cc3 5d POP EBP
.text:00410cc4 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00410cc5(LPCWSTR param_1, __crt_win32_buffer * param_2, undefined4 param_3, uint param_4)
;param_1 LPCWSTR 4 ;XREF[1,0]: 00410ccc
;param_2 __crt_win32... 8 ;XREF[3,0]: 00410cd3,00410cf6,00410d40
;param_3 undefined4 c ;XREF[1,0]: 00410d57
;param_4 uint 10 ;XREF[2,0]: 00410d1a,00410d5e
;XREF[1,0]: 00411154
.text:00410cc5 8bff MOV EDI,EDI
.text:00410cc7 55 PUSH EBP
.text:00410cc8 8bec MOV EBP,ESP
.text:00410cca 53 PUSH EBX
.text:00410ccb 56 PUSH ESI
.text:00410ccc 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00410ccf 85f6 TEST ESI,ESI
.text:00410cd1 751c JNZ LAB_00410cef
.text:00410cd3 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00410cd6 8bce MOV ECX,ESI
.text:00410cd8 e806060000 CALL __crt_win32_buffer;void _deallocate(__crt_win32_buffer<...
.text:00410cdd 33db XOR EBX,EBX
.text:00410cdf 895e08 MOV dword ptr [ESI + 0x8],EBX
.text:00410ce2 895e0c MOV dword ptr [ESI + 0xc],EBX
LAB_00410ce5: ;XREF[1,0]: 00410d10
.text:00410ce5 895e10 MOV dword ptr [ESI + 0x10],EBX
.text:00410ce8 33c0 XOR EAX,EAX
.text:00410cea e998000000 JMP LAB_00410d87
LAB_00410cef: ;XREF[1,0]: 00410cd1
.text:00410cef 33db XOR EBX,EBX
.text:00410cf1 66391e CMP word ptr [ESI],BX
.text:00410cf4 751c JNZ LAB_00410d12
.text:00410cf6 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00410cf9 395e0c CMP dword ptr [ESI + 0xc],EBX
.text:00410cfc 750d JNZ LAB_00410d0b
.text:00410cfe 6a01 PUSH 0x1
.text:00410d00 8bce MOV ECX,ESI
.text:00410d02 e8f6050000 CALL allocate ;int allocate(void * this, uint param_1)
.text:00410d07 85c0 TEST EAX,EAX
.text:00410d09 757c JNZ LAB_00410d87
LAB_00410d0b: ;XREF[1,0]: 00410cfc
.text:00410d0b 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00410d0e 8818 MOV byte ptr [EAX],BL
.text:00410d10 ebd3 JMP LAB_00410ce5
LAB_00410d12: ;XREF[1,0]: 00410cf4
.text:00410d12 53 PUSH EBX
.text:00410d13 53 PUSH EBX
.text:00410d14 53 PUSH EBX
.text:00410d15 53 PUSH EBX
.text:00410d16 6aff PUSH -0x1
.text:00410d18 56 PUSH ESI
.text:00410d19 53 PUSH EBX
.text:00410d1a ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00410d1d e83b120000 CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:00410d22 83c420 ADD ESP,0x20
.text:00410d25 85c0 TEST EAX,EAX
.text:00410d27 7516 JNZ LAB_00410d3f
.text:00410d29 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00410d2f 50 PUSH EAX
.text:00410d30 e875d5ffff CALL ___acrt_errno_map_os_error ;undefined ___acrt_errno_map_os_error...
.text:00410d35 59 POP ECX
.text:00410d36 e8c9d5ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00410d3b 8b00 MOV EAX,dword ptr [EAX]
.text:00410d3d eb48 JMP LAB_00410d87
LAB_00410d3f: ;XREF[1,0]: 00410d27
.text:00410d3f 57 PUSH EDI
.text:00410d40 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00410d43 3b470c CMP EAX,dword ptr [EDI + 0xc]
.text:00410d46 760c JBE LAB_00410d54
.text:00410d48 50 PUSH EAX
.text:00410d49 8bcf MOV ECX,EDI
.text:00410d4b e8ad050000 CALL allocate ;int allocate(void * this, uint param_1)
.text:00410d50 85c0 TEST EAX,EAX
.text:00410d52 7532 JNZ LAB_00410d86
LAB_00410d54: ;XREF[1,0]: 00410d46
.text:00410d54 ff770c PUSH dword ptr [EDI + 0xc]
.text:00410d57 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00410d5a ff7708 PUSH dword ptr [EDI + 0x8]
.text:00410d5d 56 PUSH ESI
.text:00410d5e ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00410d61 e81a050000 CALL FUN_00411280 ;undefined FUN_00411280(uint param_1,...
.text:00410d66 85c0 TEST EAX,EAX
.text:00410d68 7516 JNZ LAB_00410d80
.text:00410d6a ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00410d70 50 PUSH EAX
.text:00410d71 e834d5ffff CALL ___acrt_errno_map_os_error ;undefined ___acrt_errno_map_os_error...
.text:00410d76 59 POP ECX
.text:00410d77 e888d5ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00410d7c 8b00 MOV EAX,dword ptr [EAX]
.text:00410d7e eb06 JMP LAB_00410d86
LAB_00410d80: ;XREF[1,0]: 00410d68
.text:00410d80 48 DEC EAX
.text:00410d81 894710 MOV dword ptr [EDI + 0x10],EAX
.text:00410d84 33c0 XOR EAX,EAX
LAB_00410d86: ;XREF[2,0]: 00410d52,00410d7e
.text:00410d86 5f POP EDI
LAB_00410d87: ;XREF[3,0]: 00410cea,00410d09,00410d3d
.text:00410d87 5e POP ESI
.text:00410d88 5b POP EBX
.text:00410d89 5d POP EBP
.text:00410d8a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl __acrt_mbs_to_wcs_cp(char c...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int __acrt_mbs_to_wcs_cp(char * param_1, __crt_win32_buffer * param_2, uint param_3)
;param_1 char * 4 ;XREF[1,0]: 00410d9b
;param_2 __crt_win32... 8 ;XREF[1,0]: 00410d98
;param_3 uint c ;XREF[1,0]: 00410d91
;local_5 undefined1 -5 ;XREF[1,0]: 00410d94
;XREF[3,0]: 004110a6,00417b7b,00417b94
.text:00410d8b 8bff MOV EDI,EDI
.text:00410d8d 55 PUSH EBP
.text:00410d8e 8bec MOV EBP,ESP
.text:00410d90 51 PUSH ECX
.text:00410d91 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00410d94 8d45ff LEA EAX=>local_5,[EBP + -0x1]
.text:00410d97 50 PUSH EAX
.text:00410d98 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00410d9b ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00410d9e e870feffff CALL __acrt_convert_wcs_mbs_cp;int __acrt_convert_wcs_mbs_cp .text:00410da3 83c410 ADD ESP,0x10
.text:00410da6 c9 LEAVE
.text:00410da7 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00410da8(uchar * * param_1, LPVOID * param_2)
;param_1 uchar * * 4 ;XREF[1,0]: 00410dd7
;param_2 LPVOID * 8 ;XREF[2,0]: 00410dad,00410efb
;local_8 undefined4 -8 ;XREF[5,1]: 00410de9,00410dec,00410ea6,00410ee8,00410ef4
; 00410df4
;local_c undefined4 -c ;XREF[3,0]: 00410e60,00410e6c,00410ed4
;local_10 undefined4 -10 ;XREF[6,0]: 00410e56,00410e63,00410eb9,00410ec3,00410ecc
; 00410ef1
;local_14 undefined4 -14 ;XREF[2,0]: 00410ea1,00410ecf
;local_18 undefined4 -18 ;XREF[2,0]: 00410eb1,00410ee5
;local_1c undefined4 -1c ;XREF[1,0]: 00410dd3
;local_20 undefined4 -20 ;XREF[3,0]: 00410ddd,00410e3c,00410e9e
;local_24 undefined4 -24 ;XREF[6,0]: 00410de0,00410e03,00410e1d,00410e39,00410e8f
; 00410f09
;XREF[1,0]: 00411424
.text:00410da8 8bff MOV EDI,EDI
.text:00410daa 55 PUSH EBP
.text:00410dab 8bec MOV EBP,ESP
.text:00410dad 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00410db0 83ec20 SUB ESP,0x20
.text:00410db3 56 PUSH ESI
.text:00410db4 85c0 TEST EAX,EAX
.text:00410db6 7516 JNZ LAB_00410dce
.text:00410db8 e847d5ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00410dbd 6a16 PUSH 0x16
.text:00410dbf 5e POP ESI
.text:00410dc0 8930 MOV dword ptr [EAX],ESI
.text:00410dc2 e85cd4ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00410dc7 8bc6 MOV EAX,ESI
.text:00410dc9 e947010000 JMP LAB_00410f15
LAB_00410dce: ;XREF[1,0]: 00410db6
.text:00410dce 832000 AND dword ptr [EAX],0x0
.text:00410dd1 33c9 XOR ECX,ECX
.text:00410dd3 214de8 AND dword ptr [EBP + local_1c+0x4],ECX
.text:00410dd6 53 PUSH EBX
.text:00410dd7 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:00410dda 57 PUSH EDI
.text:00410ddb 33ff XOR EDI,EDI
.text:00410ddd 894de4 MOV dword ptr [EBP + local_20+0x4],ECX
.text:00410de0 897de0 MOV dword ptr [EBP + local_24+0x4],EDI
.text:00410de3 8b03 MOV EAX,dword ptr [EBX]
.text:00410de5 85c0 TEST EAX,EAX
.text:00410de7 7456 JZ LAB_00410e3f
LAB_00410de9: ;XREF[1,0]: 00410e37
.text:00410de9 8d4dfc LEA ECX=>local_8,[EBP + -0x4]
.text:00410dec 66c745fc2a3f MOV word ptr [EBP + local_8+0x4],0x3f2a
.text:00410df2 51 PUSH ECX
.text:00410df3 50 PUSH EAX
.text:00410df4 c645fe00 MOV byte ptr [EBP + local_8+0x6],0x0
.text:00410df8 e823690000 CALL _strpbrk ;char * _strpbrk(char * _Str, char * ...
.text:00410dfd 59 POP ECX
.text:00410dfe 59 POP ECX
.text:00410dff 85c0 TEST EAX,EAX
.text:00410e01 751a JNZ LAB_00410e1d
.text:00410e03 8d45e0 LEA EAX=>local_24,[EBP + -0x20]
.text:00410e06 50 PUSH EAX
.text:00410e07 33c0 XOR EAX,EAX
.text:00410e09 50 PUSH EAX
.text:00410e0a 50 PUSH EAX
.text:00410e0b ff33 PUSH dword ptr [EBX]
.text:00410e0d e813010000 CALL copy_and_add_argument_to_buffer ;int copy_and_add_argument_to_buffer<...
.text:00410e12 8bf0 MOV ESI,EAX
.text:00410e14 83c410 ADD ESP,0x10
.text:00410e17 85f6 TEST ESI,ESI
.text:00410e19 7574 JNZ LAB_00410e8f
.text:00410e1b eb13 JMP LAB_00410e30
LAB_00410e1d: ;XREF[1,0]: 00410e01
.text:00410e1d 8d4de0 LEA ECX=>local_24,[EBP + -0x20]
.text:00410e20 51 PUSH ECX
.text:00410e21 50 PUSH EAX
.text:00410e22 ff33 PUSH dword ptr [EBX]
.text:00410e24 e8ad010000 CALL FUN_00410fd6 ;undefined FUN_00410fd6(uchar * param...
.text:00410e29 83c40c ADD ESP,0xc
.text:00410e2c 85c0 TEST EAX,EAX
.text:00410e2e 751d JNZ LAB_00410e4d
LAB_00410e30: ;XREF[1,0]: 00410e1b
.text:00410e30 83c304 ADD EBX,0x4
.text:00410e33 8b03 MOV EAX,dword ptr [EBX]
.text:00410e35 85c0 TEST EAX,EAX
.text:00410e37 75b0 JNZ LAB_00410de9
.text:00410e39 8b7de0 MOV EDI,dword ptr [EBP + local_24+0x4]
.text:00410e3c 8b4de4 MOV ECX,dword ptr [EBP + local_20+0x4]
LAB_00410e3f: ;XREF[1,0]: 00410de7
.text:00410e3f 8bd9 MOV EBX,ECX
.text:00410e41 8bf7 MOV ESI,EDI
.text:00410e43 2bdf SUB EBX,EDI
.text:00410e45 c1fb02 SAR EBX,0x2
.text:00410e48 43 INC EBX
.text:00410e49 33c0 XOR EAX,EAX
.text:00410e4b eb1f JMP LAB_00410e6c
LAB_00410e4d: ;XREF[1,0]: 00410e2e
.text:00410e4d 8bf0 MOV ESI,EAX
.text:00410e4f eb3e JMP LAB_00410e8f
LAB_00410e51: ;XREF[1,0]: 00410e71
.text:00410e51 8b16 MOV EDX,dword ptr [ESI]
.text:00410e53 8d4201 LEA EAX,[EDX + 0x1]
.text:00410e56 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
LAB_00410e59: ;XREF[1,0]: 00410e5e
.text:00410e59 8a02 MOV AL,byte ptr [EDX]
.text:00410e5b 42 INC EDX
.text:00410e5c 84c0 TEST AL,AL
.text:00410e5e 75f9 JNZ LAB_00410e59
.text:00410e60 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00410e63 2b55f4 SUB EDX,dword ptr [EBP + local_10+0x4]
.text:00410e66 40 INC EAX
.text:00410e67 03c2 ADD EAX,EDX
.text:00410e69 83c604 ADD ESI,0x4
LAB_00410e6c: ;XREF[1,0]: 00410e4b
.text:00410e6c 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00410e6f 3bf1 CMP ESI,ECX
.text:00410e71 75de JNZ LAB_00410e51
.text:00410e73 6a01 PUSH 0x1
.text:00410e75 50 PUSH EAX
.text:00410e76 53 PUSH EBX
.text:00410e77 e847c2ffff CALL ___acrt_allocate_buffer_for_argv ;LPVOID ___acrt_allocate_buffer_for_a...
.text:00410e7c 8bf0 MOV ESI,EAX
.text:00410e7e 83c40c ADD ESP,0xc
.text:00410e81 85f6 TEST ESI,ESI
.text:00410e83 7516 JNZ LAB_00410e9b
.text:00410e85 50 PUSH EAX
.text:00410e86 e8e9d4ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410e8b 59 POP ECX
.text:00410e8c 83ceff OR ESI,0xffffffff
LAB_00410e8f: ;XREF[2,0]: 00410e19,00410e4f
.text:00410e8f 8d4de0 LEA ECX=>local_24,[EBP + -0x20]
.text:00410e92 e8c4030000 CALL ~argument_list<> ;undefined ~argument_list<>(LPVOID * ...
.text:00410e97 8bc6 MOV EAX,ESI
.text:00410e99 eb78 JMP LAB_00410f13
LAB_00410e9b: ;XREF[1,0]: 00410e83
.text:00410e9b 8d049e LEA EAX,[ESI + EBX*0x4]
.text:00410e9e 8b5de4 MOV EBX,dword ptr [EBP + local_20+0x4]
.text:00410ea1 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00410ea4 8bd0 MOV EDX,EAX
.text:00410ea6 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:00410ea9 3bfb CMP EDI,EBX
.text:00410eab 744e JZ LAB_00410efb
.text:00410ead 8bc6 MOV EAX,ESI
.text:00410eaf 2bc7 SUB EAX,EDI
.text:00410eb1 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
LAB_00410eb4: ;XREF[1,0]: 00410ef9
.text:00410eb4 8b0f MOV ECX,dword ptr [EDI]
.text:00410eb6 8d4101 LEA EAX,[ECX + 0x1]
.text:00410eb9 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
LAB_00410ebc: ;XREF[1,0]: 00410ec1
.text:00410ebc 8a01 MOV AL,byte ptr [ECX]
.text:00410ebe 41 INC ECX
.text:00410ebf 84c0 TEST AL,AL
.text:00410ec1 75f9 JNZ LAB_00410ebc
.text:00410ec3 2b4df4 SUB ECX,dword ptr [EBP + local_10+0x4]
.text:00410ec6 8d4101 LEA EAX,[ECX + 0x1]
.text:00410ec9 50 PUSH EAX
.text:00410eca ff37 PUSH dword ptr [EDI]
.text:00410ecc 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00410ecf 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00410ed2 2bc2 SUB EAX,EDX
.text:00410ed4 0345f8 ADD EAX,dword ptr [EBP + local_c+0x4]
.text:00410ed7 50 PUSH EAX
.text:00410ed8 52 PUSH EDX
.text:00410ed9 e837680000 CALL FUN_00417715 ;undefined FUN_00417715(char * param_...
.text:00410ede 83c410 ADD ESP,0x10
.text:00410ee1 85c0 TEST EAX,EAX
.text:00410ee3 7533 JNZ LAB_00410f18
.text:00410ee5 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
.text:00410ee8 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
.text:00410eeb 891438 MOV dword ptr [EAX + EDI*0x1],EDX
.text:00410eee 83c704 ADD EDI,0x4
.text:00410ef1 0355f4 ADD EDX,dword ptr [EBP + local_10+0x4]
.text:00410ef4 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:00410ef7 3bfb CMP EDI,EBX
.text:00410ef9 75b9 JNZ LAB_00410eb4
LAB_00410efb: ;XREF[1,0]: 00410eab
.text:00410efb 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00410efe 8930 MOV dword ptr [EAX],ESI
.text:00410f00 33c0 XOR EAX,EAX
.text:00410f02 50 PUSH EAX
.text:00410f03 e86cd4ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410f08 59 POP ECX
.text:00410f09 8d4de0 LEA ECX=>local_24,[EBP + -0x20]
.text:00410f0c e84a030000 CALL ~argument_list<> ;undefined ~argument_list<>(LPVOID * ...
.text:00410f11 33c0 XOR EAX,EAX
LAB_00410f13: ;XREF[1,0]: 00410e99
.text:00410f13 5f POP EDI
.text:00410f14 5b POP EBX
LAB_00410f15: ;XREF[1,0]: 00410dc9
.text:00410f15 5e POP ESI
.text:00410f16 c9 LEAVE
.text:00410f17 c3 RET
LAB_00410f18: ;XREF[1,0]: 00410ee3
.text:00410f18 33c0 XOR EAX,EAX
.text:00410f1a 50 PUSH EAX
.text:00410f1b 50 PUSH EAX
.text:00410f1c 50 PUSH EAX
.text:00410f1d 50 PUSH EAX
.text:00410f1e 50 PUSH EAX
.text:00410f1f e80fd3ffff CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:00410f24 cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl copy_and_add_argument_to_buffer(char const * const,char const * const,unsi...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int copy_and_add_argument_to_buffer(char * param_1, char * param_2, uint param_3, argument_list * param_4)
;param_1 char * 4 ;XREF[2,0]: 00410f2b,00410f81
;param_2 char * 8 ;XREF[1,0]: 00410f68
;param_3 uint c ;XREF[1,0]: 00410f39
;param_4 argument_li... 10 ;XREF[1,0]: 00410f92
;local_8 undefined4 -8 ;XREF[4,0]: 00410f43,00410f79,00410f9e,00410fab
;XREF[4,0]: 00410e0d,0041103c,004110dc,0041118c
.text:00410f25 8bff MOV EDI,EDI
.text:00410f27 55 PUSH EBP
.text:00410f28 8bec MOV EBP,ESP
.text:00410f2a 51 PUSH ECX
.text:00410f2b 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00410f2e 8d5101 LEA EDX,[ECX + 0x1]
LAB_00410f31: ;XREF[1,0]: 00410f36
.text:00410f31 8a01 MOV AL,byte ptr [ECX]
.text:00410f33 41 INC ECX
.text:00410f34 84c0 TEST AL,AL
.text:00410f36 75f9 JNZ LAB_00410f31
.text:00410f38 57 PUSH EDI
.text:00410f39 8b7d10 MOV EDI,dword ptr [EBP + param_3+0x4]
.text:00410f3c 2bca SUB ECX,EDX
.text:00410f3e 8bc7 MOV EAX,EDI
.text:00410f40 41 INC ECX
.text:00410f41 f7d0 NOT EAX
.text:00410f43 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
.text:00410f46 3bc8 CMP ECX,EAX
.text:00410f48 7606 JBE LAB_00410f50
.text:00410f4a 6a0c PUSH 0xc
.text:00410f4c 58 POP EAX
LAB_00410f4d: ;XREF[1,0]: 00410fc7
.text:00410f4d 5f POP EDI
.text:00410f4e c9 LEAVE
.text:00410f4f c3 RET
LAB_00410f50: ;XREF[1,0]: 00410f48
.text:00410f50 53 PUSH EBX
.text:00410f51 56 PUSH ESI
.text:00410f52 8d5f01 LEA EBX,[EDI + 0x1]
.text:00410f55 03d9 ADD EBX,ECX
.text:00410f57 6a01 PUSH 0x1
.text:00410f59 53 PUSH EBX
.text:00410f5a e8b8d3ffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:00410f5f 8bf0 MOV ESI,EAX
.text:00410f61 59 POP ECX
.text:00410f62 59 POP ECX
.text:00410f63 85ff TEST EDI,EDI
.text:00410f65 7412 JZ LAB_00410f79
.text:00410f67 57 PUSH EDI
.text:00410f68 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00410f6b 53 PUSH EBX
.text:00410f6c 56 PUSH ESI
.text:00410f6d e8a3670000 CALL FUN_00417715 ;undefined FUN_00417715(char * param_...
.text:00410f72 83c410 ADD ESP,0x10
.text:00410f75 85c0 TEST EAX,EAX
.text:00410f77 7550 JNZ LAB_00410fc9
LAB_00410f79: ;XREF[1,0]: 00410f65
.text:00410f79 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:00410f7c 2bdf SUB EBX,EDI
.text:00410f7e 8d043e LEA EAX,[ESI + EDI*0x1]
.text:00410f81 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00410f84 53 PUSH EBX
.text:00410f85 50 PUSH EAX
.text:00410f86 e88a670000 CALL FUN_00417715 ;undefined FUN_00417715(char * param_...
.text:00410f8b 83c410 ADD ESP,0x10
.text:00410f8e 85c0 TEST EAX,EAX
.text:00410f90 7537 JNZ LAB_00410fc9
.text:00410f92 8b5d14 MOV EBX,dword ptr [EBP + param_4+0x4]
.text:00410f95 8bcb MOV ECX,EBX
.text:00410f97 e8fb030000 CALL `anonymous_namespace'::argument_list<...;int expand_if_necessary(argument_lis...
.text:00410f9c 33ff XOR EDI,EDI
.text:00410f9e 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00410fa1 85c0 TEST EAX,EAX
.text:00410fa3 740c JZ LAB_00410fb1
.text:00410fa5 56 PUSH ESI
.text:00410fa6 e8c9d3ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410fab 8b75fc MOV ESI,dword ptr [EBP + local_8+0x4]
.text:00410fae 59 POP ECX
.text:00410faf eb0b JMP LAB_00410fbc
LAB_00410fb1: ;XREF[1,0]: 00410fa3
.text:00410fb1 8b4304 MOV EAX,dword ptr [EBX + 0x4]
.text:00410fb4 8930 MOV dword ptr [EAX],ESI
.text:00410fb6 8bf7 MOV ESI,EDI
.text:00410fb8 83430404 ADD dword ptr [EBX + 0x4],0x4
LAB_00410fbc: ;XREF[1,0]: 00410faf
.text:00410fbc 57 PUSH EDI
.text:00410fbd e8b2d3ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00410fc2 59 POP ECX
.text:00410fc3 8bc6 MOV EAX,ESI
.text:00410fc5 5e POP ESI
.text:00410fc6 5b POP EBX
.text:00410fc7 eb84 JMP LAB_00410f4d
LAB_00410fc9: ;XREF[2,0]: 00410f77,00410f90
.text:00410fc9 33ff XOR EDI,EDI
.text:00410fcb 57 PUSH EDI
.text:00410fcc 57 PUSH EDI
.text:00410fcd 57 PUSH EDI
.text:00410fce 57 PUSH EDI
.text:00410fcf 57 PUSH EDI
.text:00410fd0 e85ed2ffff CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:00410fd5 cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00410fd6(uchar * param_1, uchar * param_2, int * param_3)
;param_1 uchar * 4 ;XREF[1,0]: 00410ff3
;param_2 uchar * 8 ;XREF[1,0]: 00410feb
;param_3 int * c ;XREF[1,0]: 00410fee
;local_8 undefined4 -8 ;XREF[2,0]: 00410fe8,0041124d
;local_22c undefined1 -22c ;XREF[1,0]: 0041114d
;local_258 undefined1 -258 ;XREF[2,0]: 004110ae,004111b2
;local_259 undefined1 -259 ;XREF[3,0]: 00411025,00411049,0041113f
;local_260 undefined4 -260 ;XREF[6,0]: 00410ff6,0041101d,004110d3,00411101,0041117e
; 004111c8
;local_264 undefined1 -264 ;XREF[3,0]: 00411133,0041119e,00411217
;local_268 undefined4 -268 ;XREF[1,0]: 0041112d
;local_26c undefined4 -26c ;XREF[1,0]: 00411127
;local_270 undefined4 -270 ;XREF[4,0]: 00411121,00411162,004111a6,0041121f
;local_274 undefined4 -274 ;XREF[1,0]: 0041111b
;local_278 undefined4 -278 ;XREF[2,0]: 00411115,00411146
;local_27c undefined1 -27c ;XREF[4,0]: 00411092,004110e6,004111ff,00411232
;local_280 undefined4 -280 ;XREF[1,0]: 0041108c
;local_284 undefined4 -284 ;XREF[1,0]: 00411080
;local_288 undefined4 -288 ;XREF[5,0]: 00411078,004110be,004110ee,00411207,0041123a
;local_28c undefined4 -28c ;XREF[1,0]: 0041106f
;local_290 undefined4 -290 ;XREF[2,0]: 00411067,0041109e
;local_294 undefined4 -294 ;XREF[2,0]: 00411086,00411184
;local_298 undefined4 -298 ;XREF[2,0]: 0041110f,004111ce
;local_29c undefined4 -29c ;XREF[2,0]: 00411194,00411246
;XREF[1,0]: 00410e24
.text:00410fd6 8bff MOV EDI,EDI
.text:00410fd8 55 PUSH EBP
.text:00410fd9 8bec MOV EBP,ESP
.text:00410fdb 81ec98020000 SUB ESP,0x298
.text:00410fe1 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00410fe6 33c5 XOR EAX,EBP
.text:00410fe8 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00410feb 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00410fee 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00410ff1 53 PUSH EBX
.text:00410ff2 57 PUSH EDI
.text:00410ff3 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00410ff6 8995a4fdffff MOV dword ptr [EBP + local_260+0x4],EDX
.text:00410ffc 3bcf CMP ECX,EDI
.text:00410ffe 7423 JZ LAB_00411023
LAB_00411000: ;XREF[1,0]: 0041101b
.text:00411000 8a01 MOV AL,byte ptr [ECX]
.text:00411002 3c2f CMP AL,0x2f
.text:00411004 7417 JZ LAB_0041101d
.text:00411006 3c5c CMP AL,0x5c
.text:00411008 7413 JZ LAB_0041101d
.text:0041100a 3c3a CMP AL,0x3a
.text:0041100c 740f JZ LAB_0041101d
.text:0041100e 51 PUSH ECX
.text:0041100f 57 PUSH EDI
.text:00411010 e84b670000 CALL __mbsdec ;uchar * __mbsdec(uchar * _Start, uch...
.text:00411015 59 POP ECX
.text:00411016 59 POP ECX
.text:00411017 8bc8 MOV ECX,EAX
.text:00411019 3bcf CMP ECX,EDI
.text:0041101b 75e3 JNZ LAB_00411000
LAB_0041101d: ;XREF[3,0]: 00411004,00411008,0041100c
.text:0041101d 8b95a4fdffff MOV EDX,dword ptr [EBP + local_260+0x4]
LAB_00411023: ;XREF[1,0]: 00410ffe
.text:00411023 8a01 MOV AL,byte ptr [ECX]
.text:00411025 8885abfdffff MOV byte ptr [EBP + local_259+0x4],AL
.text:0041102b 3c3a CMP AL,0x3a
.text:0041102d 7520 JNZ LAB_0041104f
.text:0041102f 8d4701 LEA EAX,[EDI + 0x1]
.text:00411032 3bc8 CMP ECX,EAX
.text:00411034 7413 JZ LAB_00411049
.text:00411036 52 PUSH EDX
.text:00411037 33db XOR EBX,EBX
.text:00411039 53 PUSH EBX
.text:0041103a 53 PUSH EBX
.text:0041103b 57 PUSH EDI
.text:0041103c e8e4feffff CALL copy_and_add_argument_to_buffer ;int copy_and_add_argument_to_buffer<...
.text:00411041 83c410 ADD ESP,0x10
.text:00411044 e904020000 JMP LAB_0041124d
LAB_00411049: ;XREF[1,0]: 00411034
.text:00411049 8a85abfdffff MOV AL,byte ptr [EBP + local_259+0x4]
LAB_0041104f: ;XREF[1,0]: 0041102d
.text:0041104f 33db XOR EBX,EBX
.text:00411051 3c2f CMP AL,0x2f
.text:00411053 740a JZ LAB_0041105f
.text:00411055 3c5c CMP AL,0x5c
.text:00411057 7406 JZ LAB_0041105f
.text:00411059 3c3a CMP AL,0x3a
.text:0041105b 8ac3 MOV AL,BL
.text:0041105d 7502 JNZ LAB_00411061
LAB_0041105f: ;XREF[2,0]: 00411053,00411057
.text:0041105f b001 MOV AL,0x1
LAB_00411061: ;XREF[1,0]: 0041105d
.text:00411061 2bcf SUB ECX,EDI
.text:00411063 0fb6c0 MOVZX EAX,AL
.text:00411066 41 INC ECX
.text:00411067 899d74fdffff MOV dword ptr [EBP + local_290+0x4],EBX
.text:0041106d f7d8 NEG EAX
.text:0041106f 899d78fdffff MOV dword ptr [EBP + local_28c+0x4],EBX
.text:00411075 56 PUSH ESI
.text:00411076 1bc0 SBB EAX,EAX
.text:00411078 899d7cfdffff MOV dword ptr [EBP + local_288+0x4],EBX
.text:0041107e 23c1 AND EAX,ECX
.text:00411080 899d80fdffff MOV dword ptr [EBP + local_284+0x4],EBX
.text:00411086 898570fdffff MOV dword ptr [EBP + local_294+0x4],EAX
.text:0041108c 899d84fdffff MOV dword ptr [EBP + local_280+0x4],EBX
.text:00411092 889d88fdffff MOV byte ptr [EBP + local_27c+0x4],BL
.text:00411098 e807020000 CALL __acrt_get_utf8_acp_compatibility_cod...;uint __acrt_get_utf8_acp_compatibili...
.text:0041109d 50 PUSH EAX
.text:0041109e 8d8574fdffff LEA EAX=>local_290,[EBP + 0xfffffd74]
.text:004110a4 50 PUSH EAX
.text:004110a5 57 PUSH EDI
.text:004110a6 e8e0fcffff CALL __acrt_mbs_to_wcs_cp;int __acrt_mbs_to_wcs_cp .text:004110ab 83c40c ADD ESP,0xc
.text:004110ae 8d8dacfdffff LEA ECX=>local_258,[EBP + 0xfffffdac]
.text:004110b4 f7d8 NEG EAX
.text:004110b6 1bc0 SBB EAX,EAX
.text:004110b8 53 PUSH EBX ;DWORD dwAdditionalFlags for FindFirs...
.text:004110b9 53 PUSH EBX ;LPVOID lpSearchFilter for FindFirstF...
.text:004110ba 53 PUSH EBX ;FINDEX_SEARCH_OPS fSearchOp for Find...
.text:004110bb 51 PUSH ECX ;LPVOID lpFindFileData for FindFirstF...
.text:004110bc f7d0 NOT EAX
.text:004110be 23857cfdffff AND EAX,dword ptr [EBP + local_288+0x4]
.text:004110c4 53 PUSH EBX ;FINDEX_INFO_LEVELS fInfoLevelId for ...
.text:004110c5 50 PUSH EAX ;LPCWSTR lpFileName for FindFirstFileExW
.text:004110c6 ff15a8b04100 CALL dword ptr [->KERNEL32.DLL::FindFirstF...;= 000225fa
.text:004110cc 8bf0 MOV ESI,EAX
.text:004110ce 83feff CMP ESI,-0x1
.text:004110d1 752e JNZ LAB_00411101
.text:004110d3 ffb5a4fdffff PUSH dword ptr [EBP + local_260+0x4]
.text:004110d9 53 PUSH EBX
.text:004110da 53 PUSH EBX
.text:004110db 57 PUSH EDI
.text:004110dc e844feffff CALL copy_and_add_argument_to_buffer ;int copy_and_add_argument_to_buffer<...
.text:004110e1 83c410 ADD ESP,0x10
.text:004110e4 8bf0 MOV ESI,EAX
.text:004110e6 389d88fdffff CMP byte ptr [EBP + local_27c+0x4],BL
.text:004110ec 740c JZ LAB_004110fa
.text:004110ee ffb57cfdffff PUSH dword ptr [EBP + local_288+0x4]
.text:004110f4 e87bd2ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004110f9 59 POP ECX
LAB_004110fa: ;XREF[1,0]: 004110ec
.text:004110fa 8bc6 MOV EAX,ESI
.text:004110fc e94b010000 JMP LAB_0041124c
LAB_00411101: ;XREF[1,0]: 004110d1
.text:00411101 8b85a4fdffff MOV EAX,dword ptr [EBP + local_260+0x4]
.text:00411107 8b4804 MOV ECX,dword ptr [EAX + 0x4]
.text:0041110a 2b08 SUB ECX,dword ptr [EAX]
.text:0041110c c1f902 SAR ECX,0x2
.text:0041110f 898d6cfdffff MOV dword ptr [EBP + local_298+0x4],ECX
LAB_00411115: ;XREF[1,0]: 004111c2
.text:00411115 899d8cfdffff MOV dword ptr [EBP + local_278+0x4],EBX
.text:0041111b 899d90fdffff MOV dword ptr [EBP + local_274+0x4],EBX
.text:00411121 899d94fdffff MOV dword ptr [EBP + local_270+0x4],EBX
.text:00411127 899d98fdffff MOV dword ptr [EBP + local_26c+0x4],EBX
.text:0041112d 899d9cfdffff MOV dword ptr [EBP + local_268+0x4],EBX
.text:00411133 889da0fdffff MOV byte ptr [EBP + local_264+0x4],BL
.text:00411139 e866010000 CALL __acrt_get_utf8_acp_compatibility_cod...;uint __acrt_get_utf8_acp_compatibili...
.text:0041113e 50 PUSH EAX
.text:0041113f 8d85abfdffff LEA EAX=>local_259,[EBP + 0xfffffdab]
.text:00411145 50 PUSH EAX
.text:00411146 8d858cfdffff LEA EAX=>local_278,[EBP + 0xfffffd8c]
.text:0041114c 50 PUSH EAX
.text:0041114d 8d85d8fdffff LEA EAX=>local_22c,[EBP + 0xfffffdd8]
.text:00411153 50 PUSH EAX
.text:00411154 e86cfbffff CALL FUN_00410cc5 ;int FUN_00410cc5(LPCWSTR param_1, __...
.text:00411159 83c410 ADD ESP,0x10
.text:0041115c f7d8 NEG EAX
.text:0041115e 1bc0 SBB EAX,EAX
.text:00411160 f7d0 NOT EAX
.text:00411162 238594fdffff AND EAX,dword ptr [EBP + local_270+0x4]
.text:00411168 80382e CMP byte ptr [EAX],0x2e
.text:0041116b 7511 JNZ LAB_0041117e
.text:0041116d 8a4801 MOV CL,byte ptr [EAX + 0x1]
.text:00411170 84c9 TEST CL,CL
.text:00411172 742a JZ LAB_0041119e
.text:00411174 80f92e CMP CL,0x2e
.text:00411177 7505 JNZ LAB_0041117e
.text:00411179 385802 CMP byte ptr [EAX + 0x2],BL
.text:0041117c 7420 JZ LAB_0041119e
LAB_0041117e: ;XREF[2,0]: 0041116b,00411177
.text:0041117e ffb5a4fdffff PUSH dword ptr [EBP + local_260+0x4]
.text:00411184 ffb570fdffff PUSH dword ptr [EBP + local_294+0x4]
.text:0041118a 57 PUSH EDI
.text:0041118b 50 PUSH EAX
.text:0041118c e894fdffff CALL copy_and_add_argument_to_buffer ;int copy_and_add_argument_to_buffer<...
.text:00411191 83c410 ADD ESP,0x10
.text:00411194 898568fdffff MOV dword ptr [EBP + local_29c+0x4],EAX
.text:0041119a 85c0 TEST EAX,EAX
.text:0041119c 7579 JNZ LAB_00411217
LAB_0041119e: ;XREF[2,0]: 00411172,0041117c
.text:0041119e 389da0fdffff CMP byte ptr [EBP + local_264+0x4],BL
.text:004111a4 740c JZ LAB_004111b2
.text:004111a6 ffb594fdffff PUSH dword ptr [EBP + local_270+0x4]
.text:004111ac e8c3d1ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004111b1 59 POP ECX
LAB_004111b2: ;XREF[1,0]: 004111a4
.text:004111b2 8d85acfdffff LEA EAX=>local_258,[EBP + 0xfffffdac]
.text:004111b8 50 PUSH EAX ;LPWIN32_FIND_DATAW lpFindFileData fo...
.text:004111b9 56 PUSH ESI ;HANDLE hFindFile for FindNextFileW
.text:004111ba ff15acb04100 CALL dword ptr [->KERNEL32.DLL::FindNextFi...;= 0002260e
.text:004111c0 85c0 TEST EAX,EAX
.text:004111c2 0f854dffffff JNZ LAB_00411115
.text:004111c8 8b85a4fdffff MOV EAX,dword ptr [EBP + local_260+0x4]
.text:004111ce 8b8d6cfdffff MOV ECX,dword ptr [EBP + local_298+0x4]
.text:004111d4 8b10 MOV EDX,dword ptr [EAX]
.text:004111d6 8b4004 MOV EAX,dword ptr [EAX + 0x4]
.text:004111d9 2bc2 SUB EAX,EDX
.text:004111db c1f802 SAR EAX,0x2
.text:004111de 3bc8 CMP ECX,EAX
.text:004111e0 7416 JZ LAB_004111f8
.text:004111e2 68fb0b4100 PUSH FUN_00410bfb
.text:004111e7 2bc1 SUB EAX,ECX
.text:004111e9 6a04 PUSH 0x4
.text:004111eb 50 PUSH EAX
.text:004111ec 8d048a LEA EAX,[EDX + ECX*0x4]
.text:004111ef 50 PUSH EAX
.text:004111f0 e87b5f0000 CALL _qsort ;void _qsort(void * _Base, size_t _Nu...
.text:004111f5 83c410 ADD ESP,0x10
LAB_004111f8: ;XREF[1,0]: 004111e0
.text:004111f8 56 PUSH ESI ;HANDLE hFindFile for FindClose
.text:004111f9 ff15a4b04100 CALL dword ptr [->KERNEL32.DLL::FindClose] ;= 000225ee
.text:004111ff 389d88fdffff CMP byte ptr [EBP + local_27c+0x4],BL
.text:00411205 740c JZ LAB_00411213
.text:00411207 ffb57cfdffff PUSH dword ptr [EBP + local_288+0x4]
.text:0041120d e862d1ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00411212 59 POP ECX
LAB_00411213: ;XREF[1,0]: 00411205
.text:00411213 33c0 XOR EAX,EAX
.text:00411215 eb35 JMP LAB_0041124c
LAB_00411217: ;XREF[1,0]: 0041119c
.text:00411217 389da0fdffff CMP byte ptr [EBP + local_264+0x4],BL
.text:0041121d 740c JZ LAB_0041122b
.text:0041121f ffb594fdffff PUSH dword ptr [EBP + local_270+0x4]
.text:00411225 e84ad1ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041122a 59 POP ECX
LAB_0041122b: ;XREF[1,0]: 0041121d
.text:0041122b 56 PUSH ESI ;HANDLE hFindFile for FindClose
.text:0041122c ff15a4b04100 CALL dword ptr [->KERNEL32.DLL::FindClose] ;= 000225ee
.text:00411232 389d88fdffff CMP byte ptr [EBP + local_27c+0x4],BL
.text:00411238 740c JZ LAB_00411246
.text:0041123a ffb57cfdffff PUSH dword ptr [EBP + local_288+0x4]
.text:00411240 e82fd1ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00411245 59 POP ECX
LAB_00411246: ;XREF[1,0]: 00411238
.text:00411246 8b8568fdffff MOV EAX,dword ptr [EBP + local_29c+0x4]
LAB_0041124c: ;XREF[2,0]: 004110fc,00411215
.text:0041124c 5e POP ESI
LAB_0041124d: ;XREF[1,0]: 00411044
.text:0041124d 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00411250 5f POP EDI
.text:00411251 33cd XOR ECX,EBP
.text:00411253 5b POP EBX
.text:00411254 e8cc0effff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00411259 c9 LEAVE
.text:0041125a c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* public: __thiscall `anonymous namespace'::argument_list::~argument_list(void) *
;* public: __thiscall `anonymous namespace'::argument_list::~argument_list(void) *
;* public: __thiscall `anonymous namespace'::argument_list::~argument_list(void)*
;* public: __thiscall `anonymous namespace'::argument_list::~argument_list(void)*
;* *
;* Library: Visual Studio 2015 Release *
;************************************************************************************************
;undefined ~argument_list<>(LPVOID * param_1)
;param_1 LPVOID * ECX
;XREF[2,0]: 00410e92,00410f0c
.text:0041125b 8bff MOV EDI,EDI
.text:0041125d 56 PUSH ESI
.text:0041125e 57 PUSH EDI
.text:0041125f 8bf9 MOV EDI,param_1
.text:00411261 8b37 MOV ESI,dword ptr [EDI]
.text:00411263 eb0b JMP LAB_00411270
LAB_00411265: ;XREF[1,0]: 00411273
.text:00411265 ff36 PUSH dword ptr [ESI]
.text:00411267 e808d1ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041126c 59 POP param_1
.text:0041126d 83c604 ADD ESI,0x4
LAB_00411270: ;XREF[1,0]: 00411263
.text:00411270 3b7704 CMP ESI,dword ptr [EDI + 0x4]
.text:00411273 75f0 JNZ LAB_00411265
.text:00411275 ff37 PUSH dword ptr [EDI]
.text:00411277 e8f8d0ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041127c 59 POP param_1
.text:0041127d 5f POP EDI
.text:0041127e 5e POP ESI
.text:0041127f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411280(uint param_1, LPCWSTR param_2, LPSTR param_3, int param_4)
;param_1 uint 4 ;XREF[1,0]: 00411295
;param_2 LPCWSTR 8 ;XREF[1,0]: 00411291
;param_3 LPSTR c ;XREF[1,0]: 0041128c
;param_4 int 10 ;XREF[1,0]: 00411289
;XREF[2,0]: 00410d61,004114c1
.text:00411280 8bff MOV EDI,EDI
.text:00411282 55 PUSH EBP
.text:00411283 8bec MOV EBP,ESP
.text:00411285 33c0 XOR EAX,EAX
.text:00411287 50 PUSH EAX
.text:00411288 50 PUSH EAX
.text:00411289 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0041128c ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0041128f 6aff PUSH -0x1
.text:00411291 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00411294 50 PUSH EAX
.text:00411295 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00411298 e8c00c0000 CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:0041129d 83c420 ADD ESP,0x20
.text:004112a0 5d POP EBP
.text:004112a1 c21000 RET 0x10
;************************************************************************************************
;* Library Function - Single Match *
;* unsigned int __cdecl __acrt_get_utf8_acp_compatibility_codepage(void) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;uint __acrt_get_utf8_acp_compatibility_codepage(void)
;local_8 undefined1 -8 ;XREF[1,0]: 004112cf
;local_10 undefined4 -10 ;XREF[1,0]: 004112b6
;local_14 undefined4 -14 ;XREF[2,0]: 004112ae,004112d5
;XREF[5,0]: 00411098,00411139,00411592,00417b6e
; 00417b87
.text:004112a4 8bff MOV EDI,EDI
.text:004112a6 55 PUSH EBP
.text:004112a7 8bec MOV EBP,ESP
.text:004112a9 83ec10 SUB ESP,0x10
.text:004112ac 6a00 PUSH 0x0
.text:004112ae 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:004112b1 e8377bffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:004112b6 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:004112b9 bae9fd0000 MOV EDX,0xfde9
.text:004112be 395008 CMP dword ptr [EAX + 0x8],EDX
.text:004112c1 740c JZ LAB_004112cf
.text:004112c3 e8ded2ffff CALL ___acrt_AreFileApisANSI@0 ;int ___acrt_AreFileApisANSI@0(void)
.text:004112c8 33d2 XOR EDX,EDX
.text:004112ca 85c0 TEST EAX,EAX
.text:004112cc 7501 JNZ LAB_004112cf
.text:004112ce 42 INC EDX
LAB_004112cf: ;XREF[2,0]: 004112c1,004112cc
.text:004112cf 807dfc00 CMP byte ptr [EBP + local_8+0x4],0x0
.text:004112d3 740a JZ LAB_004112df
.text:004112d5 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004112d8 83a150030... AND dword ptr [ECX + 0x350],0xfffffffd
LAB_004112df: ;XREF[1,0]: 004112d3
.text:004112df 8bc2 MOV EAX,EDX
.text:004112e1 c9 LEAVE
.text:004112e2 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* private: void __thiscall __crt_win32_buffer * this)
;this __crt_win32... ECX
;XREF[4,0]: 00410c26,00410cd8,00411306,00411342
.text:004112e3 8bff MOV EDI,EDI
.text:004112e5 56 PUSH ESI
.text:004112e6 8bf1 MOV ESI,this
.text:004112e8 807e1400 CMP byte ptr [ESI + 0x14],0x0
.text:004112ec 740d JZ LAB_004112fb
.text:004112ee ff7608 PUSH dword ptr [ESI + 0x8]
.text:004112f1 e87ed0ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004112f6 59 POP this
.text:004112f7 c6461400 MOV byte ptr [ESI + 0x14],0x0
LAB_004112fb: ;XREF[1,0]: 004112ec
.text:004112fb 5e POP ESI
.text:004112fc c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* public: int __thiscall __crt_win32_buffer ;this void * ECX
;param_1 uint 4 ;XREF[1,0]: 0041130b
;XREF[2,0]: 00410d02,00410d4b
.text:004112fd 8bff MOV EDI,EDI
.text:004112ff 55 PUSH EBP
.text:00411300 8bec MOV EBP,ESP
.text:00411302 56 PUSH ESI
.text:00411303 57 PUSH EDI
.text:00411304 8bf1 MOV ESI,this
.text:00411306 e8d8ffffff CALL __crt_win32_buffer;void _deallocate(__crt_win32_buffer<...
.text:0041130b 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0041130e 8d4608 LEA EAX,[ESI + 0x8]
.text:00411311 56 PUSH ESI
.text:00411312 57 PUSH EDI
.text:00411313 50 PUSH EAX
.text:00411314 e85f000000 CALL __crt_win32_buffer_internal_dynamic_r...;int allocate(void * * param_1, uint ...
.text:00411319 83c40c ADD ESP,0xc
.text:0041131c 85c0 TEST EAX,EAX
.text:0041131e 740a JZ LAB_0041132a
.text:00411320 83660c00 AND dword ptr [ESI + 0xc],0x0
.text:00411324 c6461400 MOV byte ptr [ESI + 0x14],0x0
.text:00411328 eb09 JMP LAB_00411333
LAB_0041132a: ;XREF[1,0]: 0041131e
.text:0041132a c6461401 MOV byte ptr [ESI + 0x14],0x1
.text:0041132e 33c0 XOR EAX,EAX
.text:00411330 897e0c MOV dword ptr [ESI + 0xc],EDI
LAB_00411333: ;XREF[1,0]: 00411328
.text:00411333 5f POP EDI
.text:00411334 5e POP ESI
.text:00411335 5d POP EBP
.text:00411336 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* public: int __thiscall __crt_win32_buffer * this, uint param_1)
;this __crt_win32... ECX
;param_1 uint 4 ;XREF[1,0]: 00411347
;XREF[2,0]: 00410c4e,00410c98
.text:00411339 8bff MOV EDI,EDI
.text:0041133b 55 PUSH EBP
.text:0041133c 8bec MOV EBP,ESP
.text:0041133e 56 PUSH ESI
.text:0041133f 57 PUSH EDI
.text:00411340 8bf1 MOV ESI,this
.text:00411342 e89cffffff CALL __crt_win32_buffer;void _deallocate(__crt_win32_buffer<...
.text:00411347 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0041134a 56 PUSH ESI
.text:0041134b 8d043f LEA EAX,[EDI + EDI*0x1]
.text:0041134e 50 PUSH EAX
.text:0041134f 8d4608 LEA EAX,[ESI + 0x8]
.text:00411352 50 PUSH EAX
.text:00411353 e820000000 CALL __crt_win32_buffer_internal_dynamic_r...;int allocate(void * * param_1, uint ...
.text:00411358 83c40c ADD ESP,0xc
.text:0041135b 85c0 TEST EAX,EAX
.text:0041135d 740a JZ LAB_00411369
.text:0041135f 83660c00 AND dword ptr [ESI + 0xc],0x0
.text:00411363 c6461400 MOV byte ptr [ESI + 0x14],0x0
.text:00411367 eb09 JMP LAB_00411372
LAB_00411369: ;XREF[1,0]: 0041135d
.text:00411369 c6461401 MOV byte ptr [ESI + 0x14],0x1
.text:0041136d 33c0 XOR EAX,EAX
.text:0041136f 897e0c MOV dword ptr [ESI + 0xc],EDI
LAB_00411372: ;XREF[1,0]: 00411367
.text:00411372 5f POP EDI
.text:00411373 5e POP ESI
.text:00411374 5d POP EBP
.text:00411375 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* public: static int __cdecl __crt_win32_buffer_internal_dynamic_resizing::allocate(void * * c...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;int allocate(void * * param_1, uint param_2, __crt_win32_buffer_empty_debug_info * param_3)
;param_1 void * * 4 ;XREF[1,0]: 00411386
;param_2 uint 8 ;XREF[1,0]: 0041137d
;param_3 __crt_win32... c
;XREF[2,0]: 00411314,00411353
.text:00411378 8bff MOV EDI,EDI
.text:0041137a 55 PUSH EBP
.text:0041137b 8bec MOV EBP,ESP
.text:0041137d ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00411380 e84cdaffff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:00411385 59 POP ECX
.text:00411386 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00411389 8901 MOV dword ptr [ECX],EAX
.text:0041138b f7d8 NEG EAX
.text:0041138d 1bc0 SBB EAX,EAX
.text:0041138f 83e0f4 AND EAX,0xfffffff4
.text:00411392 83c00c ADD EAX,0xc
.text:00411395 5d POP EBP
.text:00411396 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* private: int __thiscall `anonymous namespace'::argument_list::expand_if_necessary(void)*
;* private: int __thiscall `anonymous namespace'::argument_list::expand_if_necessary(v...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;int expand_if_necessary(argument_list * this)
;this argument_li... ECX
;XREF[1,0]: 00410f97
.text:00411397 8bff MOV EDI,EDI
.text:00411399 56 PUSH ESI
.text:0041139a 8bf1 MOV ESI,this
.text:0041139c 57 PUSH EDI
.text:0041139d 8b7e08 MOV EDI,dword ptr [ESI + 0x8]
.text:004113a0 397e04 CMP dword ptr [ESI + 0x4],EDI
.text:004113a3 7404 JZ LAB_004113a9
LAB_004113a5: ;XREF[1,0]: 004113d2
.text:004113a5 33c0 XOR EAX,EAX
.text:004113a7 eb72 JMP LAB_0041141b
LAB_004113a9: ;XREF[1,0]: 004113a3
.text:004113a9 833e00 CMP dword ptr [ESI],0x0
.text:004113ac 7526 JNZ LAB_004113d4
.text:004113ae 6a04 PUSH 0x4
.text:004113b0 6a04 PUSH 0x4
.text:004113b2 e860cfffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:004113b7 6a00 PUSH 0x0
.text:004113b9 8906 MOV dword ptr [ESI],EAX
.text:004113bb e8b4cfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004113c0 8b06 MOV EAX,dword ptr [ESI]
.text:004113c2 83c40c ADD ESP,0xc
.text:004113c5 85c0 TEST EAX,EAX
.text:004113c7 7418 JZ LAB_004113e1
.text:004113c9 894604 MOV dword ptr [ESI + 0x4],EAX
.text:004113cc 83c010 ADD EAX,0x10
.text:004113cf 894608 MOV dword ptr [ESI + 0x8],EAX
.text:004113d2 ebd1 JMP LAB_004113a5
LAB_004113d4: ;XREF[1,0]: 004113ac
.text:004113d4 2b3e SUB EDI,dword ptr [ESI]
.text:004113d6 c1ff02 SAR EDI,0x2
.text:004113d9 81ffffffff7f CMP EDI,0x7fffffff
.text:004113df 7605 JBE LAB_004113e6
LAB_004113e1: ;XREF[1,0]: 004113c7
.text:004113e1 6a0c PUSH 0xc
.text:004113e3 58 POP EAX
.text:004113e4 eb35 JMP LAB_0041141b
LAB_004113e6: ;XREF[1,0]: 004113df
.text:004113e6 53 PUSH EBX
.text:004113e7 6a04 PUSH 0x4
.text:004113e9 8d1c3f LEA EBX,[EDI + EDI*0x1]
.text:004113ec 53 PUSH EBX
.text:004113ed ff36 PUSH dword ptr [ESI]
.text:004113ef e8061a0000 CALL __recalloc_base ;LPVOID __recalloc_base(void * param_...
.text:004113f4 83c40c ADD ESP,0xc
.text:004113f7 85c0 TEST EAX,EAX
.text:004113f9 7505 JNZ LAB_00411400
.text:004113fb 6a0c PUSH 0xc
.text:004113fd 5e POP ESI
.text:004113fe eb10 JMP LAB_00411410
LAB_00411400: ;XREF[1,0]: 004113f9
.text:00411400 8906 MOV dword ptr [ESI],EAX
.text:00411402 8d0cb8 LEA this,[EAX + EDI*0x4]
.text:00411405 8d0498 LEA EAX,[EAX + EBX*0x4]
.text:00411408 894e04 MOV dword ptr [ESI + 0x4],this
.text:0041140b 894608 MOV dword ptr [ESI + 0x8],EAX
.text:0041140e 33f6 XOR ESI,ESI
LAB_00411410: ;XREF[1,0]: 004113fe
.text:00411410 6a00 PUSH 0x0
.text:00411412 e85dcfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00411417 59 POP this
.text:00411418 8bc6 MOV EAX,ESI
.text:0041141a 5b POP EBX
LAB_0041141b: ;XREF[2,0]: 004113a7,004113e4
.text:0041141b 5f POP EDI
.text:0041141c 5e POP ESI
.text:0041141d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041141e(uchar * * param_1, LPVOID * param_2)
;param_1 uchar * * 4
;param_2 LPVOID * 8
;XREF[1,0]: 0040cefc
.text:0041141e 8bff MOV EDI,EDI
.text:00411420 55 PUSH EBP
.text:00411421 8bec MOV EBP,ESP
.text:00411423 5d POP EBP
.text:00411424 e97ff9ffff JMP FUN_00410da8 ;int FUN_00410da8(uchar * * param_1, ...
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00411429(LPCWSTR param_1, int param_2, undefined4 param_3, uint param_4)
;param_1 LPCWSTR 4 ;XREF[1,0]: 0041142f
;param_2 int 8 ;XREF[3,0]: 00411436,0041144d,004114a0
;param_3 undefined4 c ;XREF[1,0]: 004114b7
;param_4 uint 10 ;XREF[2,0]: 0041147a,004114be
;XREF[1,0]: 004115ad
.text:00411429 8bff MOV EDI,EDI
.text:0041142b 55 PUSH EBP
.text:0041142c 8bec MOV EBP,ESP
.text:0041142e 56 PUSH ESI
.text:0041142f 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00411432 85f6 TEST ESI,ESI
.text:00411434 750f JNZ LAB_00411445
.text:00411436 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00411439 e8d4000000 CALL FUN_00411512 ;undefined FUN_00411512(int param_1)
.text:0041143e 33c0 XOR EAX,EAX
.text:00411440 e9a3000000 JMP LAB_004114e8
LAB_00411445: ;XREF[1,0]: 00411434
.text:00411445 53 PUSH EBX
.text:00411446 33db XOR EBX,EBX
.text:00411448 66391e CMP word ptr [ESI],BX
.text:0041144b 7525 JNZ LAB_00411472
.text:0041144d 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00411450 395e0c CMP dword ptr [ESI + 0xc],EBX
.text:00411453 7511 JNZ LAB_00411466
.text:00411455 6a01 PUSH 0x1
.text:00411457 8bce MOV ECX,ESI
.text:00411459 e88d000000 CALL allocate ;undefined4 allocate(int param_1)
.text:0041145e 85c0 TEST EAX,EAX
.text:00411460 0f8581000000 JNZ LAB_004114e7
LAB_00411466: ;XREF[1,0]: 00411453
.text:00411466 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00411469 8818 MOV byte ptr [EAX],BL
.text:0041146b 33c0 XOR EAX,EAX
.text:0041146d 895e10 MOV dword ptr [ESI + 0x10],EBX
.text:00411470 eb75 JMP LAB_004114e7
LAB_00411472: ;XREF[1,0]: 0041144b
.text:00411472 53 PUSH EBX
.text:00411473 53 PUSH EBX
.text:00411474 53 PUSH EBX
.text:00411475 53 PUSH EBX
.text:00411476 6aff PUSH -0x1
.text:00411478 56 PUSH ESI
.text:00411479 53 PUSH EBX
.text:0041147a ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0041147d e8db0a0000 CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:00411482 83c420 ADD ESP,0x20
.text:00411485 85c0 TEST EAX,EAX
.text:00411487 7516 JNZ LAB_0041149f
.text:00411489 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:0041148f 50 PUSH EAX
.text:00411490 e815ceffff CALL ___acrt_errno_map_os_error ;undefined ___acrt_errno_map_os_error...
.text:00411495 59 POP ECX
.text:00411496 e869ceffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0041149b 8b00 MOV EAX,dword ptr [EAX]
.text:0041149d eb48 JMP LAB_004114e7
LAB_0041149f: ;XREF[1,0]: 00411487
.text:0041149f 57 PUSH EDI
.text:004114a0 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:004114a3 3b470c CMP EAX,dword ptr [EDI + 0xc]
.text:004114a6 760c JBE LAB_004114b4
.text:004114a8 50 PUSH EAX
.text:004114a9 8bcf MOV ECX,EDI
.text:004114ab e83b000000 CALL allocate ;undefined4 allocate(int param_1)
.text:004114b0 85c0 TEST EAX,EAX
.text:004114b2 7532 JNZ LAB_004114e6
LAB_004114b4: ;XREF[1,0]: 004114a6
.text:004114b4 ff770c PUSH dword ptr [EDI + 0xc]
.text:004114b7 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:004114ba ff7708 PUSH dword ptr [EDI + 0x8]
.text:004114bd 56 PUSH ESI
.text:004114be ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:004114c1 e8bafdffff CALL FUN_00411280 ;undefined FUN_00411280(uint param_1,...
.text:004114c6 85c0 TEST EAX,EAX
.text:004114c8 7516 JNZ LAB_004114e0
.text:004114ca ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:004114d0 50 PUSH EAX
.text:004114d1 e8d4cdffff CALL ___acrt_errno_map_os_error ;undefined ___acrt_errno_map_os_error...
.text:004114d6 59 POP ECX
.text:004114d7 e828ceffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004114dc 8b00 MOV EAX,dword ptr [EAX]
.text:004114de eb06 JMP LAB_004114e6
LAB_004114e0: ;XREF[1,0]: 004114c8
.text:004114e0 48 DEC EAX
.text:004114e1 894710 MOV dword ptr [EDI + 0x10],EAX
.text:004114e4 33c0 XOR EAX,EAX
LAB_004114e6: ;XREF[2,0]: 004114b2,004114de
.text:004114e6 5f POP EDI
LAB_004114e7: ;XREF[3,0]: 00411460,00411470,0041149d
.text:004114e7 5b POP EBX
LAB_004114e8: ;XREF[1,0]: 00411440
.text:004114e8 5e POP ESI
.text:004114e9 5d POP EBP
.text:004114ea c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Same Base Name *
;* public: int __thiscall __crt_win32_buffer::alloc...*
;* public: int __thiscall __crt_win32_buffer::al...*
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;undefined4 allocate(int param_1)
;param_1 int ECX
;XREF[2,0]: 00411459,004114ab
.text:004114eb 8bff MOV EDI,EDI
.text:004114ed 56 PUSH ESI
.text:004114ee 8bf1 MOV ESI,param_1
.text:004114f0 807e1400 CMP byte ptr [ESI + 0x14],0x0
.text:004114f4 7404 JZ LAB_004114fa
.text:004114f6 c6461400 MOV byte ptr [ESI + 0x14],0x0
LAB_004114fa: ;XREF[1,0]: 004114f4
.text:004114fa e805ceffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004114ff 6a22 PUSH 0x22
.text:00411501 59 POP param_1
.text:00411502 8908 MOV dword ptr [EAX],param_1
.text:00411504 8bc1 MOV EAX,param_1
.text:00411506 83660c00 AND dword ptr [ESI + 0xc],0x0
.text:0041150a c6461400 MOV byte ptr [ESI + 0x14],0x0
.text:0041150e 5e POP ESI
.text:0041150f c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411512(int param_1)
;param_1 int ECX
;XREF[1,0]: 00411439
.text:00411512 33c0 XOR EAX,EAX
.text:00411514 384114 CMP byte ptr [param_1 + 0x14],AL
.text:00411517 7403 JZ LAB_0041151c
.text:00411519 884114 MOV byte ptr [param_1 + 0x14],AL
LAB_0041151c: ;XREF[1,0]: 00411517
.text:0041151c 894108 MOV dword ptr [param_1 + 0x8],EAX
.text:0041151f 89410c MOV dword ptr [param_1 + 0xc],EAX
.text:00411522 894110 MOV dword ptr [param_1 + 0x10],EAX
.text:00411525 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_GetModuleFileNameA *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_GetModuleFileNameA(HMODULE param_1, undefined4 param_2, undefined4 param_3)
;param_1 HMODULE 4 ;XREF[1,0]: 0041153b
;param_2 undefined4 8 ;XREF[1,0]: 00411566
;param_3 undefined4 c ;XREF[1,0]: 00411569
;local_8 undefined4 -8 ;XREF[2,0]: 00411538,004115bb
;local_214 undefined1 -214 ;XREF[2,0]: 0041153e,004115a6
;local_215 undefined1 -215 ;XREF[1,0]: 00411598
;local_21c undefined1 -21c ;XREF[1,0]: 0041158b
;local_220 undefined4 -220 ;XREF[2,0]: 0041156c,004115b2
;local_224 undefined4 -224 ;XREF[1,0]: 00411585
;local_228 undefined4 -228 ;XREF[1,0]: 0041157f
;local_22c undefined4 -22c ;XREF[1,0]: 00411579
;local_230 undefined4 -230 ;XREF[2,0]: 00411573,0041159f
;XREF[1,0]: 0040ce5e
.text:00411526 8bff MOV EDI,EDI
.text:00411528 55 PUSH EBP
.text:00411529 8bec MOV EBP,ESP
.text:0041152b 81ec2c020000 SUB ESP,0x22c
.text:00411531 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00411536 33c5 XOR EAX,EBP
.text:00411538 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0041153b 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041153e 8d8df0fdffff LEA ECX=>local_214,[EBP + 0xfffffdf0]
.text:00411544 6805010000 PUSH 0x105 ;DWORD nSize for GetModuleFileNameW
.text:00411549 51 PUSH ECX ;LPWSTR lpFilename for GetModuleFileN...
.text:0041154a 50 PUSH EAX ;HMODULE hModule for GetModuleFileNameW
.text:0041154b ff1584b04100 CALL dword ptr [->KERNEL32.DLL::GetModuleF...;= 0002256c
.text:00411551 85c0 TEST EAX,EAX
.text:00411553 7511 JNZ LAB_00411566
.text:00411555 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:0041155b 50 PUSH EAX
.text:0041155c e849cdffff CALL ___acrt_errno_map_os_error ;undefined ___acrt_errno_map_os_error...
.text:00411561 59 POP ECX
.text:00411562 33c0 XOR EAX,EAX
.text:00411564 eb55 JMP LAB_004115bb
LAB_00411566: ;XREF[1,0]: 00411553
.text:00411566 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00411569 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0041156c 83a5e4fdf... AND dword ptr [EBP + local_220+0x4],0x0
.text:00411573 898dd4fdffff MOV dword ptr [EBP + local_230+0x4],ECX
.text:00411579 8985d8fdffff MOV dword ptr [EBP + local_22c+0x4],EAX
.text:0041157f 898ddcfdffff MOV dword ptr [EBP + local_228+0x4],ECX
.text:00411585 8985e0fdffff MOV dword ptr [EBP + local_224+0x4],EAX
.text:0041158b c685e8fdf... MOV byte ptr [EBP + local_21c+0x4],0x0
.text:00411592 e80dfdffff CALL __acrt_get_utf8_acp_compatibility_cod...;uint __acrt_get_utf8_acp_compatibili...
.text:00411597 50 PUSH EAX
.text:00411598 8d85effdffff LEA EAX=>local_215,[EBP + 0xfffffdef]
.text:0041159e 50 PUSH EAX
.text:0041159f 8d85d4fdffff LEA EAX=>local_230,[EBP + 0xfffffdd4]
.text:004115a5 50 PUSH EAX
.text:004115a6 8d85f0fdffff LEA EAX=>local_214,[EBP + 0xfffffdf0]
.text:004115ac 50 PUSH EAX
.text:004115ad e877feffff CALL FUN_00411429 ;int FUN_00411429(LPCWSTR param_1, in...
.text:004115b2 8b85e4fdffff MOV EAX,dword ptr [EBP + local_220+0x4]
.text:004115b8 83c410 ADD ESP,0x10
LAB_004115bb: ;XREF[1,0]: 00411564
.text:004115bb 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:004115be 33cd XOR ECX,EBP
.text:004115c0 e8600bffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:004115c5 c9 LEAVE
.text:004115c6 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall __crt_seh_guarded_call::operator(),class_&,class__>(__crt_seh_guarded_call * this, * param_1, * param_2, * param_3)
;this __crt_seh_g... ECX
;param_1 004115d3
;param_2 004115e2
;param_3 ;local_8 undefined4 -8 ;XREF[2,0]: 004115de,004115ea
;local_14 undefined4 -14 ;XREF[1,0]: 004115f6
;XREF[1,0]: 00411a7b
.text:004115c7 6a08 PUSH 0x8
.text:004115c9 68e01f4200 PUSH .rdata:DAT_00421fe0 ;= FEh
.text:004115ce e82d09ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:004115d3 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004115d6 ff30 PUSH dword ptr [EAX]
.text:004115d8 e876c9ffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:004115dd 59 POP this
.text:004115de 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:004115e2 8b4d0c MOV this,dword ptr [EBP + param_2+0x4]
.text:004115e5 e82a000000 CALL ;void operator()( .text:004115ea c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:004115f1 e812000000 CALL FUN_00411608 ;undefined FUN_00411608(void)
.text:004115f6 8b4df0 MOV this,dword ptr [EBP + local_14+0x4]
.text:004115f9 64890d000... MOV dword ptr FS:[0x...,this ;= 00000000
.text:00411600 59 POP this
.text:00411601 5f POP EDI
.text:00411602 5e POP ESI
.text:00411603 5b POP EBX
.text:00411604 c9 LEAVE
.text:00411605 c20c00 RET 0xc
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411608(void)
;XREF[1,0]: 004115f1
.text:00411608 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:0041160b ff30 PUSH dword ptr [EAX]
.text:0041160d e889c9ffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:00411612 59 POP ECX
.text:00411613 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* public: void __thiscall ::operator()(void)const *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void operator()( * this)
;this 004115e5
.text:00411614 8bff MOV EDI,EDI
.text:00411616 56 PUSH ESI
.text:00411617 8bf1 MOV ESI,this
.text:00411619 b901010000 MOV this,0x101
.text:0041161e 51 PUSH this
.text:0041161f 8b06 MOV EAX,dword ptr [ESI]
.text:00411621 8b00 MOV EAX,dword ptr [EAX]
.text:00411623 8b4048 MOV EAX,dword ptr [EAX + 0x48]
.text:00411626 83c018 ADD EAX,0x18
.text:00411629 50 PUSH EAX
.text:0041162a 51 PUSH this
.text:0041162b ff35e4424200 PUSH dword ptr [.data:DAT_004242e4] ;= ??
.text:00411631 e8eeb3ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00411636 8b06 MOV EAX,dword ptr [ESI]
.text:00411638 b900010000 MOV this,0x100
.text:0041163d 51 PUSH this
.text:0041163e 8b00 MOV EAX,dword ptr [EAX]
.text:00411640 8b4048 MOV EAX,dword ptr [EAX + 0x48]
.text:00411643 0519010000 ADD EAX,0x119
.text:00411648 50 PUSH EAX
.text:00411649 51 PUSH this
.text:0041164a ff35e8424200 PUSH dword ptr [.data:DAT_004242e8] ;= ??
.text:00411650 e8cfb3ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00411655 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00411658 83c420 ADD ESP,0x20
.text:0041165b 83c9ff OR this,0xffffffff
.text:0041165e 8b00 MOV EAX,dword ptr [EAX]
.text:00411660 8b00 MOV EAX,dword ptr [EAX]
.text:00411662 f00fc108 XADD.LOCK dword ptr [EAX],this
.text:00411666 7515 JNZ LAB_0041167d
.text:00411668 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:0041166b 8b00 MOV EAX,dword ptr [EAX]
.text:0041166d 813800324200 CMP dword ptr [EAX],.data:DAT_00423200
.text:00411673 7408 JZ LAB_0041167d
.text:00411675 ff30 PUSH dword ptr [EAX]
.text:00411677 e8f8ccffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041167c 59 POP this
LAB_0041167d: ;XREF[2,0]: 00411666,00411673
.text:0041167d 8b06 MOV EAX,dword ptr [ESI]
.text:0041167f 8b10 MOV EDX,dword ptr [EAX]
.text:00411681 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00411684 8b08 MOV this,dword ptr [EAX]
.text:00411686 8b4248 MOV EAX,dword ptr [EDX + 0x48]
.text:00411689 8901 MOV dword ptr [this],EAX
.text:0041168b 8b06 MOV EAX,dword ptr [ESI]
.text:0041168d 8b00 MOV EAX,dword ptr [EAX]
.text:0041168f 8b4048 MOV EAX,dword ptr [EAX + 0x48]
.text:00411692 f0ff00 INC.LOCK dword ptr [EAX]
.text:00411695 5e POP ESI
.text:00411696 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* wchar_t const * __cdecl CPtoLocaleName(int) *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;wchar_t * CPtoLocaleName(int param_1)
;param_1 int 4 ;XREF[1,0]: 0041169c
;XREF[2,0]: 00411cad,00411d55
.text:00411697 8bff MOV EDI,EDI
.text:00411699 55 PUSH EBP
.text:0041169a 8bec MOV EBP,ESP
.text:0041169c 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041169f 2da4030000 SUB EAX,0x3a4
.text:004116a4 7428 JZ LAB_004116ce
.text:004116a6 83e804 SUB EAX,0x4
.text:004116a9 741c JZ LAB_004116c7
.text:004116ab 83e80d SUB EAX,0xd
.text:004116ae 7410 JZ LAB_004116c0
.text:004116b0 83e801 SUB EAX,0x1
.text:004116b3 7404 JZ LAB_004116b9
.text:004116b5 33c0 XOR EAX,EAX
.text:004116b7 5d POP EBP
.text:004116b8 c3 RET
LAB_004116b9: ;XREF[1,0]: 004116b3
.text:004116b9 a16cdd4100 MOV EAX=>.rdata:u_zh...,[.rdata:PTR_u_zh-...;= u"zh-TW"
;= 0041dd94
.text:004116be 5d POP EBP
.text:004116bf c3 RET
LAB_004116c0: ;XREF[1,0]: 004116ae
.text:004116c0 a168dd4100 MOV EAX=>.rdata:u_ko...,[.rdata:PTR_u_ko-...;= u"ko-KR"
;= 0041dd88
.text:004116c5 5d POP EBP
.text:004116c6 c3 RET
LAB_004116c7: ;XREF[1,0]: 004116a9
.text:004116c7 a164dd4100 MOV EAX=>.rdata:u_zh...,[.rdata:PTR_u_zh-...;= u"zh-CN"
;= 0041dd7c
.text:004116cc 5d POP EBP
.text:004116cd c3 RET
LAB_004116ce: ;XREF[1,0]: 004116a4
.text:004116ce a160dd4100 MOV EAX=>.rdata:u_ja...,[.rdata:PTR_u_ja-...;= u"ja-JP"
;= 0041dd70
.text:004116d3 5d POP EBP
.text:004116d4 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl getSystemCP(int) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int getSystemCP(int param_1)
;param_1 int 4 ;XREF[1,0]: 004116ee
;local_8 undefined1 -8 ;XREF[1,0]: 00411734
;local_10 undefined4 -10 ;XREF[1,0]: 00411724
;local_14 undefined4 -14 ;XREF[2,0]: 004116dd,0041173a
;XREF[2,0]: 0041197b,00411bb9
.text:004116d5 8bff MOV EDI,EDI
.text:004116d7 55 PUSH EBP
.text:004116d8 8bec MOV EBP,ESP
.text:004116da 83ec10 SUB ESP,0x10
.text:004116dd 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:004116e0 6a00 PUSH 0x0
.text:004116e2 e80677ffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:004116e7 8325f0424... AND dword ptr [.data:DAT_004242f0],0x0 ;= ??
.text:004116ee 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004116f1 83f8fe CMP EAX,-0x2
.text:004116f4 7512 JNZ LAB_00411708
.text:004116f6 c705f0424... MOV dword ptr [.data:DAT_004242f0],0x1 ;= ??
.text:00411700 ff15b8b04100 CALL dword ptr [->KERNEL32.DLL::GetOEMCP] ;= 0002263a
.text:00411706 eb2c JMP LAB_00411734
LAB_00411708: ;XREF[1,0]: 004116f4
.text:00411708 83f8fd CMP EAX,-0x3
.text:0041170b 7512 JNZ LAB_0041171f
.text:0041170d c705f0424... MOV dword ptr [.data:DAT_004242f0],0x1 ;= ??
.text:00411717 ff15b4b04100 CALL dword ptr [->KERNEL32.DLL::GetACP] ;= 00022630
.text:0041171d eb15 JMP LAB_00411734
LAB_0041171f: ;XREF[1,0]: 0041170b
.text:0041171f 83f8fc CMP EAX,-0x4
.text:00411722 7510 JNZ LAB_00411734
.text:00411724 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00411727 c705f0424... MOV dword ptr [.data:DAT_004242f0],0x1 ;= ??
.text:00411731 8b4008 MOV EAX,dword ptr [EAX + 0x8]
LAB_00411734: ;XREF[3,0]: 00411706,0041171d,00411722
.text:00411734 807dfc00 CMP byte ptr [EBP + local_8+0x4],0x0
.text:00411738 740a JZ LAB_00411744
.text:0041173a 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:0041173d 83a150030... AND dword ptr [ECX + 0x350],0xfffffffd
LAB_00411744: ;XREF[1,0]: 00411738
.text:00411744 c9 LEAVE
.text:00411745 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411746(int param_1)
;param_1 int 4 ;XREF[1,0]: 0041174c
;XREF[1,0]: 00411d8c
.text:00411746 8bff MOV EDI,EDI
.text:00411748 55 PUSH EBP
.text:00411749 8bec MOV EBP,ESP
.text:0041174b 53 PUSH EBX
.text:0041174c 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:0041174f 56 PUSH ESI
.text:00411750 57 PUSH EDI
.text:00411751 6801010000 PUSH 0x101
.text:00411756 33f6 XOR ESI,ESI
.text:00411758 8d4318 LEA EAX,[EBX + 0x18]
.text:0041175b 56 PUSH ESI
.text:0041175c 50 PUSH EAX
.text:0041175d e8ce0effff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:00411762 83c40c ADD ESP,0xc
.text:00411765 897304 MOV dword ptr [EBX + 0x4],ESI
.text:00411768 897308 MOV dword ptr [EBX + 0x8],ESI
.text:0041176b 8d7b0c LEA EDI,[EBX + 0xc]
.text:0041176e 89b31c020000 MOV dword ptr [EBX + 0x21c],ESI
.text:00411774 33c0 XOR EAX,EAX
.text:00411776 ab STOSD ES:EDI
.text:00411777 8bce MOV ECX,ESI
.text:00411779 ab STOSD ES:EDI
.text:0041177a ab STOSD ES:EDI
LAB_0041177b: ;XREF[1,0]: 0041178c
; FWD[2,0]: 00423218,00423219
.text:0041177b 8a8118324200 MOV AL,byte ptr [ECX + .data:DAT_00423218]
.text:00411781 88440b18 MOV byte ptr [EBX + ECX*0x1 + 0x18],AL
.text:00411785 41 INC ECX
.text:00411786 81f901010000 CMP ECX,0x101
.text:0041178c 7ced JL LAB_0041177b
LAB_0041178e: ;XREF[1,0]: 004117a2
; FWD[2,0]: 00423319,0042331a
.text:0041178e 8a8619334200 MOV AL,byte ptr [ESI + .data:DAT_00423319]
.text:00411794 888433190... MOV byte ptr [EBX + ESI*0x1 + 0x119],AL
.text:0041179b 46 INC ESI
.text:0041179c 81fe00010000 CMP ESI,0x100
.text:004117a2 7cea JL LAB_0041178e
.text:004117a4 5f POP EDI
.text:004117a5 5e POP ESI
.text:004117a6 5b POP EBX
.text:004117a7 5d POP EBP
.text:004117a8 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004117a9(int param_1)
;param_1 int 4 ;XREF[1,0]: 004117c1
;local_8 undefined4 -8 ;XREF[2,0]: 004117bb,0041193f
;local_107 undefined1 -107 ;XREF[1,0]: 004117f2
;local_108 undefined1 -108 ;XREF[4,0]: 0041180a,00411842,0041185e,00411882
;local_208 undefined1 -208 ;XREF[1,0]: 00411855
;local_308 undefined1 -308 ;XREF[1,0]: 00411875
;local_706 undefined2 -706 ;XREF[1,0]: 004118a2
;local_708 undefined1 -708 ;XREF[1,0]: 0041183a
;local_714 undefined1 -714 ;XREF[1,0]: 00411830
;local_715 undefined1 -715 ;XREF[1,0]: 00411813
;local_716 undefined1 -716 ;XREF[2,0]: 004117fe,00411804
;local_71c undefined1 -71c ;XREF[1,0]: 004117d1
;local_720 undefined4 -720 ;XREF[2,0]: 004118e8,004118fb
;local_724 undefined4 -724 ;XREF[2,0]: 004118f5,00411937
;XREF[1,0]: 00411d84
.text:004117a9 8bff MOV EDI,EDI
.text:004117ab 55 PUSH EBP
.text:004117ac 8bec MOV EBP,ESP
.text:004117ae 81ec20070000 SUB ESP,0x720
.text:004117b4 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:004117b9 33c5 XOR EAX,EBP
.text:004117bb 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004117be 53 PUSH EBX
.text:004117bf 56 PUSH ESI
.text:004117c0 57 PUSH EDI
.text:004117c1 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:004117c4 817f04e9f... CMP dword ptr [EDI + 0x4],0xfde9
.text:004117cb 0f840c010000 JZ LAB_004118dd
.text:004117d1 8d85e8f8ffff LEA EAX=>local_71c,[EBP + 0xfffff8e8]
.text:004117d7 50 PUSH EAX ;LPCPINFO lpCPInfo for GetCPInfo
.text:004117d8 ff7704 PUSH dword ptr [EDI + 0x4] ;UINT CodePage for GetCPInfo
.text:004117db ff15bcb04100 CALL dword ptr [->KERNEL32.DLL::GetCPInfo] ;= 00022646
.text:004117e1 85c0 TEST EAX,EAX
.text:004117e3 0f84f4000000 JZ LAB_004118dd
.text:004117e9 33db XOR EBX,EBX
.text:004117eb be00010000 MOV ESI,0x100
.text:004117f0 8bc3 MOV EAX,EBX
LAB_004117f2: ;XREF[1,0]: 004117fc
.text:004117f2 888405fcf... MOV byte ptr [EBP + ...,AL
.text:004117f9 40 INC EAX
.text:004117fa 3bc6 CMP EAX,ESI
.text:004117fc 72f4 JC LAB_004117f2
.text:004117fe 8a85eef8ffff MOV AL,byte ptr [EBP + local_716+0x4]
.text:00411804 8d8deef8ffff LEA ECX=>local_716,[EBP + 0xfffff8ee]
.text:0041180a c685fcfef... MOV byte ptr [EBP + local_108+0x4],0x20
.text:00411811 eb1f JMP LAB_00411832
LAB_00411813: ;XREF[1,0]: 00411834
.text:00411813 0fb65101 MOVZX EDX,byte ptr [ECX + local_715+0x716]
.text:00411817 0fb6c0 MOVZX EAX,AL
.text:0041181a eb0d JMP LAB_00411829
LAB_0041181c: ;XREF[1,0]: 0041182b
.text:0041181c 3bc6 CMP EAX,ESI
.text:0041181e 730d JNC LAB_0041182d
.text:00411820 c68405fcf... MOV byte ptr [EBP + ...,0x20
.text:00411828 40 INC EAX
LAB_00411829: ;XREF[1,0]: 0041181a
.text:00411829 3bc2 CMP EAX,EDX
.text:0041182b 76ef JBE LAB_0041181c
LAB_0041182d: ;XREF[1,0]: 0041181e
.text:0041182d 83c102 ADD ECX,0x2
.text:00411830 8a01 MOV AL,byte ptr [ECX]=>local_714
LAB_00411832: ;XREF[1,0]: 00411811
.text:00411832 84c0 TEST AL,AL
.text:00411834 75dd JNZ LAB_00411813
.text:00411836 53 PUSH EBX
.text:00411837 ff7704 PUSH dword ptr [EDI + 0x4]
.text:0041183a 8d85fcf8ffff LEA EAX=>local_708,[EBP + 0xfffff8fc]
.text:00411840 50 PUSH EAX
.text:00411841 56 PUSH ESI
.text:00411842 8d85fcfeffff LEA EAX=>local_108,[EBP + 0xfffffefc]
.text:00411848 50 PUSH EAX
.text:00411849 6a01 PUSH 0x1
.text:0041184b 53 PUSH EBX
.text:0041184c e8ee100000 CALL FUN_0041293f ;undefined FUN_0041293f(LPVOID * para...
.text:00411851 53 PUSH EBX
.text:00411852 ff7704 PUSH dword ptr [EDI + 0x4]
.text:00411855 8d85fcfdffff LEA EAX=>local_208,[EBP + 0xfffffdfc]
.text:0041185b 56 PUSH ESI
.text:0041185c 50 PUSH EAX
.text:0041185d 56 PUSH ESI
.text:0041185e 8d85fcfeffff LEA EAX=>local_108,[EBP + 0xfffffefc]
.text:00411864 50 PUSH EAX
.text:00411865 56 PUSH ESI
.text:00411866 ffb71c020000 PUSH dword ptr [EDI + 0x21c]
.text:0041186c 53 PUSH EBX
.text:0041186d e881610000 CALL ___acrt_LCMapStringA ;undefined ___acrt_LCMapStringA(LPVOI...
.text:00411872 83c440 ADD ESP,0x40
.text:00411875 8d85fcfcffff LEA EAX=>local_308,[EBP + 0xfffffcfc]
.text:0041187b 53 PUSH EBX
.text:0041187c ff7704 PUSH dword ptr [EDI + 0x4]
.text:0041187f 56 PUSH ESI
.text:00411880 50 PUSH EAX
.text:00411881 56 PUSH ESI
.text:00411882 8d85fcfeffff LEA EAX=>local_108,[EBP + 0xfffffefc]
.text:00411888 50 PUSH EAX
.text:00411889 6800020000 PUSH 0x200
.text:0041188e ffb71c020000 PUSH dword ptr [EDI + 0x21c]
.text:00411894 53 PUSH EBX
.text:00411895 e859610000 CALL ___acrt_LCMapStringA ;undefined ___acrt_LCMapStringA(LPVOI...
.text:0041189a 83c424 ADD ESP,0x24
.text:0041189d 8d4719 LEA EAX,[EDI + 0x19]
.text:004118a0 8bcb MOV ECX,EBX
LAB_004118a2: ;XREF[1,0]: 004118d9
.text:004118a2 0fb7944df... MOVZX EDX,word ptr [EBP + ECX*0x2 + local_7...
.text:004118aa f6c201 TEST DL,0x1
.text:004118ad 740c JZ LAB_004118bb
.text:004118af 800810 OR byte ptr [EAX],0x10
.text:004118b2 8a940dfcf... MOV DL,byte ptr [EBP + ECX*0x1 + 0xfffffdfc]
.text:004118b9 eb13 JMP LAB_004118ce
LAB_004118bb: ;XREF[1,0]: 004118ad
.text:004118bb f6c202 TEST DL,0x2
.text:004118be 740c JZ LAB_004118cc
.text:004118c0 800820 OR byte ptr [EAX],0x20
.text:004118c3 8a940dfcf... MOV DL,byte ptr [EBP + ECX*0x1 + 0xfffffcfc]
.text:004118ca eb02 JMP LAB_004118ce
LAB_004118cc: ;XREF[1,0]: 004118be
.text:004118cc 8ad3 MOV DL,BL
LAB_004118ce: ;XREF[2,0]: 004118b9,004118ca
.text:004118ce 41 INC ECX
.text:004118cf 889000010000 MOV byte ptr [EAX + 0x100],DL
.text:004118d5 40 INC EAX
.text:004118d6 83ee01 SUB ESI,0x1
.text:004118d9 75c7 JNZ LAB_004118a2
.text:004118db eb62 JMP LAB_0041193f
LAB_004118dd: ;XREF[2,0]: 004117cb,004117e3
.text:004118dd 6aa6 PUSH -0x5a
.text:004118df 58 POP EAX
.text:004118e0 6a86 PUSH -0x7a
.text:004118e2 5a POP EDX
.text:004118e3 2bd7 SUB EDX,EDI
.text:004118e5 8d4f19 LEA ECX,[EDI + 0x19]
.text:004118e8 8995e4f8ffff MOV dword ptr [EBP + local_720+0x4],EDX
.text:004118ee 2bc7 SUB EAX,EDI
.text:004118f0 6ae7 PUSH -0x19
.text:004118f2 5a POP EDX
.text:004118f3 2bd7 SUB EDX,EDI
.text:004118f5 8985e0f8ffff MOV dword ptr [EBP + local_724+0x4],EAX
.text:004118fb 8bbde4f8ffff MOV EDI,dword ptr [EBP + local_720+0x4]
.text:00411901 33db XOR EBX,EBX
.text:00411903 be00010000 MOV ESI,0x100
LAB_00411908: ;XREF[1,0]: 0041193d
.text:00411908 03c1 ADD EAX,ECX
.text:0041190a 83f819 CMP EAX,0x19
.text:0041190d 7708 JA LAB_00411917
.text:0041190f 800910 OR byte ptr [ECX],0x10
.text:00411912 8d4120 LEA EAX,[ECX + 0x20]
.text:00411915 eb0e JMP LAB_00411925
LAB_00411917: ;XREF[1,0]: 0041190d
.text:00411917 8d040f LEA EAX,[EDI + ECX*0x1]
.text:0041191a 83f819 CMP EAX,0x19
.text:0041191d 770a JA LAB_00411929
.text:0041191f 800920 OR byte ptr [ECX],0x20
.text:00411922 8d41e0 LEA EAX,[ECX + -0x20]
LAB_00411925: ;XREF[1,0]: 00411915
.text:00411925 02c2 ADD AL,DL
.text:00411927 eb02 JMP LAB_0041192b
LAB_00411929: ;XREF[1,0]: 0041191d
.text:00411929 8ac3 MOV AL,BL
LAB_0041192b: ;XREF[1,0]: 00411927
.text:0041192b 888100010000 MOV byte ptr [ECX + 0x100],AL
.text:00411931 41 INC ECX
.text:00411932 8d0411 LEA EAX,[ECX + EDX*0x1]
.text:00411935 3bc6 CMP EAX,ESI
.text:00411937 8b85e0f8ffff MOV EAX,dword ptr [EBP + local_724+0x4]
.text:0041193d 72c9 JC LAB_00411908
LAB_0041193f: ;XREF[1,0]: 004118db
.text:0041193f 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00411942 5f POP EDI
.text:00411943 5e POP ESI
.text:00411944 33cd XOR ECX,EBP
.text:00411946 5b POP EBX
.text:00411947 e8d907ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0041194c c9 LEAVE
.text:0041194d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_0041194e(int param_1, char param_2, __acrt_ptd * param_3, __crt_multibyte_data * * param_4)
;param_1 int 4 ;XREF[1,0]: 00411978
;param_2 char 8 ;XREF[2,0]: 00411a0b,00411a80
;param_3 __acrt_ptd * c ;XREF[8,0]: 00411970,00411980,004119b8,00411a16,00411a23
; 00411a41,00411a47,00411a57
;param_4 __crt_multi... 10 ;XREF[3,0]: 0041196d,00411a62,00411a86
;local_res0 undefined4 0 ;XREF[1,0]: 0041195c
;local_4 undefined4 -4 ;XREF[1,0]: 00411aa1
;local_c undefined4 -c ;XREF[1,0]: 0041195f
;local_14 undefined4 -14 ;XREF[5,0]: 004119a2,004119fb,00411a38,00411a6c,00411a77
;local_15 undefined1 -15 ;XREF[1,0]: 00411a5d
;local_1c undefined4 -1c ;XREF[4,0]: 00411986,004119cc,00411a69,00411a6f
;local_20 undefined4 -20 ;XREF[1,0]: 00411a65
;local_24 undefined4 -24 ;XREF[2,0]: 00411a5a,00411a73
;local_248 undefined1 -248 ;XREF[2,0]: 004119bb,004119d3
;XREF[1,0]: 00411b79
.text:0041194e 8bff MOV EDI,EDI
.text:00411950 53 PUSH EBX
.text:00411951 8bdc MOV EBX,ESP
.text:00411953 51 PUSH ECX
.text:00411954 51 PUSH ECX
.text:00411955 83e4f8 AND ESP,0xfffffff8
.text:00411958 83c404 ADD ESP,0x4
.text:0041195b 55 PUSH EBP
.text:0041195c 8b6b04 MOV EBP,dword ptr [EBX + local_res0+0x4]
.text:0041195f 896c2404 MOV dword ptr [ESP + local_c+0x10],EBP
.text:00411963 8bec MOV EBP,ESP
.text:00411965 81ec38020000 SUB ESP,0x238
.text:0041196b 56 PUSH ESI
.text:0041196c 57 PUSH EDI
.text:0041196d ff7314 PUSH dword ptr [EBX + param_4+0x4]
.text:00411970 ff7310 PUSH dword ptr [EBX + param_3+0x4]
.text:00411973 e82b010000 CALL update_thread_multibyte_data_internal ;__crt_multibyte_data * update_thread...
.text:00411978 ff7308 PUSH dword ptr [EBX + param_1+0x4]
.text:0041197b e855fdffff CALL getSystemCP ;int getSystemCP(int param_1)
.text:00411980 8b4b10 MOV ECX,dword ptr [EBX + param_3+0x4]
.text:00411983 83c40c ADD ESP,0xc
.text:00411986 8945f4 MOV dword ptr [EBP + local_1c+0x10],EAX
.text:00411989 8b4948 MOV ECX,dword ptr [ECX + 0x48]
.text:0041198c 3b4104 CMP EAX,dword ptr [ECX + 0x4]
.text:0041198f 7507 JNZ LAB_00411998
.text:00411991 33c0 XOR EAX,EAX
.text:00411993 e902010000 JMP LAB_00411a9a
LAB_00411998: ;XREF[1,0]: 0041198f
.text:00411998 6820020000 PUSH 0x220
.text:0041199d e82fd4ffff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:004119a2 8945fc MOV dword ptr [EBP + local_14+0x10],EAX
.text:004119a5 59 POP ECX
.text:004119a6 85c0 TEST EAX,EAX
.text:004119a8 750e JNZ LAB_004119b8
.text:004119aa 50 PUSH EAX
.text:004119ab e8c4c9ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004119b0 83c8ff OR EAX,0xffffffff
.text:004119b3 e9e1000000 JMP LAB_00411a99
LAB_004119b8: ;XREF[1,0]: 004119a8
.text:004119b8 8b7310 MOV ESI,dword ptr [EBX + param_3+0x4]
.text:004119bb 8dbdc8fdffff LEA EDI=>local_248,[EBP + 0xfffffdc8]
.text:004119c1 ba88000000 MOV EDX,0x88
.text:004119c6 8bca MOV ECX,EDX
.text:004119c8 50 PUSH EAX
.text:004119c9 8b7648 MOV ESI,dword ptr [ESI + 0x48]
.text:004119cc ff75f4 PUSH dword ptr [EBP + local_1c+0x10]
.text:004119cf f3a5 MOVSD.REP ES:EDI,ESI
.text:004119d1 8bca MOV ECX,EDX
.text:004119d3 8db5c8fdffff LEA ESI=>local_248,[EBP + 0xfffffdc8]
.text:004119d9 8bf8 MOV EDI,EAX
.text:004119db f3a5 MOVSD.REP ES:EDI,ESI
.text:004119dd 832000 AND dword ptr [EAX],0x0
.text:004119e0 e8b9010000 CALL FUN_00411b9e ;undefined FUN_00411b9e(int param_1, ...
.text:004119e5 8bf8 MOV EDI,EAX
.text:004119e7 83ceff OR ESI,0xffffffff
.text:004119ea 59 POP ECX
.text:004119eb 59 POP ECX
.text:004119ec 3bfe CMP EDI,ESI
.text:004119ee 751b JNZ LAB_00411a0b
.text:004119f0 e80fc9ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004119f5 c70016000000 MOV dword ptr [EAX],0x16
.text:004119fb 8b45fc MOV EAX,dword ptr [EBP + local_14+0x10]
.text:004119fe 50 PUSH EAX
.text:004119ff e870c9ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00411a04 8bc6 MOV EAX,ESI
.text:00411a06 e98e000000 JMP LAB_00411a99
LAB_00411a0b: ;XREF[1,0]: 004119ee
.text:00411a0b 807b0c00 CMP byte ptr [EBX + param_2+0x4],0x0
.text:00411a0f 7505 JNZ LAB_00411a16
.text:00411a11 e8efbaffff CALL FUN_0040d505 ;undefined4 FUN_0040d505(void)
LAB_00411a16: ;XREF[1,0]: 00411a0f
.text:00411a16 8b4310 MOV EAX,dword ptr [EBX + param_3+0x4]
.text:00411a19 8b4048 MOV EAX,dword ptr [EAX + 0x48]
.text:00411a1c f00fc130 XADD.LOCK dword ptr [EAX],ESI
.text:00411a20 4e DEC ESI
.text:00411a21 7515 JNZ LAB_00411a38
.text:00411a23 8b4310 MOV EAX,dword ptr [EBX + param_3+0x4]
.text:00411a26 817848003... CMP dword ptr [EAX +...,.data:DAT_00423200
.text:00411a2d 7409 JZ LAB_00411a38
.text:00411a2f ff7048 PUSH dword ptr [EAX + 0x48]
.text:00411a32 e83dc9ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00411a37 59 POP ECX
LAB_00411a38: ;XREF[2,0]: 00411a21,00411a2d
.text:00411a38 8b45fc MOV EAX,dword ptr [EBP + local_14+0x10]
.text:00411a3b c70001000000 MOV dword ptr [EAX],0x1
.text:00411a41 8b4b10 MOV ECX,dword ptr [EBX + param_3+0x4]
.text:00411a44 894148 MOV dword ptr [ECX + 0x48],EAX
.text:00411a47 8b4b10 MOV ECX,dword ptr [EBX + param_3+0x4]
.text:00411a4a a178374200 MOV EAX,[.data:DAT_00423778] ;= FFFFFFFEh
.text:00411a4f 858150030000 TEST dword ptr [ECX + 0x350],EAX
.text:00411a55 7539 JNZ LAB_00411a90
.text:00411a57 8d4310 LEA EAX=>param_3,[EBX + 0x10]
.text:00411a5a 8945ec MOV dword ptr [EBP + local_24+0x10],EAX
.text:00411a5d 8d4dfb LEA ECX=>local_15,[EBP + -0x5]
.text:00411a60 6a05 PUSH 0x5
.text:00411a62 8d4314 LEA EAX=>param_4,[EBX + 0x14]
.text:00411a65 8945f0 MOV dword ptr [EBP + local_20+0x10],EAX
.text:00411a68 58 POP EAX
.text:00411a69 8945f4 MOV dword ptr [EBP + local_1c+0x10],EAX
.text:00411a6c 8945fc MOV dword ptr [EBP + local_14+0x10],EAX
.text:00411a6f 8d45f4 LEA EAX=>local_1c,[EBP + -0xc]
.text:00411a72 50 PUSH EAX
.text:00411a73 8d45ec LEA EAX=>local_24,[EBP + -0x14]
.text:00411a76 50 PUSH EAX
.text:00411a77 8d45fc LEA EAX=>local_14,[EBP + -0x4]
.text:00411a7a 50 PUSH EAX
.text:00411a7b e847fbffff CALL __crt_seh_guarded_call::operato... ;void operator().text:00411a80 807b0c00 CMP byte ptr [EBX + param_2+0x4],0x0
.text:00411a84 740a JZ LAB_00411a90
.text:00411a86 8b4314 MOV EAX,dword ptr [EBX + param_4+0x4]
.text:00411a89 8b00 MOV EAX,dword ptr [EAX]
.text:00411a8b a3f4314200 MOV [.data:PTR_DAT_004231f4],EAX ;= 00423200
LAB_00411a90: ;XREF[2,0]: 00411a55,00411a84
.text:00411a90 6a00 PUSH 0x0
.text:00411a92 e8ddc8ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00411a97 8bc7 MOV EAX,EDI
LAB_00411a99: ;XREF[2,0]: 004119b3,00411a06
.text:00411a99 59 POP ECX
LAB_00411a9a: ;XREF[1,0]: 00411993
.text:00411a9a 5f POP EDI
.text:00411a9b 5e POP ESI
.text:00411a9c 8be5 MOV ESP,EBP
.text:00411a9e 5d POP EBP
.text:00411a9f 8be3 MOV ESP,EBX
.text:00411aa1 5b POP EBX=>local_4
.text:00411aa2 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* struct __crt_multibyte_data * __cdecl update_thread_multibyte_data_internal(struct __acrt_pt...*
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;__crt_multibyte_data * update_thread_multibyte_data_internal(__acrt_ptd * param_1, __crt_multibyte_data * * param_2)
;param_1 __acrt_ptd * 4 ;XREF[1,0]: 00411ab4
;param_2 __crt_multi... 8 ;XREF[1,0]: 00411ae3
;local_8 undefined4 -8 ;XREF[2,0]: 00411ada,00411b11
;local_20 undefined4 -20 ;XREF[3,0]: 00411ab1,00411ae0,00411b0b
;XREF[2,0]: 00411973,00411b96
.text:00411aa3 6a0c PUSH 0xc
.text:00411aa5 68c01f4200 PUSH .rdata:DAT_00421fc0 ;= FEh
.text:00411aaa e85104ffff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00411aaf 33f6 XOR ESI,ESI
.text:00411ab1 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:00411ab4 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00411ab7 a178374200 MOV EAX,[.data:DAT_00423778] ;= FFFFFFFEh
.text:00411abc 858750030000 TEST dword ptr [EDI + 0x350],EAX
.text:00411ac2 740e JZ LAB_00411ad2
.text:00411ac4 39774c CMP dword ptr [EDI + 0x4c],ESI
.text:00411ac7 7409 JZ LAB_00411ad2
.text:00411ac9 8b7748 MOV ESI,dword ptr [EDI + 0x48]
LAB_00411acc: ;XREF[1,0]: 00411b1d
.text:00411acc 85f6 TEST ESI,ESI
.text:00411ace 746d JZ LAB_00411b3d
.text:00411ad0 eb59 JMP FUN_00411b2b ;undefined FUN_00411b2b(void)
LAB_00411ad2: ;XREF[2,0]: 00411ac2,00411ac7
.text:00411ad2 6a05 PUSH 0x5
.text:00411ad4 e87ac4ffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:00411ad9 59 POP ECX
.text:00411ada 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
.text:00411add 8b7748 MOV ESI,dword ptr [EDI + 0x48]
.text:00411ae0 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:00411ae3 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:00411ae6 3b33 CMP ESI,dword ptr [EBX]
.text:00411ae8 7427 JZ LAB_00411b11
.text:00411aea 85f6 TEST ESI,ESI
.text:00411aec 7418 JZ LAB_00411b06
.text:00411aee 83c8ff OR EAX,0xffffffff
.text:00411af1 f00fc106 XADD.LOCK dword ptr [ESI],EAX
.text:00411af5 750f JNZ LAB_00411b06
.text:00411af7 81fe00324200 CMP ESI,.data:DAT_00423200
.text:00411afd 7407 JZ LAB_00411b06
.text:00411aff 56 PUSH ESI
.text:00411b00 e86fc8ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00411b05 59 POP ECX
LAB_00411b06: ;XREF[3,0]: 00411aec,00411af5,00411afd
.text:00411b06 8b33 MOV ESI,dword ptr [EBX]
.text:00411b08 897748 MOV dword ptr [EDI + 0x48],ESI
.text:00411b0b 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:00411b0e f0ff06 INC.LOCK dword ptr [ESI]
LAB_00411b11: ;XREF[1,0]: 00411ae8
.text:00411b11 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00411b18 e805000000 CALL FUN_00411b22 ;undefined FUN_00411b22(void)
.text:00411b1d ebad JMP LAB_00411acc
.text:00411b1f 8b ?? 8Bh
.text:00411b20 75 ?? 75h u
.text:00411b21 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411b22(void)
;XREF[1,0]: 00411b18
.text:00411b22 6a05 PUSH 0x5
.text:00411b24 e872c4ffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:00411b29 59 POP ECX
.text:00411b2a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411b2b(void)
;XREF[1,0]: 00411ad0
.text:00411b2b 8bc6 MOV EAX,ESI
.text:00411b2d 8b4df0 MOV ECX,dword ptr [EBP + -0x10]
.text:00411b30 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00411b37 59 POP ECX
.text:00411b38 5f POP EDI
.text:00411b39 5e POP ESI
.text:00411b3a 5b POP EBX
.text:00411b3b c9 LEAVE
.text:00411b3c c3 RET
LAB_00411b3d: ;XREF[1,0]: 00411ace
.text:00411b3d e807c0ffff CALL _abort ;void _abort(void)
.text:00411b42 cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_initialize_multibyte *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___acrt_initialize_multibyte(void)
;XREF[4,0]: 0040ce4b,0040d156,00417a3c,0041cac0
.text:00411b43 803df4424... CMP byte ptr [.data:DAT_004242f4],0x0 ;= ??
.text:00411b4a 753c JNZ LAB_00411b88
.text:00411b4c c705ec424... MOV dword ptr [.data...,.data:DAT_00423200 ;= ??
.text:00411b56 c705e8424... MOV dword ptr [.data...,.data:DAT_00423528 ;= ??
.text:00411b60 c705e4424... MOV dword ptr [.data...,.data:DAT_00423420 ;= ??
.text:00411b6a e8f5e9ffff CALL FUN_00410564 ;__acrt_ptd * FUN_00410564(void)
.text:00411b6f 68ec424200 PUSH .data:DAT_004242ec ;= ??
.text:00411b74 50 PUSH EAX
.text:00411b75 6a01 PUSH 0x1
.text:00411b77 6afd PUSH -0x3
.text:00411b79 e8d0fdffff CALL FUN_0041194e ;int FUN_0041194e(int param_1, char p...
.text:00411b7e 83c410 ADD ESP,0x10
.text:00411b81 c605f4424... MOV byte ptr [.data:DAT_004242f4],0x1 ;= ??
LAB_00411b88: ;XREF[1,0]: 00411b4a
.text:00411b88 b001 MOV AL,0x1
.text:00411b8a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411b8b(void)
;XREF[2,0]: 0040f172,0040f1a3
.text:00411b8b e819e9ffff CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:00411b90 68ec424200 PUSH .data:DAT_004242ec ;= ??
.text:00411b95 50 PUSH EAX
.text:00411b96 e808ffffff CALL update_thread_multibyte_data_internal ;__crt_multibyte_data * update_thread...
.text:00411b9b 59 POP ECX
.text:00411b9c 59 POP ECX
.text:00411b9d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411b9e(int param_1, int param_2)
;param_1 int 4 ;XREF[1,0]: 00411bb6
;param_2 int 8 ;XREF[1,0]: 00411bb2
;local_8 undefined4 -8 ;XREF[2,0]: 00411bad,00411d94
;local_14 undefined1 -14 ;XREF[1,0]: 00411c94
;local_15 undefined1 -15 ;XREF[1,0]: 00411c6f
;local_16 undefined1 -16 ;XREF[3,0]: 00411c66,00411c6a,00411c76
;local_1c undefined4 -1c ;XREF[2,0]: 00411c36,00411c5a
;local_20 undefined4 -20 ;XREF[6,0]: 00411bd2,00411be5,00411ce9,00411cf6,00411d38
; 00411d3f
;local_24 undefined4 -24 ;XREF[2,0]: 00411bc0,00411d47
;local_28 undefined4 -28 ;XREF[2,0]: 00411ced,00411d63
;XREF[1,0]: 004119e0
.text:00411b9e 8bff MOV EDI,EDI
.text:00411ba0 55 PUSH EBP
.text:00411ba1 8bec MOV EBP,ESP
.text:00411ba3 83ec24 SUB ESP,0x24
.text:00411ba6 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00411bab 33c5 XOR EAX,EBP
.text:00411bad 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00411bb0 53 PUSH EBX
.text:00411bb1 56 PUSH ESI
.text:00411bb2 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00411bb5 57 PUSH EDI
.text:00411bb6 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00411bb9 e817fbffff CALL getSystemCP ;int getSystemCP(int param_1)
.text:00411bbe 8bd8 MOV EBX,EAX
.text:00411bc0 895de0 MOV dword ptr [EBP + local_24+0x4],EBX
.text:00411bc3 59 POP ECX
.text:00411bc4 85db TEST EBX,EBX
.text:00411bc6 0f84bf010000 JZ LAB_00411d8b
.text:00411bcc 33ff XOR EDI,EDI
.text:00411bce 8bcf MOV ECX,EDI
.text:00411bd0 8bc7 MOV EAX,EDI
.text:00411bd2 894de4 MOV dword ptr [EBP + local_20+0x4],ECX
LAB_00411bd5: ;XREF[1,0]: 00411bed
; FWD[2,0]: 00423630,00423660
.text:00411bd5 399830364200 CMP dword ptr [EAX + .data:DAT_00423630],EBX;= 000003A4h
;= 000003A8h
.text:00411bdb 0f84f6000000 JZ LAB_00411cd7
.text:00411be1 41 INC ECX
.text:00411be2 83c030 ADD EAX,0x30
.text:00411be5 894de4 MOV dword ptr [EBP + local_20+0x4],ECX
.text:00411be8 3df0000000 CMP EAX,0xf0
.text:00411bed 72e6 JC LAB_00411bd5
.text:00411bef 81fbe8fd0000 CMP EBX,0xfde8
.text:00411bf5 0f84d4000000 JZ LAB_00411ccf
.text:00411bfb 0fb7c3 MOVZX EAX,BX
.text:00411bfe 50 PUSH EAX ;UINT CodePage for IsValidCodePage
.text:00411bff ff15b0b04100 CALL dword ptr [->KERNEL32.DLL::IsValidCod...;= 0002261e
.text:00411c05 85c0 TEST EAX,EAX
.text:00411c07 0f84c2000000 JZ LAB_00411ccf
.text:00411c0d b8e9fd0000 MOV EAX,0xfde9
.text:00411c12 3bd8 CMP EBX,EAX
.text:00411c14 7520 JNZ LAB_00411c36
.text:00411c16 894604 MOV dword ptr [ESI + 0x4],EAX
.text:00411c19 89be1c020000 MOV dword ptr [ESI + 0x21c],EDI
.text:00411c1f 897e18 MOV dword ptr [ESI + 0x18],EDI
.text:00411c22 66897e1c MOV word ptr [ESI + 0x1c],DI
LAB_00411c26: ;XREF[2,0]: 00411c64,00411cbe
.text:00411c26 897e08 MOV dword ptr [ESI + 0x8],EDI
.text:00411c29 33c0 XOR EAX,EAX
.text:00411c2b 8d7e0c LEA EDI,[ESI + 0xc]
.text:00411c2e ab STOSD ES:EDI
.text:00411c2f ab STOSD ES:EDI
.text:00411c30 ab STOSD ES:EDI
.text:00411c31 e94d010000 JMP LAB_00411d83
LAB_00411c36: ;XREF[1,0]: 00411c14
.text:00411c36 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:00411c39 50 PUSH EAX ;LPCPINFO lpCPInfo for GetCPInfo
.text:00411c3a 53 PUSH EBX ;UINT CodePage for GetCPInfo
.text:00411c3b ff15bcb04100 CALL dword ptr [->KERNEL32.DLL::GetCPInfo] ;= 00022646
.text:00411c41 85c0 TEST EAX,EAX
.text:00411c43 747e JZ LAB_00411cc3
.text:00411c45 6801010000 PUSH 0x101
.text:00411c4a 8d4618 LEA EAX,[ESI + 0x18]
.text:00411c4d 57 PUSH EDI
.text:00411c4e 50 PUSH EAX
.text:00411c4f e8dc09ffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:00411c54 83c40c ADD ESP,0xc
.text:00411c57 895e04 MOV dword ptr [ESI + 0x4],EBX
.text:00411c5a 837de802 CMP dword ptr [EBP + local_1c+0x4],0x2
.text:00411c5e 89be1c020000 MOV dword ptr [ESI + 0x21c],EDI
.text:00411c64 75c0 JNZ LAB_00411c26
.text:00411c66 807dee00 CMP byte ptr [EBP + local_16+0x4],0x0
.text:00411c6a 8d45ee LEA EAX=>local_16,[EBP + -0x12]
.text:00411c6d 742a JZ LAB_00411c99
LAB_00411c6f: ;XREF[1,0]: 00411c97
.text:00411c6f 8a4801 MOV CL,byte ptr [EAX + local_15+0x16]
.text:00411c72 84c9 TEST CL,CL
.text:00411c74 7423 JZ LAB_00411c99
.text:00411c76 0fb638 MOVZX EDI,byte ptr [EAX]=>local_16
.text:00411c79 0fb6c9 MOVZX ECX,CL
.text:00411c7c 3bf9 CMP EDI,ECX
.text:00411c7e 7711 JA LAB_00411c91
.text:00411c80 8d5619 LEA EDX,[ESI + 0x19]
.text:00411c83 2bcf SUB ECX,EDI
.text:00411c85 03d7 ADD EDX,EDI
.text:00411c87 41 INC ECX
LAB_00411c88: ;XREF[1,0]: 00411c8f
.text:00411c88 800a04 OR byte ptr [EDX],0x4
.text:00411c8b 42 INC EDX
.text:00411c8c 83e901 SUB ECX,0x1
.text:00411c8f 75f7 JNZ LAB_00411c88
LAB_00411c91: ;XREF[1,0]: 00411c7e
.text:00411c91 83c002 ADD EAX,0x2
.text:00411c94 803800 CMP byte ptr [EAX]=>local_14,0x0
.text:00411c97 75d6 JNZ LAB_00411c6f
LAB_00411c99: ;XREF[2,0]: 00411c6d,00411c74
.text:00411c99 8d461a LEA EAX,[ESI + 0x1a]
.text:00411c9c b9fe000000 MOV ECX,0xfe
LAB_00411ca1: ;XREF[1,0]: 00411ca8
.text:00411ca1 800808 OR byte ptr [EAX],0x8
.text:00411ca4 40 INC EAX
.text:00411ca5 83e901 SUB ECX,0x1
.text:00411ca8 75f7 JNZ LAB_00411ca1
.text:00411caa ff7604 PUSH dword ptr [ESI + 0x4]
.text:00411cad e8e5f9ffff CALL CPtoLocaleName ;wchar_t * CPtoLocaleName(int param_1)
.text:00411cb2 33ff XOR EDI,EDI
.text:00411cb4 89861c020000 MOV dword ptr [ESI + 0x21c],EAX
.text:00411cba 83c404 ADD ESP,0x4
.text:00411cbd 47 INC EDI
.text:00411cbe e963ffffff JMP LAB_00411c26
LAB_00411cc3: ;XREF[1,0]: 00411c43
.text:00411cc3 393df0424200 CMP dword ptr [.data:DAT_004242f0],EDI ;= ??
.text:00411cc9 0f85bc000000 JNZ LAB_00411d8b
LAB_00411ccf: ;XREF[2,0]: 00411bf5,00411c07
.text:00411ccf 83c8ff OR EAX,0xffffffff
.text:00411cd2 e9bd000000 JMP LAB_00411d94
LAB_00411cd7: ;XREF[1,0]: 00411bdb
.text:00411cd7 6801010000 PUSH 0x101
.text:00411cdc 8d4618 LEA EAX,[ESI + 0x18]
.text:00411cdf 57 PUSH EDI
.text:00411ce0 50 PUSH EAX
.text:00411ce1 e84a09ffff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:00411ce6 83c40c ADD ESP,0xc
.text:00411ce9 6b45e430 IMUL EAX,dword ptr [EBP + local_20+0x4],0x30
.text:00411ced 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:00411cf0 8d8040364200 LEA EAX,[EAX + .data:DAT_00423640] ;= A6h
.text:00411cf6 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
LAB_00411cf9: ;XREF[1,0]: 00411d45
; FWD[2,0]: 00423640,00423648
.text:00411cf9 803800 CMP byte ptr [EAX],0x0=>.data:DAT_00423640 ;= A6h
;= A1h
.text:00411cfc 8bc8 MOV ECX,EAX
.text:00411cfe 743b JZ LAB_00411d3b
LAB_00411d00: ;XREF[1,0]: 00411d36
; FWD[2,0]: 00423641,00423643
.text:00411d00 8a4101 MOV AL,byte ptr [ECX + 0x1]=>.data:DAT_00...;= DFh
.text:00411d03 84c0 TEST AL,AL
.text:00411d05 7431 JZ LAB_00411d38
.text:00411d07 0fb611 MOVZX EDX,byte ptr [ECX]=>.data:DAT_00423640 ;= A6h
.text:00411d0a 0fb6c0 MOVZX EAX,AL
.text:00411d0d 3bd0 CMP EDX,EAX
.text:00411d0f 771f JA LAB_00411d30
.text:00411d11 8d5e19 LEA EBX,[ESI + 0x19]
.text:00411d14 03da ADD EBX,EDX
LAB_00411d16: ;XREF[1,0]: 00411d2e
.text:00411d16 81fa00010000 CMP EDX,0x100
.text:00411d1c 7312 JNC LAB_00411d30
.text:00411d1e 8a8728364200 MOV AL,byte ptr [EDI + .data:DAT_00423628] ;= 01h
.text:00411d24 0803 OR byte ptr [EBX],AL
.text:00411d26 42 INC EDX
.text:00411d27 0fb64101 MOVZX EAX,byte ptr [ECX + 0x1]=>.data:DAT_0...;= DFh
.text:00411d2b 43 INC EBX
.text:00411d2c 3bd0 CMP EDX,EAX
.text:00411d2e 76e6 JBE LAB_00411d16
LAB_00411d30: ;XREF[2,0]: 00411d0f,00411d1c
.text:00411d30 83c102 ADD ECX,0x2
.text:00411d33 803900 CMP byte ptr [ECX],0x0=>.data:DAT_00423642
.text:00411d36 75c8 JNZ LAB_00411d00
LAB_00411d38: ;XREF[1,0]: 00411d05
.text:00411d38 8b45e4 MOV EAX,dword ptr [EBP + local_20+0x4]
LAB_00411d3b: ;XREF[1,0]: 00411cfe
.text:00411d3b 47 INC EDI
.text:00411d3c 83c008 ADD EAX,0x8
.text:00411d3f 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:00411d42 83ff04 CMP EDI,0x4
.text:00411d45 72b2 JC LAB_00411cf9
.text:00411d47 8b5de0 MOV EBX,dword ptr [EBP + local_24+0x4]
.text:00411d4a 53 PUSH EBX
.text:00411d4b 895e04 MOV dword ptr [ESI + 0x4],EBX
.text:00411d4e c74608010... MOV dword ptr [ESI + 0x8],0x1
.text:00411d55 e83df9ffff CALL CPtoLocaleName ;wchar_t * CPtoLocaleName(int param_1)
.text:00411d5a 83c404 ADD ESP,0x4
.text:00411d5d 89861c020000 MOV dword ptr [ESI + 0x21c],EAX
.text:00411d63 8b45dc MOV EAX,dword ptr [EBP + local_28+0x4]
.text:00411d66 8d4e0c LEA ECX,[ESI + 0xc]
.text:00411d69 6a06 PUSH 0x6
.text:00411d6b 8d9034364200 LEA EDX,[EAX + .data:DAT_00423634] ;= 60h `
.text:00411d71 5f POP EDI
LAB_00411d72: ;XREF[1,0]: 00411d81
; FWD[2,0]: 00423634,00423636
.text:00411d72 668b02 MOV AX,word ptr [EDX]=>.data:DAT_00423634 ;= 60h `
;= 79h y
.text:00411d75 8d5202 LEA EDX,[EDX + 0x2]
.text:00411d78 668901 MOV word ptr [ECX],AX
.text:00411d7b 8d4902 LEA ECX,[ECX + 0x2]
.text:00411d7e 83ef01 SUB EDI,0x1
.text:00411d81 75ef JNZ LAB_00411d72
LAB_00411d83: ;XREF[1,0]: 00411c31
.text:00411d83 56 PUSH ESI
.text:00411d84 e820faffff CALL FUN_004117a9 ;undefined FUN_004117a9(int param_1)
.text:00411d89 eb06 JMP LAB_00411d91
LAB_00411d8b: ;XREF[2,0]: 00411bc6,00411cc9
.text:00411d8b 56 PUSH ESI
.text:00411d8c e8b5f9ffff CALL FUN_00411746 ;undefined FUN_00411746(int param_1)
LAB_00411d91: ;XREF[1,0]: 00411d89
.text:00411d91 33c0 XOR EAX,EAX
.text:00411d93 59 POP ECX
LAB_00411d94: ;XREF[1,0]: 00411cd2
.text:00411d94 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00411d97 5f POP EDI
.text:00411d98 5e POP ESI
.text:00411d99 33cd XOR ECX,EBP
.text:00411d9b 5b POP EBX
.text:00411d9c e88403ffff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00411da1 c9 LEAVE
.text:00411da2 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00411da3(LPVOID * param_1, byte param_2, uint param_3, byte param_4)
;param_1 LPVOID * 4 ;XREF[1,0]: 00411dab
;param_2 byte 8 ;XREF[1,0]: 00411db6
;param_3 uint c ;XREF[1,0]: 00411dc6
;param_4 byte 10 ;XREF[1,0]: 00411dbd
;local_8 undefined1 -8 ;XREF[1,0]: 00411de1
;local_c undefined4 -c ;XREF[1,0]: 00411dba
;local_10 undefined4 -10 ;XREF[1,0]: 00411dcd
;local_14 undefined4 -14 ;XREF[2,0]: 00411dae,00411de7
;XREF[1,0]: 00411e01
.text:00411da3 8bff MOV EDI,EDI
.text:00411da5 55 PUSH EBP
.text:00411da6 8bec MOV EBP,ESP
.text:00411da8 83ec10 SUB ESP,0x10
.text:00411dab ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00411dae 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:00411db1 e83770ffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:00411db6 0fb6550c MOVZX EDX,byte ptr [EBP + param_2+0x4]
.text:00411dba 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00411dbd 8a4d14 MOV CL,byte ptr [EBP + param_4+0x4]
.text:00411dc0 844c1019 TEST byte ptr [EAX + EDX*0x1 + 0x19],CL
.text:00411dc4 7518 JNZ LAB_00411dde
.text:00411dc6 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00411dc9 85c9 TEST ECX,ECX
.text:00411dcb 740d JZ LAB_00411dda
.text:00411dcd 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:00411dd0 8b00 MOV EAX,dword ptr [EAX]
.text:00411dd2 0fb70450 MOVZX EAX,word ptr [EAX + EDX*0x2]
.text:00411dd6 85c1 TEST ECX,EAX
.text:00411dd8 7504 JNZ LAB_00411dde
LAB_00411dda: ;XREF[1,0]: 00411dcb
.text:00411dda 33c0 XOR EAX,EAX
.text:00411ddc eb03 JMP LAB_00411de1
LAB_00411dde: ;XREF[2,0]: 00411dc4,00411dd8
.text:00411dde 33c0 XOR EAX,EAX
.text:00411de0 40 INC EAX
LAB_00411de1: ;XREF[1,0]: 00411ddc
.text:00411de1 807dfc00 CMP byte ptr [EBP + local_8+0x4],0x0
.text:00411de5 740a JZ LAB_00411df1
.text:00411de7 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00411dea 83a150030... AND dword ptr [ECX + 0x350],0xfffffffd
LAB_00411df1: ;XREF[1,0]: 00411de5
.text:00411df1 c9 LEAVE
.text:00411df2 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411df3(byte param_1)
;param_1 byte 4 ;XREF[1,0]: 00411dfc
;XREF[2,0]: 0040cfa3,0040d07f
.text:00411df3 8bff MOV EDI,EDI
.text:00411df5 55 PUSH EBP
.text:00411df6 8bec MOV EBP,ESP
.text:00411df8 6a04 PUSH 0x4
.text:00411dfa 6a00 PUSH 0x0
.text:00411dfc ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00411dff 6a00 PUSH 0x0
.text:00411e01 e89dffffff CALL FUN_00411da3 ;undefined4 FUN_00411da3(LPVOID * par...
.text:00411e06 83c410 ADD ESP,0x10
.text:00411e09 5d POP EBP
.text:00411e0a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00411e0b(uint param_1, uint param_2)
;param_1 uint 4 ;XREF[1,0]: 00411e10
;param_2 uint 8 ;XREF[2,0]: 00411e96,00411e9b
;XREF[1,0]: 00411eba
.text:00411e0b 8bff MOV EDI,EDI
.text:00411e0d 55 PUSH EBP
.text:00411e0e 8bec MOV EBP,ESP
.text:00411e10 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00411e13 b9acde0000 MOV ECX,0xdeac
.text:00411e18 3bc1 CMP EAX,ECX
.text:00411e1a 7746 JA LAB_00411e62
.text:00411e1c 7426 JZ LAB_00411e44
.text:00411e1e b933c40000 MOV ECX,0xc433
.text:00411e23 3bc1 CMP EAX,ECX
.text:00411e25 7721 JA LAB_00411e48
.text:00411e27 741b JZ LAB_00411e44
.text:00411e29 83e82a SUB EAX,0x2a
.text:00411e2c 7416 JZ LAB_00411e44
.text:00411e2e 2d02c40000 SUB EAX,0xc402
.text:00411e33 740f JZ LAB_00411e44
.text:00411e35 83e801 SUB EAX,0x1
.text:00411e38 740a JZ LAB_00411e44
.text:00411e3a 83e801 SUB EAX,0x1
.text:00411e3d 7405 JZ LAB_00411e44
.text:00411e3f 83e803 SUB EAX,0x3
LAB_00411e42: ;XREF[1,0]: 00411e60
.text:00411e42 7552 JNZ LAB_00411e96
LAB_00411e44: ;XREF[14,0]: 00411e1c,00411e27,00411e2c,00411e33
; 00411e38,00411e3d,00411e4d,00411e5b
; 00411e6b,00411e72,00411e77,00411e83
; 00411e88,00411e8f
.text:00411e44 33c0 XOR EAX,EAX
.text:00411e46 5d POP EBP
.text:00411e47 c3 RET
LAB_00411e48: ;XREF[1,0]: 00411e25
.text:00411e48 2d35c40000 SUB EAX,0xc435
.text:00411e4d 74f5 JZ LAB_00411e44
.text:00411e4f 2d63120000 SUB EAX,0x1263
.text:00411e54 7445 JZ LAB_00411e9b
.text:00411e56 2d12080000 SUB EAX,0x812
LAB_00411e5b: ;XREF[1,0]: 00411e7c
.text:00411e5b 74e7 JZ LAB_00411e44
.text:00411e5d 83e801 SUB EAX,0x1
.text:00411e60 ebe0 JMP LAB_00411e42
LAB_00411e62: ;XREF[1,0]: 00411e1a
.text:00411e62 b9b1de0000 MOV ECX,0xdeb1
.text:00411e67 3bc1 CMP EAX,ECX
.text:00411e69 7713 JA LAB_00411e7e
.text:00411e6b 74d7 JZ LAB_00411e44
.text:00411e6d 2dadde0000 SUB EAX,0xdead
.text:00411e72 74d0 JZ LAB_00411e44
.text:00411e74 83e801 SUB EAX,0x1
.text:00411e77 74cb JZ LAB_00411e44
.text:00411e79 83e801 SUB EAX,0x1
.text:00411e7c ebdd JMP LAB_00411e5b
LAB_00411e7e: ;XREF[1,0]: 00411e69
.text:00411e7e 2db2de0000 SUB EAX,0xdeb2
.text:00411e83 74bf JZ LAB_00411e44
.text:00411e85 83e801 SUB EAX,0x1
.text:00411e88 74ba JZ LAB_00411e44
.text:00411e8a 2d351f0000 SUB EAX,0x1f35
.text:00411e8f 74b3 JZ LAB_00411e44
.text:00411e91 83e801 SUB EAX,0x1
.text:00411e94 7405 JZ LAB_00411e9b
LAB_00411e96: ;XREF[1,0]: 00411e42
.text:00411e96 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00411e99 5d POP EBP
.text:00411e9a c3 RET
LAB_00411e9b: ;XREF[2,0]: 00411e54,00411e94
.text:00411e9b 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00411e9e 83e008 AND EAX,0x8
.text:00411ea1 5d POP EBP
.text:00411ea2 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411ea3(uint param_1, uint param_2, LPCSTR param_3, int param_4, LPWSTR param_5, int param_6)
;param_1 uint 4 ;XREF[2,0]: 00411eb7,00411ec2
;param_2 uint 8 ;XREF[1,0]: 00411eb4
;param_3 LPCSTR c ;XREF[1,0]: 00411eb1
;param_4 int 10 ;XREF[1,0]: 00411eae
;param_5 LPWSTR 14 ;XREF[1,0]: 00411eab
;param_6 int 18 ;XREF[1,0]: 00411ea8
;XREF[13,0]: 0040ff37,0040ff7d,00410c6b,00410caf
; 00412987,004129f5,00416bff,0041785e
; 004178cd,004189bd,00418a30,00418a4c
; 00418ab6
.text:00411ea3 8bff MOV EDI,EDI
.text:00411ea5 55 PUSH EBP
.text:00411ea6 8bec MOV EBP,ESP
.text:00411ea8 ff751c PUSH dword ptr [EBP + param_6+0x4] ;int cchWideChar for MultiByteToWideChar
.text:00411eab ff7518 PUSH dword ptr [EBP + param_5+0x4] ;LPWSTR lpWideCharStr for MultiByteTo...
.text:00411eae ff7514 PUSH dword ptr [EBP + param_4+0x4] ;int cbMultiByte for MultiByteToWideChar
.text:00411eb1 ff7510 PUSH dword ptr [EBP + param_3+0x4] ;LPCSTR lpMultiByteStr for MultiByteT...
.text:00411eb4 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00411eb7 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00411eba e84cffffff CALL FUN_00411e0b ;uint FUN_00411e0b(uint param_1, uint...
.text:00411ebf 59 POP ECX
.text:00411ec0 59 POP ECX
.text:00411ec1 50 PUSH EAX ;DWORD dwFlags for MultiByteToWideChar
.text:00411ec2 ff7508 PUSH dword ptr [EBP + param_1+0x4] ;UINT CodePage for MultiByteToWideChar
.text:00411ec5 ff15c0b04100 CALL dword ptr [->KERNEL32.DLL::MultiByteT...;= 00022652
.text:00411ecb 5d POP EBP
.text:00411ecc c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00411ecd(uint param_1, uint param_2)
;param_1 uint 4 ;XREF[1,0]: 00411ed2
;param_2 uint 8 ;XREF[1,0]: 00411f4f
;XREF[1,0]: 00411f82
.text:00411ecd 8bff MOV EDI,EDI
.text:00411ecf 55 PUSH EBP
.text:00411ed0 8bec MOV EBP,ESP
.text:00411ed2 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00411ed5 b9acde0000 MOV ECX,0xdeac
.text:00411eda 3bc1 CMP EAX,ECX
.text:00411edc 773d JA LAB_00411f1b
.text:00411ede 7479 JZ LAB_00411f59
.text:00411ee0 b933c40000 MOV ECX,0xc433
.text:00411ee5 3bc1 CMP EAX,ECX
.text:00411ee7 771d JA LAB_00411f06
.text:00411ee9 746e JZ LAB_00411f59
.text:00411eeb 83e82a SUB EAX,0x2a
.text:00411eee 7469 JZ LAB_00411f59
.text:00411ef0 2d02c40000 SUB EAX,0xc402
.text:00411ef5 7462 JZ LAB_00411f59
.text:00411ef7 83e801 SUB EAX,0x1
.text:00411efa 745d JZ LAB_00411f59
.text:00411efc 83e801 SUB EAX,0x1
.text:00411eff 7458 JZ LAB_00411f59
.text:00411f01 83e803 SUB EAX,0x3
.text:00411f04 eb47 JMP LAB_00411f4d
LAB_00411f06: ;XREF[1,0]: 00411ee7
.text:00411f06 2d35c40000 SUB EAX,0xc435
.text:00411f0b 744c JZ LAB_00411f59
.text:00411f0d 2d63120000 SUB EAX,0x1263
.text:00411f12 7445 JZ LAB_00411f59
.text:00411f14 2d12080000 SUB EAX,0x812
.text:00411f19 eb2d JMP LAB_00411f48
LAB_00411f1b: ;XREF[1,0]: 00411edc
.text:00411f1b b9b1de0000 MOV ECX,0xdeb1
.text:00411f20 3bc1 CMP EAX,ECX
.text:00411f22 7713 JA LAB_00411f37
.text:00411f24 7433 JZ LAB_00411f59
.text:00411f26 2dadde0000 SUB EAX,0xdead
.text:00411f2b 742c JZ LAB_00411f59
.text:00411f2d 83e801 SUB EAX,0x1
.text:00411f30 7427 JZ LAB_00411f59
.text:00411f32 83e801 SUB EAX,0x1
.text:00411f35 eb11 JMP LAB_00411f48
LAB_00411f37: ;XREF[1,0]: 00411f22
.text:00411f37 2db2de0000 SUB EAX,0xdeb2
.text:00411f3c 741b JZ LAB_00411f59
.text:00411f3e 83e801 SUB EAX,0x1
.text:00411f41 7416 JZ LAB_00411f59
.text:00411f43 2d351f0000 SUB EAX,0x1f35
LAB_00411f48: ;XREF[2,0]: 00411f19,00411f35
.text:00411f48 740f JZ LAB_00411f59
.text:00411f4a 83e801 SUB EAX,0x1
LAB_00411f4d: ;XREF[1,0]: 00411f04
.text:00411f4d 740a JZ LAB_00411f59
.text:00411f4f 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00411f52 257fffffff AND EAX,0xffffff7f
.text:00411f57 5d POP EBP
.text:00411f58 c3 RET
LAB_00411f59: ;XREF[15,0]: 00411ede,00411ee9,00411eee,00411ef5
; 00411efa,00411eff,00411f0b,00411f12
; 00411f24,00411f2b,00411f30,00411f3c
; 00411f41,00411f48,00411f4d
.text:00411f59 33c0 XOR EAX,EAX
.text:00411f5b 5d POP EBP
.text:00411f5c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00411f5d(uint param_1, uint param_2, LPCWSTR param_3, int param_4, LPSTR param_5, int param_6, uint param_7, undefined4 * param_8)
;param_1 uint 4 ;XREF[1,0]: 00411f62
;param_2 uint 8 ;XREF[1,0]: 00411f7e
;param_3 LPCWSTR c ;XREF[1,0]: 00411fb9
;param_4 int 10 ;XREF[1,0]: 00411fb6
;param_5 LPSTR 14 ;XREF[1,0]: 00411fb3
;param_6 int 18 ;XREF[1,0]: 00411fb0
;param_7 uint 1c ;XREF[1,0]: 00411fa0
;param_8 undefined4 * 20 ;XREF[1,0]: 00411f87
;XREF[11,0]: 0040d2d4,0040d300,0040fe12,00410d1d
; 00411298,0041147d,00412030,00412075
; 00413d5f,004141ed,004179aa
.text:00411f5d 8bff MOV EDI,EDI
.text:00411f5f 55 PUSH EBP
.text:00411f60 8bec MOV EBP,ESP
.text:00411f62 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00411f65 53 PUSH EBX
.text:00411f66 56 PUSH ESI
.text:00411f67 57 PUSH EDI
.text:00411f68 81fae8fd0000 CMP EDX,0xfde8
.text:00411f6e 740c JZ LAB_00411f7c
.text:00411f70 81fae9fd0000 CMP EDX,0xfde9
.text:00411f76 7404 JZ LAB_00411f7c
.text:00411f78 32db XOR BL,BL
.text:00411f7a eb02 JMP LAB_00411f7e
LAB_00411f7c: ;XREF[2,0]: 00411f6e,00411f76
.text:00411f7c b301 MOV BL,0x1
LAB_00411f7e: ;XREF[1,0]: 00411f7a
.text:00411f7e ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00411f81 52 PUSH EDX
.text:00411f82 e846ffffff CALL FUN_00411ecd ;uint FUN_00411ecd(uint param_1, uint...
.text:00411f87 8b7d24 MOV EDI,dword ptr [EBP + param_8+0x4]
.text:00411f8a 59 POP ECX
.text:00411f8b 59 POP ECX
.text:00411f8c 0fb6cb MOVZX ECX,BL
.text:00411f8f f7d9 NEG ECX
.text:00411f91 0fb6f3 MOVZX ESI,BL
.text:00411f94 1bc9 SBB ECX,ECX
.text:00411f96 f7d1 NOT ECX
.text:00411f98 23cf AND ECX,EDI
.text:00411f9a f7de NEG ESI
.text:00411f9c 1bf6 SBB ESI,ESI
.text:00411f9e f7d6 NOT ESI
.text:00411fa0 237520 AND ESI,dword ptr [EBP + param_7+0x4]
.text:00411fa3 84db TEST BL,BL
.text:00411fa5 7407 JZ LAB_00411fae
.text:00411fa7 85ff TEST EDI,EDI
.text:00411fa9 7403 JZ LAB_00411fae
.text:00411fab 832700 AND dword ptr [EDI],0x0
LAB_00411fae: ;XREF[2,0]: 00411fa5,00411fa9
.text:00411fae 51 PUSH ECX ;LPBOOL lpUsedDefaultChar for WideCha...
.text:00411faf 56 PUSH ESI ;LPCSTR lpDefaultChar for WideCharToM...
.text:00411fb0 ff751c PUSH dword ptr [EBP + param_6+0x4] ;int cbMultiByte for WideCharToMultiByte
.text:00411fb3 ff7518 PUSH dword ptr [EBP + param_5+0x4] ;LPSTR lpMultiByteStr for WideCharToM...
.text:00411fb6 ff7514 PUSH dword ptr [EBP + param_4+0x4] ;int cchWideChar for WideCharToMultiByte
.text:00411fb9 ff7510 PUSH dword ptr [EBP + param_3+0x4] ;LPCWSTR lpWideCharStr for WideCharTo...
.text:00411fbc 50 PUSH EAX ;DWORD dwFlags for WideCharToMultiByte
.text:00411fbd 52 PUSH EDX ;UINT CodePage for WideCharToMultiByte
.text:00411fbe ff15c4b04100 CALL dword ptr [->KERNEL32.DLL::WideCharTo...;= 00022668
.text:00411fc4 5f POP EDI
.text:00411fc5 5e POP ESI
.text:00411fc6 5b POP EBX
.text:00411fc7 5d POP EBP
.text:00411fc8 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* wchar_t const * __cdecl find_end_of_double_null_terminated_sequence(wchar_t const * const) *
;* *
;* Libraries: Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 *
;************************************************************************************************
;wchar_t * find_end_of_double_null_terminated_sequence(wchar_t * param_1)
;param_1 wchar_t * 4 ;XREF[1,0]: 00411fce
;XREF[1,0]: 0041201a
.text:00411fc9 8bff MOV EDI,EDI
.text:00411fcb 55 PUSH EBP
.text:00411fcc 8bec MOV EBP,ESP
.text:00411fce 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00411fd1 57 PUSH EDI
.text:00411fd2 33ff XOR EDI,EDI
.text:00411fd4 66393a CMP word ptr [EDX],DI
.text:00411fd7 7421 JZ LAB_00411ffa
.text:00411fd9 56 PUSH ESI
LAB_00411fda: ;XREF[1,0]: 00411ff7
.text:00411fda 8bca MOV ECX,EDX
.text:00411fdc 8d7102 LEA ESI,[ECX + 0x2]
LAB_00411fdf: ;XREF[1,0]: 00411fe8
.text:00411fdf 668b01 MOV AX,word ptr [ECX]
.text:00411fe2 83c102 ADD ECX,0x2
.text:00411fe5 663bc7 CMP AX,DI
.text:00411fe8 75f5 JNZ LAB_00411fdf
.text:00411fea 2bce SUB ECX,ESI
.text:00411fec d1f9 SAR ECX,0x1
.text:00411fee 8d144a LEA EDX,[EDX + ECX*0x2]
.text:00411ff1 83c202 ADD EDX,0x2
.text:00411ff4 66393a CMP word ptr [EDX],DI
.text:00411ff7 75e1 JNZ LAB_00411fda
.text:00411ff9 5e POP ESI
LAB_00411ffa: ;XREF[1,0]: 00411fd7
.text:00411ffa 8d4202 LEA EAX,[EDX + 0x2]
.text:00411ffd 5f POP EDI
.text:00411ffe 5d POP EBP
.text:00411fff c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;LPWCH FUN_00412000(void)
;local_8 undefined4 -8 ;XREF[2,0]: 00412038,0041206b
;local_c undefined4 -c ;XREF[2,0]: 0041202d,0041206f
;XREF[1,0]: 0040d15b
.text:00412000 8bff MOV EDI,EDI
.text:00412002 55 PUSH EBP
.text:00412003 8bec MOV EBP,ESP
.text:00412005 51 PUSH ECX
.text:00412006 51 PUSH ECX
.text:00412007 56 PUSH ESI
.text:00412008 ff15c8b04100 CALL dword ptr [->KERNEL32.DLL::GetEnviron...;= 0002267e
.text:0041200e 8bf0 MOV ESI,EAX
.text:00412010 85f6 TEST ESI,ESI
.text:00412012 0f8485000000 JZ LAB_0041209d
.text:00412018 53 PUSH EBX
.text:00412019 56 PUSH ESI
.text:0041201a e8aaffffff CALL find_end_of_double_null_terminated_se...;wchar_t * find_end_of_double_null_te...
.text:0041201f 33db XOR EBX,EBX
.text:00412021 2bc6 SUB EAX,ESI
.text:00412023 53 PUSH EBX
.text:00412024 53 PUSH EBX
.text:00412025 53 PUSH EBX
.text:00412026 53 PUSH EBX
.text:00412027 d1f8 SAR EAX,0x1
.text:00412029 50 PUSH EAX
.text:0041202a 56 PUSH ESI
.text:0041202b 53 PUSH EBX
.text:0041202c 53 PUSH EBX
.text:0041202d 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00412030 e828ffffff CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:00412035 83c424 ADD ESP,0x24
.text:00412038 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0041203b 85c0 TEST EAX,EAX
.text:0041203d 750b JNZ LAB_0041204a
.text:0041203f 56 PUSH ESI ;LPWCH param_1 for FreeEnvironmentStr...
.text:00412040 ff15ccb04100 CALL dword ptr [->KERNEL32.DLL::FreeEnviro...;= 00022698
.text:00412046 33c0 XOR EAX,EAX
.text:00412048 eb52 JMP LAB_0041209c
LAB_0041204a: ;XREF[1,0]: 0041203d
.text:0041204a 57 PUSH EDI
.text:0041204b 50 PUSH EAX
.text:0041204c e880cdffff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:00412051 8bf8 MOV EDI,EAX
.text:00412053 59 POP ECX
.text:00412054 53 PUSH EBX
.text:00412055 85ff TEST EDI,EDI
.text:00412057 7511 JNZ LAB_0041206a
.text:00412059 e816c3ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041205e 59 POP ECX
.text:0041205f 56 PUSH ESI ;LPWCH param_1 for FreeEnvironmentStr...
.text:00412060 ff15ccb04100 CALL dword ptr [->KERNEL32.DLL::FreeEnviro...;= 00022698
.text:00412066 33c0 XOR EAX,EAX
.text:00412068 eb31 JMP LAB_0041209b
LAB_0041206a: ;XREF[1,0]: 00412057
.text:0041206a 53 PUSH EBX
.text:0041206b ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:0041206e 57 PUSH EDI
.text:0041206f ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:00412072 56 PUSH ESI
.text:00412073 53 PUSH EBX
.text:00412074 53 PUSH EBX
.text:00412075 e8e3feffff CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:0041207a 83c420 ADD ESP,0x20
.text:0041207d 85c0 TEST EAX,EAX
.text:0041207f 7508 JNZ LAB_00412089
.text:00412081 57 PUSH EDI
.text:00412082 e8edc2ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412087 eb08 JMP LAB_00412091
LAB_00412089: ;XREF[1,0]: 0041207f
.text:00412089 53 PUSH EBX
.text:0041208a e8e5c2ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041208f 8bdf MOV EBX,EDI
LAB_00412091: ;XREF[1,0]: 00412087
.text:00412091 59 POP ECX
.text:00412092 56 PUSH ESI ;LPWCH param_1 for FreeEnvironmentStr...
.text:00412093 ff15ccb04100 CALL dword ptr [->KERNEL32.DLL::FreeEnviro...;= 00022698
.text:00412099 8bc3 MOV EAX,EBX
LAB_0041209b: ;XREF[1,0]: 00412068
.text:0041209b 5f POP EDI
LAB_0041209c: ;XREF[1,0]: 00412048
.text:0041209c 5b POP EBX
LAB_0041209d: ;XREF[1,0]: 00412012
.text:0041209d 5e POP ESI
.text:0041209e c9 LEAVE
.text:0041209f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_004120a0(char * param_1, int param_2)
;param_1 char * 4 ;XREF[3,0]: 004120aa,00412271,00412289
;param_2 int 8 ;XREF[2,0]: 004120f9,0041223e
;local_5 undefined1 -5 ;XREF[5,0]: 004120e7,0041212a,004121a9,004121e8,00412294
;local_c undefined4 -c ;XREF[6,0]: 0041217a,00412192,004121ae,004121de,00412217
; 0041221f
;local_10 undefined4 -10 ;XREF[8,0]: 0041218d,004121a6,004121ca,004121d2,004121f3
; 0041222d,00412259,00412274
;local_14 undefined4 -14 ;XREF[3,0]: 004120cf,00412181,00412284
;XREF[1,0]: 00412425
.text:004120a0 8bff MOV EDI,EDI
.text:004120a2 55 PUSH EBP
.text:004120a3 8bec MOV EBP,ESP
.text:004120a5 83ec10 SUB ESP,0x10
.text:004120a8 53 PUSH EBX
.text:004120a9 56 PUSH ESI
.text:004120aa 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004120ad 85f6 TEST ESI,ESI
.text:004120af 7513 JNZ LAB_004120c4
.text:004120b1 e84ec2ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004120b6 c70016000000 MOV dword ptr [EAX],0x16
.text:004120bc 83c8ff OR EAX,0xffffffff
.text:004120bf e92d020000 JMP LAB_004122f1
LAB_004120c4: ;XREF[1,0]: 004120af
.text:004120c4 57 PUSH EDI
.text:004120c5 6a3d PUSH 0x3d
.text:004120c7 56 PUSH ESI
.text:004120c8 8bfe MOV EDI,ESI
.text:004120ca e8b18a0000 CALL _strchr ;char * _strchr(char * _Str, int _Val)
.text:004120cf 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:004120d2 59 POP ECX
.text:004120d3 59 POP ECX
.text:004120d4 85c0 TEST EAX,EAX
.text:004120d6 0f84ff010000 JZ LAB_004122db
.text:004120dc 3bc6 CMP EAX,ESI
.text:004120de 0f84f7010000 JZ LAB_004122db
.text:004120e4 8a4001 MOV AL,byte ptr [EAX + 0x1]
.text:004120e7 8845ff MOV byte ptr [EBP + local_5+0x4],AL
.text:004120ea e8c1020000 CALL ensure_current_environment_is_not_ini...;void ensure_current_environment_is_n...
.text:004120ef 33db XOR EBX,EBX
.text:004120f1 391d383e4200 CMP dword ptr [.data:DAT_00423e38],EBX ;= ??
.text:004120f7 757c JNZ LAB_00412175
.text:004120f9 395d0c CMP dword ptr [EBP + param_2+0x4],EBX
.text:004120fc 742c JZ LAB_0041212a
.text:004120fe 391d3c3e4200 CMP dword ptr [.data:DAT_00423e3c],EBX ;= ??
.text:00412104 7424 JZ LAB_0041212a
.text:00412106 e862b2ffff CALL common_get_or_create_environment_nolo...;int common_get_or_create_environment...
.text:0041210b 85c0 TEST EAX,EAX
.text:0041210d 7514 JNZ LAB_00412123
.text:0041210f e8f0c1ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00412114 c70016000000 MOV dword ptr [EAX],0x16
LAB_0041211a: ;XREF[6,0]: 0041214c,00412173,0041217f,004121fb
; 00412207,00412227
.text:0041211a 83cbff OR EBX,0xffffffff
LAB_0041211d: ;XREF[2,0]: 0041212d,004121eb
.text:0041211d 56 PUSH ESI
.text:0041211e e99e010000 JMP LAB_004122c1
LAB_00412123: ;XREF[1,0]: 0041210d
.text:00412123 e888020000 CALL ensure_current_environment_is_not_ini...;void ensure_current_environment_is_n...
.text:00412128 eb4b JMP LAB_00412175
LAB_0041212a: ;XREF[2,0]: 004120fc,00412104
.text:0041212a 385dff CMP byte ptr [EBP + local_5+0x4],BL
.text:0041212d 74ee JZ LAB_0041211d
.text:0041212f 6a04 PUSH 0x4
.text:00412131 6a01 PUSH 0x1
.text:00412133 e8dfc1ffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:00412138 53 PUSH EBX
.text:00412139 a3383e4200 MOV [.data:DAT_00423e38],EAX ;= ??
.text:0041213e e831c2ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412143 83c40c ADD ESP,0xc
.text:00412146 391d383e4200 CMP dword ptr [.data:DAT_00423e38],EBX ;= ??
.text:0041214c 74cc JZ LAB_0041211a
.text:0041214e 391d3c3e4200 CMP dword ptr [.data:DAT_00423e3c],EBX ;= ??
.text:00412154 751f JNZ LAB_00412175
.text:00412156 6a04 PUSH 0x4
.text:00412158 6a01 PUSH 0x1
.text:0041215a e8b8c1ffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:0041215f 53 PUSH EBX
.text:00412160 a33c3e4200 MOV [.data:DAT_00423e3c],EAX ;= ??
.text:00412165 e80ac2ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041216a 83c40c ADD ESP,0xc
.text:0041216d 391d3c3e4200 CMP dword ptr [.data:DAT_00423e3c],EBX ;= ??
.text:00412173 74a5 JZ LAB_0041211a
LAB_00412175: ;XREF[3,0]: 004120f7,00412128,00412154
.text:00412175 a1383e4200 MOV EAX,[.data:DAT_00423e38] ;= ??
.text:0041217a 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0041217d 85c0 TEST EAX,EAX
.text:0041217f 7499 JZ LAB_0041211a
.text:00412181 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00412184 2bc6 SUB EAX,ESI
.text:00412186 50 PUSH EAX
.text:00412187 56 PUSH ESI
.text:00412188 e83d020000 CALL find_in_environment_nolock ;int find_in_environment_nolock...
.text:0041218d 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00412190 59 POP ECX
.text:00412191 59 POP ECX
.text:00412192 8b4df8 MOV ECX,dword ptr [EBP + local_c+0x4]
.text:00412195 85c0 TEST EAX,EAX
.text:00412197 784f JS LAB_004121e8
.text:00412199 3919 CMP dword ptr [ECX],EBX
.text:0041219b 744b JZ LAB_004121e8
.text:0041219d ff3481 PUSH dword ptr [ECX + EAX*0x4]
.text:004121a0 e8cfc1ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004121a5 59 POP ECX
.text:004121a6 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:004121a9 385dff CMP byte ptr [EBP + local_5+0x4],BL
.text:004121ac 7530 JNZ LAB_004121de
.text:004121ae 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:004121b1 eb08 JMP LAB_004121bb
LAB_004121b3: ;XREF[1,0]: 004121be
.text:004121b3 8b448a04 MOV EAX,dword ptr [EDX + ECX*0x4 + 0x4]
.text:004121b7 89048a MOV dword ptr [EDX + ECX*0x4],EAX
.text:004121ba 41 INC ECX
LAB_004121bb: ;XREF[1,0]: 004121b1
.text:004121bb 391c8a CMP dword ptr [EDX + ECX*0x4],EBX
.text:004121be 75f3 JNZ LAB_004121b3
.text:004121c0 6a04 PUSH 0x4
.text:004121c2 51 PUSH ECX
.text:004121c3 52 PUSH EDX
.text:004121c4 e8310c0000 CALL __recalloc_base ;LPVOID __recalloc_base(void * param_...
.text:004121c9 53 PUSH EBX
.text:004121ca 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:004121cd e8a2c1ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004121d2 8b45f4 MOV EAX,dword ptr [EBP + local_10+0x4]
.text:004121d5 83c410 ADD ESP,0x10
.text:004121d8 85c0 TEST EAX,EAX
.text:004121da 7462 JZ LAB_0041223e
.text:004121dc eb5b JMP LAB_00412239
LAB_004121de: ;XREF[1,0]: 004121ac
.text:004121de 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:004121e1 8bfb MOV EDI,EBX
.text:004121e3 893488 MOV dword ptr [EAX + ECX*0x4],ESI
.text:004121e6 eb56 JMP LAB_0041223e
LAB_004121e8: ;XREF[2,0]: 00412197,0041219b
.text:004121e8 385dff CMP byte ptr [EBP + local_5+0x4],BL
.text:004121eb 0f842cffffff JZ LAB_0041211d
.text:004121f1 f7d8 NEG EAX
.text:004121f3 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:004121f6 8d5002 LEA EDX,[EAX + 0x2]
.text:004121f9 3bd0 CMP EDX,EAX
.text:004121fb 0f8219ffffff JC LAB_0041211a
.text:00412201 81faffffff3f CMP EDX,0x3fffffff
.text:00412207 0f830dffffff JNC LAB_0041211a
.text:0041220d 6a04 PUSH 0x4
.text:0041220f 52 PUSH EDX
.text:00412210 51 PUSH ECX
.text:00412211 e8e40b0000 CALL __recalloc_base ;LPVOID __recalloc_base(void * param_...
.text:00412216 53 PUSH EBX
.text:00412217 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0041221a e855c1ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041221f 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00412222 83c410 ADD ESP,0x10
.text:00412225 85c0 TEST EAX,EAX
.text:00412227 0f84edfeffff JZ LAB_0041211a
.text:0041222d 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:00412230 8bfb MOV EDI,EBX
.text:00412232 893488 MOV dword ptr [EAX + ECX*0x4],ESI
.text:00412235 895c8804 MOV dword ptr [EAX + ECX*0x4 + 0x4],EBX
LAB_00412239: ;XREF[1,0]: 004121dc
.text:00412239 a3383e4200 MOV [.data:DAT_00423e38],EAX ;= ??
LAB_0041223e: ;XREF[2,0]: 004121da,004121e6
.text:0041223e 395d0c CMP dword ptr [EBP + param_2+0x4],EBX
.text:00412241 0f848a000000 JZ LAB_004122d1
.text:00412247 8d4e01 LEA ECX,[ESI + 0x1]
LAB_0041224a: ;XREF[1,0]: 0041224f
.text:0041224a 8a06 MOV AL,byte ptr [ESI]
.text:0041224c 46 INC ESI
.text:0041224d 84c0 TEST AL,AL
.text:0041224f 75f9 JNZ LAB_0041224a
.text:00412251 2bf1 SUB ESI,ECX
.text:00412253 6a01 PUSH 0x1
.text:00412255 8d4602 LEA EAX,[ESI + 0x2]
.text:00412258 50 PUSH EAX
.text:00412259 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0041225c e8b6c0ffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:00412261 8bf0 MOV ESI,EAX
.text:00412263 59 POP ECX
.text:00412264 59 POP ECX
.text:00412265 85f6 TEST ESI,ESI
.text:00412267 7508 JNZ LAB_00412271
.text:00412269 53 PUSH EBX
.text:0041226a e805c1ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041226f eb4e JMP LAB_004122bf
LAB_00412271: ;XREF[1,0]: 00412267
.text:00412271 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00412274 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:00412277 56 PUSH ESI
.text:00412278 e872b8ffff CALL FUN_0040daef ;undefined4 FUN_0040daef(char * param...
.text:0041227d 83c40c ADD ESP,0xc
.text:00412280 85c0 TEST EAX,EAX
.text:00412282 7571 JNZ LAB_004122f5
.text:00412284 8b55f0 MOV EDX,dword ptr [EBP + local_14+0x4]
.text:00412287 8bc6 MOV EAX,ESI
.text:00412289 2b4508 SUB EAX,dword ptr [EBP + param_1+0x4]
.text:0041228c 8d4a01 LEA ECX,[EDX + 0x1]
.text:0041228f 03c8 ADD ECX,EAX
.text:00412291 881c10 MOV byte ptr [EAX + EDX*0x1],BL
.text:00412294 0fbe45ff MOVSX EAX,byte ptr [EBP + local_5+0x4]
.text:00412298 f7d8 NEG EAX
.text:0041229a 1bc0 SBB EAX,EAX
.text:0041229c 23c1 AND EAX,ECX
.text:0041229e 50 PUSH EAX
.text:0041229f 56 PUSH ESI
.text:004122a0 e897580000 CALL ___acrt_SetEnvironmentVariableA ;BOOL ___acrt_SetEnvironmentVariableA...
.text:004122a5 59 POP ECX
.text:004122a6 59 POP ECX
.text:004122a7 85c0 TEST EAX,EAX
.text:004122a9 751f JNZ LAB_004122ca
.text:004122ab e854c0ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004122b0 56 PUSH ESI
.text:004122b1 c7002a000000 MOV dword ptr [EAX],0x2a
.text:004122b7 e8b8c0ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004122bc 83cbff OR EBX,0xffffffff
LAB_004122bf: ;XREF[1,0]: 0041226f
.text:004122bf 59 POP ECX
.text:004122c0 57 PUSH EDI
LAB_004122c1: ;XREF[1,0]: 0041211e
.text:004122c1 e8aec0ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004122c6 8bc3 MOV EAX,EBX
.text:004122c8 eb25 JMP LAB_004122ef
LAB_004122ca: ;XREF[1,0]: 004122a9
.text:004122ca 56 PUSH ESI
.text:004122cb e8a4c0ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004122d0 59 POP ECX
LAB_004122d1: ;XREF[1,0]: 00412241
.text:004122d1 57 PUSH EDI
.text:004122d2 e89dc0ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004122d7 33c0 XOR EAX,EAX
.text:004122d9 eb14 JMP LAB_004122ef
LAB_004122db: ;XREF[2,0]: 004120d6,004120de
.text:004122db e824c0ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004122e0 56 PUSH ESI
.text:004122e1 c70016000000 MOV dword ptr [EAX],0x16
.text:004122e7 e888c0ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004122ec 83c8ff OR EAX,0xffffffff
LAB_004122ef: ;XREF[2,0]: 004122c8,004122d9
.text:004122ef 59 POP ECX
.text:004122f0 5f POP EDI
LAB_004122f1: ;XREF[1,0]: 004120bf
.text:004122f1 5e POP ESI
.text:004122f2 5b POP EBX
.text:004122f3 c9 LEAVE
.text:004122f4 c3 RET
LAB_004122f5: ;XREF[1,0]: 00412282
.text:004122f5 53 PUSH EBX
.text:004122f6 53 PUSH EBX
.text:004122f7 53 PUSH EBX
.text:004122f8 53 PUSH EBX
.text:004122f9 53 PUSH EBX
.text:004122fa e834bfffff CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:004122ff cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* char * * __cdecl copy_environment(char * * const) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;char * * copy_environment(char * * param_1)
;param_1 char * * 4 ;XREF[1,0]: 00412307
;local_8 undefined4 -8 ;XREF[2,0]: 00412355,00412372
;XREF[1,0]: 004123be
.text:00412300 8bff MOV EDI,EDI
.text:00412302 55 PUSH EBP
.text:00412303 8bec MOV EBP,ESP
.text:00412305 51 PUSH ECX
.text:00412306 57 PUSH EDI
.text:00412307 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0041230a 85ff TEST EDI,EDI
.text:0041230c 7505 JNZ LAB_00412313
.text:0041230e 33c0 XOR EAX,EAX
LAB_00412310: ;XREF[1,0]: 00412399
.text:00412310 5f POP EDI
.text:00412311 c9 LEAVE
.text:00412312 c3 RET
LAB_00412313: ;XREF[1,0]: 0041230c
.text:00412313 33c9 XOR ECX,ECX
.text:00412315 8bc7 MOV EAX,EDI
.text:00412317 390f CMP dword ptr [EDI],ECX
.text:00412319 7409 JZ LAB_00412324
LAB_0041231b: ;XREF[1,0]: 00412322
.text:0041231b 8d4004 LEA EAX,[EAX + 0x4]
.text:0041231e 41 INC ECX
.text:0041231f 833800 CMP dword ptr [EAX],0x0
.text:00412322 75f7 JNZ LAB_0041231b
LAB_00412324: ;XREF[1,0]: 00412319
.text:00412324 56 PUSH ESI
.text:00412325 8d4101 LEA EAX,[ECX + 0x1]
.text:00412328 6a04 PUSH 0x4
.text:0041232a 50 PUSH EAX
.text:0041232b e8e7bfffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:00412330 8bf0 MOV ESI,EAX
.text:00412332 59 POP ECX
.text:00412333 59 POP ECX
.text:00412334 85f6 TEST ESI,ESI
.text:00412336 7466 JZ LAB_0041239e
.text:00412338 8b0f MOV ECX,dword ptr [EDI]
.text:0041233a 85c9 TEST ECX,ECX
.text:0041233c 7450 JZ LAB_0041238e
.text:0041233e 53 PUSH EBX
.text:0041233f 8bde MOV EBX,ESI
.text:00412341 2bdf SUB EBX,EDI
LAB_00412343: ;XREF[1,0]: 0041238b
.text:00412343 8d5101 LEA EDX,[ECX + 0x1]
LAB_00412346: ;XREF[1,0]: 0041234b
.text:00412346 8a01 MOV AL,byte ptr [ECX]
.text:00412348 41 INC ECX
.text:00412349 84c0 TEST AL,AL
.text:0041234b 75f9 JNZ LAB_00412346
.text:0041234d 2bca SUB ECX,EDX
.text:0041234f 6a01 PUSH 0x1
.text:00412351 8d4101 LEA EAX,[ECX + 0x1]
.text:00412354 50 PUSH EAX
.text:00412355 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00412358 e8babfffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:0041235d 6a00 PUSH 0x0
.text:0041235f 89043b MOV dword ptr [EBX + EDI*0x1],EAX
.text:00412362 e80dc0ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412367 83c40c ADD ESP,0xc
.text:0041236a 833c3b00 CMP dword ptr [EBX + EDI*0x1],0x0
.text:0041236e 742e JZ LAB_0041239e
.text:00412370 ff37 PUSH dword ptr [EDI]
.text:00412372 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:00412375 ff343b PUSH dword ptr [EBX + EDI*0x1]
.text:00412378 e872b7ffff CALL FUN_0040daef ;undefined4 FUN_0040daef(char * param...
.text:0041237d 83c40c ADD ESP,0xc
.text:00412380 85c0 TEST EAX,EAX
.text:00412382 751f JNZ LAB_004123a3
.text:00412384 83c704 ADD EDI,0x4
.text:00412387 8b0f MOV ECX,dword ptr [EDI]
.text:00412389 85c9 TEST ECX,ECX
.text:0041238b 75b6 JNZ LAB_00412343
.text:0041238d 5b POP EBX
LAB_0041238e: ;XREF[1,0]: 0041233c
.text:0041238e 6a00 PUSH 0x0
.text:00412390 e8dfbfffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412395 59 POP ECX
.text:00412396 8bc6 MOV EAX,ESI
.text:00412398 5e POP ESI
.text:00412399 e972ffffff JMP LAB_00412310
LAB_0041239e: ;XREF[2,0]: 00412336,0041236e
.text:0041239e e8a6b7ffff CALL _abort ;void _abort(void)
LAB_004123a3: ;XREF[1,0]: 00412382
.text:004123a3 33c0 XOR EAX,EAX
.text:004123a5 50 PUSH EAX
.text:004123a6 50 PUSH EAX
.text:004123a7 50 PUSH EAX
.text:004123a8 50 PUSH EAX
.text:004123a9 50 PUSH EAX
.text:004123aa e884beffff CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:004123af cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl ensure_current_environment_is_not_initial_environment_nolock(void) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void ensure_current_environment_is_not_initial_environment_nolock(void)
;XREF[2,0]: 004120ea,00412123
.text:004123b0 a1383e4200 MOV EAX,[.data:DAT_00423e38] ;= ??
.text:004123b5 3b05443e4200 CMP EAX,dword ptr [.data:DAT_00423e44] ;= ??
.text:004123bb 750c JNZ LAB_004123c9
.text:004123bd 50 PUSH EAX
.text:004123be e83dffffff CALL copy_environment ;char * * copy_environment(char...
.text:004123c3 59 POP ECX
.text:004123c4 a3383e4200 MOV [.data:DAT_00423e38],EAX ;= ??
LAB_004123c9: ;XREF[1,0]: 004123bb
.text:004123c9 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* int __cdecl find_in_environment_nolock(char const * const,unsigned int) *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;int find_in_environment_nolock(char * param_1, uint param_2)
;param_1 char * 4 ;XREF[1,0]: 004123e5
;param_2 uint 8 ;XREF[1,0]: 004123e0
;XREF[1,0]: 00412188
.text:004123ca 8bff MOV EDI,EDI
.text:004123cc 55 PUSH EBP
.text:004123cd 8bec MOV EBP,ESP
.text:004123cf 53 PUSH EBX
.text:004123d0 56 PUSH ESI
.text:004123d1 57 PUSH EDI
.text:004123d2 8b3d383e4200 MOV EDI,dword ptr [.data:DAT_00423e38] ;= ??
.text:004123d8 8bf7 MOV ESI,EDI
.text:004123da 8b07 MOV EAX,dword ptr [EDI]
.text:004123dc 85c0 TEST EAX,EAX
.text:004123de 742a JZ LAB_0041240a
.text:004123e0 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
LAB_004123e3: ;XREF[1,0]: 00412408
.text:004123e3 53 PUSH EBX
.text:004123e4 50 PUSH EAX
.text:004123e5 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004123e8 e85e560000 CALL __strnicoll ;int __strnicoll(char * _Str1, char *...
.text:004123ed 83c40c ADD ESP,0xc
.text:004123f0 85c0 TEST EAX,EAX
.text:004123f2 750d JNZ LAB_00412401
.text:004123f4 8b06 MOV EAX,dword ptr [ESI]
.text:004123f6 8a0403 MOV AL,byte ptr [EBX + EAX*0x1]
.text:004123f9 3c3d CMP AL,0x3d
.text:004123fb 741b JZ LAB_00412418
.text:004123fd 84c0 TEST AL,AL
.text:004123ff 7417 JZ LAB_00412418
LAB_00412401: ;XREF[1,0]: 004123f2
.text:00412401 83c604 ADD ESI,0x4
.text:00412404 8b06 MOV EAX,dword ptr [ESI]
.text:00412406 85c0 TEST EAX,EAX
.text:00412408 75d9 JNZ LAB_004123e3
LAB_0041240a: ;XREF[1,0]: 004123de
.text:0041240a 2bf7 SUB ESI,EDI
.text:0041240c c1fe02 SAR ESI,0x2
.text:0041240f f7de NEG ESI
LAB_00412411: ;XREF[1,0]: 0041241d
.text:00412411 5f POP EDI
.text:00412412 8bc6 MOV EAX,ESI
.text:00412414 5e POP ESI
.text:00412415 5b POP EBX
.text:00412416 5d POP EBP
.text:00412417 c3 RET
LAB_00412418: ;XREF[2,0]: 004123fb,004123ff
.text:00412418 2bf7 SUB ESI,EDI
.text:0041241a c1fe02 SAR ESI,0x2
.text:0041241d ebf2 JMP LAB_00412411
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041241f(char * param_1, int param_2)
;param_1 char * 4
;param_2 int 8
;XREF[1,0]: 0040d30e
.text:0041241f 8bff MOV EDI,EDI
.text:00412421 55 PUSH EBP
.text:00412422 8bec MOV EBP,ESP
.text:00412424 5d POP EBP
.text:00412425 e976fcffff JMP FUN_004120a0 ;undefined4 FUN_004120a0(char * param...
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_lowio_create_handle_array *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 * ___acrt_lowio_create_handle_array(void)
;local_c undefined4 -c ;XREF[2,0]: 00412440,00412494
;XREF[1,0]: 00412538
.text:0041242a 8bff MOV EDI,EDI
.text:0041242c 55 PUSH EBP
.text:0041242d 8bec MOV EBP,ESP
.text:0041242f 51 PUSH ECX
.text:00412430 51 PUSH ECX
.text:00412431 53 PUSH EBX
.text:00412432 56 PUSH ESI
.text:00412433 6a38 PUSH 0x38
.text:00412435 6a40 PUSH 0x40
.text:00412437 e8dbbeffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:0041243c 8bf0 MOV ESI,EAX
.text:0041243e 33db XOR EBX,EBX
.text:00412440 8975f8 MOV dword ptr [EBP + local_c+0x4],ESI
.text:00412443 59 POP ECX
.text:00412444 59 POP ECX
.text:00412445 85f6 TEST ESI,ESI
.text:00412447 7504 JNZ LAB_0041244d
.text:00412449 8bf3 MOV ESI,EBX
.text:0041244b eb4b JMP LAB_00412498
LAB_0041244d: ;XREF[1,0]: 00412447
.text:0041244d 8d86000e0000 LEA EAX,[ESI + 0xe00]
.text:00412453 3bf0 CMP ESI,EAX
.text:00412455 7441 JZ LAB_00412498
.text:00412457 57 PUSH EDI
.text:00412458 8d7e20 LEA EDI,[ESI + 0x20]
.text:0041245b 8bf0 MOV ESI,EAX
LAB_0041245d: ;XREF[1,0]: 00412492
.text:0041245d 53 PUSH EBX
.text:0041245e 68a00f0000 PUSH 0xfa0
.text:00412463 8d47e0 LEA EAX,[EDI + -0x20]
.text:00412466 50 PUSH EAX
.text:00412467 e8b5c2ffff CALL ___acrt_InitializeCriticalSectionEx@12 ;undefined ___acrt_InitializeCritical...
.text:0041246c 834ff8ff OR dword ptr [EDI + -0x8],0xffffffff
.text:00412470 80670df8 AND byte ptr [EDI + 0xd],0xf8
.text:00412474 891f MOV dword ptr [EDI],EBX
.text:00412476 8d7f38 LEA EDI,[EDI + 0x38]
.text:00412479 895fcc MOV dword ptr [EDI + -0x34],EBX
.text:0041247c 8d47e0 LEA EAX,[EDI + -0x20]
.text:0041247f c747d0000... MOV dword ptr [EDI + -0x30],0xa0a0000
.text:00412486 c647d40a MOV byte ptr [EDI + -0x2c],0xa
.text:0041248a 895fd6 MOV dword ptr [EDI + -0x2a],EBX
.text:0041248d 885fda MOV byte ptr [EDI + -0x26],BL
.text:00412490 3bc6 CMP EAX,ESI
.text:00412492 75c9 JNZ LAB_0041245d
.text:00412494 8b75f8 MOV ESI,dword ptr [EBP + local_c+0x4]
.text:00412497 5f POP EDI
LAB_00412498: ;XREF[2,0]: 0041244b,00412455
.text:00412498 53 PUSH EBX
.text:00412499 e8d6beffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041249e 59 POP ECX
.text:0041249f 8bc6 MOV EAX,ESI
.text:004124a1 5e POP ESI
.text:004124a2 5b POP EBX
.text:004124a3 c9 LEAVE
.text:004124a4 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_lowio_destroy_handle_array *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_lowio_destroy_handle_array(LPCRITICAL_SECTION param_1)
;param_1 LPCRITICAL_... 4 ;XREF[1,0]: 004124ab
;XREF[1,0]: 0040edb5
.text:004124a5 8bff MOV EDI,EDI
.text:004124a7 55 PUSH EBP
.text:004124a8 8bec MOV EBP,ESP
.text:004124aa 56 PUSH ESI
.text:004124ab 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004124ae 85f6 TEST ESI,ESI
.text:004124b0 7425 JZ LAB_004124d7
.text:004124b2 53 PUSH EBX
.text:004124b3 8d9e000e0000 LEA EBX,[ESI + 0xe00]
.text:004124b9 57 PUSH EDI
.text:004124ba 8bfe MOV EDI,ESI
.text:004124bc 3bf3 CMP ESI,EBX
.text:004124be 740e JZ LAB_004124ce
LAB_004124c0: ;XREF[1,0]: 004124cc
.text:004124c0 57 PUSH EDI ;LPCRITICAL_SECTION lpCriticalSection...
.text:004124c1 ff1548b04100 CALL dword ptr [->KERNEL32.DLL::DeleteCrit...;= 00022466
.text:004124c7 83c738 ADD EDI,0x38
.text:004124ca 3bfb CMP EDI,EBX
.text:004124cc 75f2 JNZ LAB_004124c0
LAB_004124ce: ;XREF[1,0]: 004124be
.text:004124ce 56 PUSH ESI
.text:004124cf e8a0beffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004124d4 59 POP ECX
.text:004124d5 5f POP EDI
.text:004124d6 5b POP EBX
LAB_004124d7: ;XREF[1,0]: 004124b0
.text:004124d7 5e POP ESI
.text:004124d8 5d POP EBP
.text:004124d9 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_lowio_ensure_fh_exists *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___acrt_lowio_ensure_fh_exists(uint param_1)
;param_1 uint 4 ;XREF[2,0]: 004124e6,0041252a
;local_8 undefined4 -8 ;XREF[2,0]: 0041251d,0041254e
;local_14 undefined4 -14 ;XREF[1,0]: 00412500
;local_20 undefined4 -20 ;XREF[2,0]: 00412512,0041254b
;local_24 undefined4 -24 ;XREF[1,0]: 00412527
;XREF[2,0]: 0040ec1f,0040ed62
.text:004124da 6a10 PUSH 0x10
.text:004124dc 6800204200 PUSH .rdata:DAT_00422000 ;= FEh
.text:004124e1 e81afafeff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:004124e6 817d08002... CMP dword ptr [EBP + param_1+0x4],0x2000
.text:004124ed 7221 JC LAB_00412510
.text:004124ef e810beffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004124f4 6a09 PUSH 0x9
.text:004124f6 5e POP ESI
.text:004124f7 8930 MOV dword ptr [EAX],ESI
.text:004124f9 e825bdffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_004124fe: ;XREF[1,0]: 0041255a
.text:004124fe 8bc6 MOV EAX,ESI
.text:00412500 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00412503 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:0041250a 59 POP ECX
.text:0041250b 5f POP EDI
.text:0041250c 5e POP ESI
.text:0041250d 5b POP EBX
.text:0041250e c9 LEAVE
.text:0041250f c3 RET
LAB_00412510: ;XREF[1,0]: 004124ed
.text:00412510 33f6 XOR ESI,ESI
.text:00412512 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:00412515 6a07 PUSH 0x7
.text:00412517 e837baffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:0041251c 59 POP ECX
.text:0041251d 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
.text:00412520 8bfe MOV EDI,ESI
.text:00412522 a1c8424200 MOV EAX,[.data:DAT_004242c8] ;= ??
LAB_00412527: ;XREF[1,0]: 0041256a
.text:00412527 897de0 MOV dword ptr [EBP + local_24+0x4],EDI
.text:0041252a 394508 CMP dword ptr [EBP + param_1+0x4],EAX
.text:0041252d 7c1f JL LAB_0041254e
.text:0041252f 3934bdc84... CMP dword ptr [EDI*0...,ESI ;= ??
.text:00412536 7531 JNZ LAB_00412569
.text:00412538 e8edfeffff CALL ___acrt_lowio_create_handle_array ;undefined4 * ___acrt_lowio_create_ha...
.text:0041253d 8904bdc84... MOV dword ptr [EDI*0...,EAX ;= ??
.text:00412544 85c0 TEST EAX,EAX
.text:00412546 7514 JNZ LAB_0041255c
.text:00412548 6a0c PUSH 0xc
.text:0041254a 5e POP ESI
.text:0041254b 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
LAB_0041254e: ;XREF[1,0]: 0041252d
.text:0041254e c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00412555 e815000000 CALL FUN_0041256f ;undefined FUN_0041256f(void)
.text:0041255a eba2 JMP LAB_004124fe
LAB_0041255c: ;XREF[1,0]: 00412546
.text:0041255c a1c8424200 MOV EAX,[.data:DAT_004242c8] ;= ??
.text:00412561 83c040 ADD EAX,0x40
.text:00412564 a3c8424200 MOV [.data:DAT_004242c8],EAX ;= ??
LAB_00412569: ;XREF[1,0]: 00412536
.text:00412569 47 INC EDI
.text:0041256a ebbb JMP LAB_00412527
.text:0041256c 8b align align(1)
.text:0041256d 75 ?? 75h u
.text:0041256e e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041256f(void)
;XREF[1,0]: 00412555
.text:0041256f 6a07 PUSH 0x7
.text:00412571 e825baffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:00412576 59 POP ECX
.text:00412577 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412578(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 0041257d
;XREF[5,0]: 004139c1,00414300,00416d65,00417df5
; 00418085
.text:00412578 8bff MOV EDI,EDI
.text:0041257a 55 PUSH EBP
.text:0041257b 8bec MOV EBP,ESP
.text:0041257d 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00412580 8bc8 MOV ECX,EAX
.text:00412582 83e03f AND EAX,0x3f
.text:00412585 c1f906 SAR ECX,0x6
.text:00412588 6bc038 IMUL EAX,EAX,0x38
.text:0041258b 03048dc84... ADD EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:00412592 50 PUSH EAX ;LPCRITICAL_SECTION lpCriticalSection...
.text:00412593 ff1540b04100 CALL dword ptr [->KERNEL32.DLL::EnterCriti...;= 00022436
.text:00412599 5d POP EBP
.text:0041259a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_lowio_unlock_fh *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_lowio_unlock_fh(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 004125a0
;XREF[5,0]: 00413a46,00414376,00416dd7,00417e6a
; 0041810d
.text:0041259b 8bff MOV EDI,EDI
.text:0041259d 55 PUSH EBP
.text:0041259e 8bec MOV EBP,ESP
.text:004125a0 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004125a3 8bc8 MOV ECX,EAX
.text:004125a5 83e03f AND EAX,0x3f
.text:004125a8 c1f906 SAR ECX,0x6
.text:004125ab 6bc038 IMUL EAX,EAX,0x38
.text:004125ae 03048dc84... ADD EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:004125b5 50 PUSH EAX ;LPCRITICAL_SECTION lpCriticalSection...
.text:004125b6 ff1544b04100 CALL dword ptr [->KERNEL32.DLL::LeaveCriti...;= 0002244e
.text:004125bc 5d POP EBP
.text:004125bd c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_004125be(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 004125c5
;XREF[1,0]: 00417f7d
.text:004125be 8bff MOV EDI,EDI
.text:004125c0 55 PUSH EBP
.text:004125c1 8bec MOV EBP,ESP
.text:004125c3 53 PUSH EBX
.text:004125c4 56 PUSH ESI
.text:004125c5 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004125c8 57 PUSH EDI
.text:004125c9 85f6 TEST ESI,ESI
.text:004125cb 7867 JS LAB_00412634
.text:004125cd 3b35c8424200 CMP ESI,dword ptr [.data:DAT_004242c8] ;= ??
.text:004125d3 735f JNC LAB_00412634
.text:004125d5 8bc6 MOV EAX,ESI
.text:004125d7 8bde MOV EBX,ESI
.text:004125d9 83e03f AND EAX,0x3f
.text:004125dc c1eb06 SHR EBX,0x6
.text:004125df 6bf838 IMUL EDI,EAX,0x38
.text:004125e2 8b049dc84... MOV EAX,dword ptr [EBX*0x4 + .data:DAT_00...;= ??
.text:004125e9 f644072801 TEST byte ptr [EDI + EAX*0x1 + 0x28],0x1
.text:004125ee 7444 JZ LAB_00412634
.text:004125f0 837c0718ff CMP dword ptr [EDI + EAX*0x1 + 0x18],-0x1
.text:004125f5 743d JZ LAB_00412634
.text:004125f7 e88aa7ffff CALL FUN_0040cd86 ;undefined4 FUN_0040cd86(void)
.text:004125fc 83f801 CMP EAX,0x1
.text:004125ff 7523 JNZ LAB_00412624
.text:00412601 33c0 XOR EAX,EAX
.text:00412603 2bf0 SUB ESI,EAX
.text:00412605 7414 JZ LAB_0041261b
.text:00412607 83ee01 SUB ESI,0x1
.text:0041260a 740a JZ LAB_00412616
.text:0041260c 83ee01 SUB ESI,0x1
.text:0041260f 7513 JNZ LAB_00412624
.text:00412611 50 PUSH EAX
.text:00412612 6af4 PUSH -0xc
.text:00412614 eb08 JMP LAB_0041261e
LAB_00412616: ;XREF[1,0]: 0041260a
.text:00412616 50 PUSH EAX
.text:00412617 6af5 PUSH -0xb
.text:00412619 eb03 JMP LAB_0041261e
LAB_0041261b: ;XREF[1,0]: 00412605
.text:0041261b 50 PUSH EAX ;HANDLE hHandle for SetStdHandle
.text:0041261c 6af6 PUSH -0xa ;DWORD nStdHandle for SetStdHandle
LAB_0041261e: ;XREF[2,0]: 00412614,00412619
.text:0041261e ff15d4b04100 CALL dword ptr [->KERNEL32.DLL::SetStdHandle];= 000226cc
LAB_00412624: ;XREF[2,0]: 004125ff,0041260f
.text:00412624 8b049dc84... MOV EAX,dword ptr [EBX*0x4 + .data:DAT_00...;= ??
.text:0041262b 834c3818ff OR dword ptr [EAX +...,0xffffffff
.text:00412630 33c0 XOR EAX,EAX
.text:00412632 eb16 JMP LAB_0041264a
LAB_00412634: ;XREF[4,0]: 004125cb,004125d3,004125ee,004125f5
.text:00412634 e8cbbcffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00412639 c70009000000 MOV dword ptr [EAX],0x9
.text:0041263f e8adbcffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00412644 832000 AND dword ptr [EAX],0x0
.text:00412647 83c8ff OR EAX,0xffffffff
LAB_0041264a: ;XREF[1,0]: 00412632
.text:0041264a 5f POP EDI
.text:0041264b 5e POP ESI
.text:0041264c 5b POP EBX
.text:0041264d 5d POP EBP
.text:0041264e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0041264f(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 00412654
;XREF[7,0]: 004139ed,00416151,00417f1f,00417f4e
; 00417f57,00417f63,00418121
.text:0041264f 8bff MOV EDI,EDI
.text:00412651 55 PUSH EBP
.text:00412652 8bec MOV EBP,ESP
.text:00412654 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00412657 83f9fe CMP ECX,-0x2
.text:0041265a 7515 JNZ LAB_00412671
.text:0041265c e890bcffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00412661 832000 AND dword ptr [EAX],0x0
.text:00412664 e89bbcffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00412669 c70009000000 MOV dword ptr [EAX],0x9
.text:0041266f eb43 JMP LAB_004126b4
LAB_00412671: ;XREF[1,0]: 0041265a
.text:00412671 85c9 TEST ECX,ECX
.text:00412673 7827 JS LAB_0041269c
.text:00412675 3b0dc8424200 CMP ECX,dword ptr [.data:DAT_004242c8] ;= ??
.text:0041267b 731f JNC LAB_0041269c
.text:0041267d 8bc1 MOV EAX,ECX
.text:0041267f 83e13f AND ECX,0x3f
.text:00412682 c1e806 SHR EAX,0x6
.text:00412685 6bc938 IMUL ECX,ECX,0x38
.text:00412688 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:0041268f f644082801 TEST byte ptr [EAX + ECX*0x1 + 0x28],0x1
.text:00412694 7406 JZ LAB_0041269c
.text:00412696 8b440818 MOV EAX,dword ptr [EAX + ECX*0x1 + 0x18]
.text:0041269a 5d POP EBP
.text:0041269b c3 RET
LAB_0041269c: ;XREF[3,0]: 00412673,0041267b,00412694
.text:0041269c e850bcffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:004126a1 832000 AND dword ptr [EAX],0x0
.text:004126a4 e85bbcffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004126a9 c70009000000 MOV dword ptr [EAX],0x9
.text:004126af e86fbbffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_004126b4: ;XREF[1,0]: 0041266f
.text:004126b4 83c8ff OR EAX,0xffffffff
.text:004126b7 5d POP EBP
.text:004126b8 c3 RET
LAB_004126b9: ;XREF[1,0]: 0041b140
.text:004126b9 833df8424... CMP dword ptr [.data:DAT_004242f8],0x0 ;= ??
.text:004126c0 750a JNZ LAB_004126cc
.text:004126c2 c705f8424... MOV dword ptr [.data:DAT_004242f8],0x4000 ;= ??
LAB_004126cc: ;XREF[1,0]: 004126c0
.text:004126cc 33c0 XOR EAX,EAX
.text:004126ce c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_locale_free_monetary *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_locale_free_monetary(int param_1)
;param_1 int 4 ;XREF[1,0]: 004126d5
;XREF[1,0]: 00412b21
.text:004126cf 8bff MOV EDI,EDI
.text:004126d1 55 PUSH EBP
.text:004126d2 8bec MOV EBP,ESP
.text:004126d4 56 PUSH ESI
.text:004126d5 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004126d8 85f6 TEST ESI,ESI
.text:004126da 0f84ea000000 JZ LAB_004127ca
.text:004126e0 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:004126e3 3b052c374200 CMP EAX,dword ptr [.data:PTR_DAT_0042372c] ;= 004242fc
.text:004126e9 7407 JZ LAB_004126f2
.text:004126eb 50 PUSH EAX
.text:004126ec e883bcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004126f1 59 POP ECX
LAB_004126f2: ;XREF[1,0]: 004126e9
.text:004126f2 8b4610 MOV EAX,dword ptr [ESI + 0x10]
.text:004126f5 3b0530374200 CMP EAX,dword ptr [.data:PTR_DAT_00423730] ;= 004242fc
.text:004126fb 7407 JZ LAB_00412704
.text:004126fd 50 PUSH EAX
.text:004126fe e871bcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412703 59 POP ECX
LAB_00412704: ;XREF[1,0]: 004126fb
.text:00412704 8b4614 MOV EAX,dword ptr [ESI + 0x14]
.text:00412707 3b0534374200 CMP EAX,dword ptr [.data:PTR_DAT_00423734] ;= 004242fc
.text:0041270d 7407 JZ LAB_00412716
.text:0041270f 50 PUSH EAX
.text:00412710 e85fbcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412715 59 POP ECX
LAB_00412716: ;XREF[1,0]: 0041270d
.text:00412716 8b4618 MOV EAX,dword ptr [ESI + 0x18]
.text:00412719 3b0538374200 CMP EAX,dword ptr [.data:PTR_DAT_00423738] ;= 004242fc
.text:0041271f 7407 JZ LAB_00412728
.text:00412721 50 PUSH EAX
.text:00412722 e84dbcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412727 59 POP ECX
LAB_00412728: ;XREF[1,0]: 0041271f
.text:00412728 8b461c MOV EAX,dword ptr [ESI + 0x1c]
.text:0041272b 3b053c374200 CMP EAX,dword ptr [.data:PTR_DAT_0042373c] ;= 004242fc
.text:00412731 7407 JZ LAB_0041273a
.text:00412733 50 PUSH EAX
.text:00412734 e83bbcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412739 59 POP ECX
LAB_0041273a: ;XREF[1,0]: 00412731
.text:0041273a 8b4620 MOV EAX,dword ptr [ESI + 0x20]
.text:0041273d 3b0540374200 CMP EAX,dword ptr [.data:PTR_DAT_00423740] ;= 004242fc
.text:00412743 7407 JZ LAB_0041274c
.text:00412745 50 PUSH EAX
.text:00412746 e829bcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041274b 59 POP ECX
LAB_0041274c: ;XREF[1,0]: 00412743
.text:0041274c 8b4624 MOV EAX,dword ptr [ESI + 0x24]
.text:0041274f 3b0544374200 CMP EAX,dword ptr [.data:PTR_DAT_00423744] ;= 004242fc
.text:00412755 7407 JZ LAB_0041275e
.text:00412757 50 PUSH EAX
.text:00412758 e817bcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041275d 59 POP ECX
LAB_0041275e: ;XREF[1,0]: 00412755
.text:0041275e 8b4638 MOV EAX,dword ptr [ESI + 0x38]
.text:00412761 3b0558374200 CMP EAX,dword ptr [.data:PTR_DAT_00423758] ;= 00424300
.text:00412767 7407 JZ LAB_00412770
.text:00412769 50 PUSH EAX
.text:0041276a e805bcffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041276f 59 POP ECX
LAB_00412770: ;XREF[1,0]: 00412767
.text:00412770 8b463c MOV EAX,dword ptr [ESI + 0x3c]
.text:00412773 3b055c374200 CMP EAX,dword ptr [.data:PTR_DAT_0042375c] ;= 00424300
.text:00412779 7407 JZ LAB_00412782
.text:0041277b 50 PUSH EAX
.text:0041277c e8f3bbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412781 59 POP ECX
LAB_00412782: ;XREF[1,0]: 00412779
.text:00412782 8b4640 MOV EAX,dword ptr [ESI + 0x40]
.text:00412785 3b0560374200 CMP EAX,dword ptr [.data:PTR_DAT_00423760] ;= 00424300
.text:0041278b 7407 JZ LAB_00412794
.text:0041278d 50 PUSH EAX
.text:0041278e e8e1bbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412793 59 POP ECX
LAB_00412794: ;XREF[1,0]: 0041278b
.text:00412794 8b4644 MOV EAX,dword ptr [ESI + 0x44]
.text:00412797 3b0564374200 CMP EAX,dword ptr [.data:PTR_DAT_00423764] ;= 00424300
.text:0041279d 7407 JZ LAB_004127a6
.text:0041279f 50 PUSH EAX
.text:004127a0 e8cfbbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004127a5 59 POP ECX
LAB_004127a6: ;XREF[1,0]: 0041279d
.text:004127a6 8b4648 MOV EAX,dword ptr [ESI + 0x48]
.text:004127a9 3b0568374200 CMP EAX,dword ptr [.data:PTR_DAT_00423768] ;= 00424300
.text:004127af 7407 JZ LAB_004127b8
.text:004127b1 50 PUSH EAX
.text:004127b2 e8bdbbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004127b7 59 POP ECX
LAB_004127b8: ;XREF[1,0]: 004127af
.text:004127b8 8b464c MOV EAX,dword ptr [ESI + 0x4c]
.text:004127bb 3b056c374200 CMP EAX,dword ptr [.data:PTR_DAT_0042376c] ;= 00424300
.text:004127c1 7407 JZ LAB_004127ca
.text:004127c3 50 PUSH EAX
.text:004127c4 e8abbbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004127c9 59 POP ECX
LAB_004127ca: ;XREF[2,0]: 004126da,004127c1
.text:004127ca 5e POP ESI
.text:004127cb 5d POP EBP
.text:004127cc c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_locale_free_numeric *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_locale_free_numeric(LPVOID * param_1)
;param_1 LPVOID * 4 ;XREF[1,0]: 004127d3
;XREF[1,0]: 00412b43
.text:004127cd 8bff MOV EDI,EDI
.text:004127cf 55 PUSH EBP
.text:004127d0 8bec MOV EBP,ESP
.text:004127d2 56 PUSH ESI
.text:004127d3 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004127d6 85f6 TEST ESI,ESI
.text:004127d8 7459 JZ LAB_00412833
.text:004127da 8b06 MOV EAX,dword ptr [ESI]
.text:004127dc 3b0520374200 CMP EAX,dword ptr [.data:PTR_DAT_00423720] ;= 00423770
.text:004127e2 7407 JZ LAB_004127eb
.text:004127e4 50 PUSH EAX
.text:004127e5 e88abbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004127ea 59 POP ECX
LAB_004127eb: ;XREF[1,0]: 004127e2
.text:004127eb 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:004127ee 3b0524374200 CMP EAX,dword ptr [.data:PTR_DAT_00423724] ;= 004242fc
.text:004127f4 7407 JZ LAB_004127fd
.text:004127f6 50 PUSH EAX
.text:004127f7 e878bbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004127fc 59 POP ECX
LAB_004127fd: ;XREF[1,0]: 004127f4
.text:004127fd 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00412800 3b0528374200 CMP EAX,dword ptr [.data:PTR_DAT_00423728] ;= 004242fc
.text:00412806 7407 JZ LAB_0041280f
.text:00412808 50 PUSH EAX
.text:00412809 e866bbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041280e 59 POP ECX
LAB_0041280f: ;XREF[1,0]: 00412806
.text:0041280f 8b4630 MOV EAX,dword ptr [ESI + 0x30]
.text:00412812 3b0550374200 CMP EAX,dword ptr [.data:PTR_DAT_00423750] ;= 00423774
.text:00412818 7407 JZ LAB_00412821
.text:0041281a 50 PUSH EAX
.text:0041281b e854bbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412820 59 POP ECX
LAB_00412821: ;XREF[1,0]: 00412818
.text:00412821 8b4634 MOV EAX,dword ptr [ESI + 0x34]
.text:00412824 3b0554374200 CMP EAX,dword ptr [.data:PTR_DAT_00423754] ;= 00424300
.text:0041282a 7407 JZ LAB_00412833
.text:0041282c 50 PUSH EAX
.text:0041282d e842bbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412832 59 POP ECX
LAB_00412833: ;XREF[2,0]: 004127d8,0041282a
.text:00412833 5e POP ESI
.text:00412834 5d POP EBP
.text:00412835 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412836(LPVOID * param_1, int param_2)
;param_1 LPVOID * 4 ;XREF[1,0]: 0041283f
;param_2 int 8 ;XREF[1,0]: 0041283b
;XREF[10,0]: 0041286f,0041287a,00412885,00412890
; 0041289e,004128cd,004128db,004128ec
; 004128fa,00412908
.text:00412836 8bff MOV EDI,EDI
.text:00412838 55 PUSH EBP
.text:00412839 8bec MOV EBP,ESP
.text:0041283b 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0041283e 56 PUSH ESI
.text:0041283f 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00412842 57 PUSH EDI
.text:00412843 8d3c86 LEA EDI,[ESI + EAX*0x4]
.text:00412846 eb0b JMP LAB_00412853
LAB_00412848: ;XREF[1,0]: 00412855
.text:00412848 ff36 PUSH dword ptr [ESI]
.text:0041284a e825bbffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041284f 59 POP ECX
.text:00412850 83c604 ADD ESI,0x4
LAB_00412853: ;XREF[1,0]: 00412846
.text:00412853 3bf7 CMP ESI,EDI
.text:00412855 75f1 JNZ LAB_00412848
.text:00412857 5f POP EDI
.text:00412858 5e POP ESI
.text:00412859 5d POP EBP
.text:0041285a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_locale_free_time *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined ___acrt_locale_free_time(LPVOID * param_1)
;param_1 LPVOID * 4 ;XREF[1,0]: 00412861
;XREF[1,0]: 00412c6f
.text:0041285b 8bff MOV EDI,EDI
.text:0041285d 55 PUSH EBP
.text:0041285e 8bec MOV EBP,ESP
.text:00412860 56 PUSH ESI
.text:00412861 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00412864 85f6 TEST ESI,ESI
.text:00412866 0f84d0000000 JZ LAB_0041293c
.text:0041286c 6a07 PUSH 0x7
.text:0041286e 56 PUSH ESI
.text:0041286f e8c2ffffff CALL FUN_00412836 ;undefined FUN_00412836(LPVOID * para...
.text:00412874 8d461c LEA EAX,[ESI + 0x1c]
.text:00412877 6a07 PUSH 0x7
.text:00412879 50 PUSH EAX
.text:0041287a e8b7ffffff CALL FUN_00412836 ;undefined FUN_00412836(LPVOID * para...
.text:0041287f 8d4638 LEA EAX,[ESI + 0x38]
.text:00412882 6a0c PUSH 0xc
.text:00412884 50 PUSH EAX
.text:00412885 e8acffffff CALL FUN_00412836 ;undefined FUN_00412836(LPVOID * para...
.text:0041288a 8d4668 LEA EAX,[ESI + 0x68]
.text:0041288d 6a0c PUSH 0xc
.text:0041288f 50 PUSH EAX
.text:00412890 e8a1ffffff CALL FUN_00412836 ;undefined FUN_00412836(LPVOID * para...
.text:00412895 8d8698000000 LEA EAX,[ESI + 0x98]
.text:0041289b 6a02 PUSH 0x2
.text:0041289d 50 PUSH EAX
.text:0041289e e893ffffff CALL FUN_00412836 ;undefined FUN_00412836(LPVOID * para...
.text:004128a3 ffb6a0000000 PUSH dword ptr [ESI + 0xa0]
.text:004128a9 e8c6baffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004128ae ffb6a4000000 PUSH dword ptr [ESI + 0xa4]
.text:004128b4 e8bbbaffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004128b9 ffb6a8000000 PUSH dword ptr [ESI + 0xa8]
.text:004128bf e8b0baffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:004128c4 8d86b4000000 LEA EAX,[ESI + 0xb4]
.text:004128ca 6a07 PUSH 0x7
.text:004128cc 50 PUSH EAX
.text:004128cd e864ffffff CALL FUN_00412836 ;undefined FUN_00412836(LPVOID * para...
.text:004128d2 8d86d0000000 LEA EAX,[ESI + 0xd0]
.text:004128d8 6a07 PUSH 0x7
.text:004128da 50 PUSH EAX
.text:004128db e856ffffff CALL FUN_00412836 ;undefined FUN_00412836(LPVOID * para...
.text:004128e0 83c444 ADD ESP,0x44
.text:004128e3 8d86ec000000 LEA EAX,[ESI + 0xec]
.text:004128e9 6a0c PUSH 0xc
.text:004128eb 50 PUSH EAX
.text:004128ec e845ffffff CALL FUN_00412836 ;undefined FUN_00412836(LPVOID * para...
.text:004128f1 8d861c010000 LEA EAX,[ESI + 0x11c]
.text:004128f7 6a0c PUSH 0xc
.text:004128f9 50 PUSH EAX
.text:004128fa e837ffffff CALL FUN_00412836 ;undefined FUN_00412836(LPVOID * para...
.text:004128ff 8d864c010000 LEA EAX,[ESI + 0x14c]
.text:00412905 6a02 PUSH 0x2
.text:00412907 50 PUSH EAX
.text:00412908 e829ffffff CALL FUN_00412836 ;undefined FUN_00412836(LPVOID * para...
.text:0041290d ffb654010000 PUSH dword ptr [ESI + 0x154]
.text:00412913 e85cbaffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412918 ffb658010000 PUSH dword ptr [ESI + 0x158]
.text:0041291e e851baffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412923 ffb65c010000 PUSH dword ptr [ESI + 0x15c]
.text:00412929 e846baffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:0041292e ffb660010000 PUSH dword ptr [ESI + 0x160]
.text:00412934 e83bbaffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412939 83c428 ADD ESP,0x28
LAB_0041293c: ;XREF[1,0]: 00412866
.text:0041293c 5e POP ESI
.text:0041293d 5d POP EBP
.text:0041293e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041293f(LPVOID * param_1, DWORD param_2, LPCSTR param_3, int param_4, LPWORD param_5, uint param_6, int param_7)
;param_1 LPVOID * 4 ;XREF[1,0]: 00412954
;param_2 DWORD 8 ;XREF[1,0]: 00412a06
;param_3 LPCSTR c ;XREF[2,0]: 0041297b,004129ef
;param_4 int 10 ;XREF[2,0]: 00412975,004129ec
;param_5 LPWORD 14 ;XREF[1,0]: 00412a01
;param_6 uint 18 ;XREF[1,0]: 0041295f
;param_7 int 1c ;XREF[1,0]: 00412970
;local_8 undefined4 -8 ;XREF[2,0]: 0041294e,00412a34
;local_c undefined4 -c ;XREF[2,0]: 0041299c,004129de
;local_10 undefined4 -10 ;XREF[2,0]: 0041298f,004129e8
;local_14 undefined1 -14 ;XREF[1,0]: 00412a1c
;local_1c undefined4 -1c ;XREF[1,0]: 00412966
;local_20 undefined4 -20 ;XREF[2,0]: 00412957,00412a22
;local_2c undefined1 -2c ;XREF[1,0]: 00412a2e
;XREF[2,0]: 0041083e,0041184c
.text:0041293f 8bff MOV EDI,EDI
.text:00412941 55 PUSH EBP
.text:00412942 8bec MOV EBP,ESP
.text:00412944 83ec1c SUB ESP,0x1c
.text:00412947 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0041294c 33c5 XOR EAX,EBP
.text:0041294e 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00412951 53 PUSH EBX
.text:00412952 56 PUSH ESI
.text:00412953 57 PUSH EDI
.text:00412954 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00412957 8d4de4 LEA ECX=>local_20,[EBP + -0x1c]
.text:0041295a e88e64ffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:0041295f 8b5d1c MOV EBX,dword ptr [EBP + param_6+0x4]
.text:00412962 85db TEST EBX,EBX
.text:00412964 7506 JNZ LAB_0041296c
.text:00412966 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
.text:00412969 8b5808 MOV EBX,dword ptr [EAX + 0x8]
LAB_0041296c: ;XREF[1,0]: 00412964
.text:0041296c 33c0 XOR EAX,EAX
.text:0041296e 33ff XOR EDI,EDI
.text:00412970 394520 CMP dword ptr [EBP + param_7+0x4],EAX
.text:00412973 57 PUSH EDI
.text:00412974 57 PUSH EDI
.text:00412975 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00412978 0f95c0 SETNZ AL
.text:0041297b ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0041297e 8d04c5010... LEA EAX,[EAX*0x8 + 0x1]
.text:00412985 50 PUSH EAX
.text:00412986 53 PUSH EBX
.text:00412987 e817f5ffff CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:0041298c 83c418 ADD ESP,0x18
.text:0041298f 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00412992 85c0 TEST EAX,EAX
.text:00412994 0f8482000000 JZ LAB_00412a1c
.text:0041299a 03c0 ADD EAX,EAX
.text:0041299c 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0041299f 8d4808 LEA ECX,[EAX + 0x8]
.text:004129a2 3bc1 CMP EAX,ECX
.text:004129a4 1bc0 SBB EAX,EAX
.text:004129a6 23c1 AND EAX,ECX
.text:004129a8 7469 JZ LAB_00412a13
.text:004129aa 3d00040000 CMP EAX,0x400
.text:004129af 7713 JA LAB_004129c4
.text:004129b1 e88a7f0000 CALL __alloca_probe_16 ;uint __alloca_probe_16(undefined1 pa...
.text:004129b6 8bf4 MOV ESI,ESP
.text:004129b8 85f6 TEST ESI,ESI
.text:004129ba 7459 JZ LAB_00412a15
.text:004129bc c706cccc0000 MOV dword ptr [ESI],0xcccc
.text:004129c2 eb13 JMP LAB_004129d7
LAB_004129c4: ;XREF[1,0]: 004129af
.text:004129c4 50 PUSH EAX
.text:004129c5 e807c4ffff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:004129ca 8bf0 MOV ESI,EAX
.text:004129cc 59 POP ECX
.text:004129cd 85f6 TEST ESI,ESI
.text:004129cf 7444 JZ LAB_00412a15
.text:004129d1 c706dddd0000 MOV dword ptr [ESI],0xdddd
LAB_004129d7: ;XREF[1,0]: 004129c2
.text:004129d7 83c608 ADD ESI,0x8
.text:004129da 85f6 TEST ESI,ESI
.text:004129dc 7437 JZ LAB_00412a15
.text:004129de ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:004129e1 57 PUSH EDI
.text:004129e2 56 PUSH ESI
.text:004129e3 e848fcfeff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:004129e8 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:004129eb 56 PUSH ESI
.text:004129ec ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:004129ef ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004129f2 6a01 PUSH 0x1
.text:004129f4 53 PUSH EBX
.text:004129f5 e8a9f4ffff CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:004129fa 83c424 ADD ESP,0x24
.text:004129fd 85c0 TEST EAX,EAX
.text:004129ff 7414 JZ LAB_00412a15
.text:00412a01 ff7518 PUSH dword ptr [EBP + param_5+0x4] ;LPWORD lpCharType for GetStringTypeW
.text:00412a04 50 PUSH EAX ;int cchSrc for GetStringTypeW
.text:00412a05 56 PUSH ESI ;LPCWSTR lpSrcStr for GetStringTypeW
.text:00412a06 ff750c PUSH dword ptr [EBP + param_2+0x4] ;DWORD dwInfoType for GetStringTypeW
.text:00412a09 ff15d8b04100 CALL dword ptr [->KERNEL32.DLL::GetStringT...;= 000226dc
.text:00412a0f 8bf8 MOV EDI,EAX
.text:00412a11 eb02 JMP LAB_00412a15
LAB_00412a13: ;XREF[1,0]: 004129a8
.text:00412a13 8bf7 MOV ESI,EDI
LAB_00412a15: ;XREF[5,0]: 004129ba,004129cf,004129dc,004129ff
; 00412a11
.text:00412a15 56 PUSH ESI
.text:00412a16 e825000000 CALL FUN_00412a40 ;undefined FUN_00412a40(int param_1)
.text:00412a1b 59 POP ECX
LAB_00412a1c: ;XREF[1,0]: 00412994
.text:00412a1c 807df000 CMP byte ptr [EBP + local_14+0x4],0x0
.text:00412a20 740a JZ LAB_00412a2c
.text:00412a22 8b45e4 MOV EAX,dword ptr [EBP + local_20+0x4]
.text:00412a25 83a050030... AND dword ptr [EAX + 0x350],0xfffffffd
LAB_00412a2c: ;XREF[1,0]: 00412a20
.text:00412a2c 8bc7 MOV EAX,EDI
.text:00412a2e 8d65d8 LEA ESP=>local_2c,[EBP + -0x28]
.text:00412a31 5f POP EDI
.text:00412a32 5e POP ESI
.text:00412a33 5b POP EBX
.text:00412a34 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00412a37 33cd XOR ECX,EBP
.text:00412a39 e8e7f6feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00412a3e c9 LEAVE
.text:00412a3f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412a40(int param_1)
;param_1 int 4 ;XREF[1,0]: 00412a45
;XREF[9,0]: 00412a16,004179b9,004179cc,004179d9
; 00418ac3,00418ac9,00418aff,00418b05
; 00418b15
.text:00412a40 8bff MOV EDI,EDI
.text:00412a42 55 PUSH EBP
.text:00412a43 8bec MOV EBP,ESP
.text:00412a45 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00412a48 85c0 TEST EAX,EAX
.text:00412a4a 7412 JZ LAB_00412a5e
.text:00412a4c 83e808 SUB EAX,0x8
.text:00412a4f 8138dddd0000 CMP dword ptr [EAX],0xdddd
.text:00412a55 7507 JNZ LAB_00412a5e
.text:00412a57 50 PUSH EAX
.text:00412a58 e817b9ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412a5d 59 POP ECX
LAB_00412a5e: ;XREF[2,0]: 00412a4a,00412a55
.text:00412a5e 5d POP EBP
.text:00412a5f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_add_locale_ref *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined ___acrt_add_locale_ref(int param_1)
;param_1 int 4 ;XREF[1,0]: 00412a65
;XREF[2,0]: 004104a1,00412dcc
.text:00412a60 8bff MOV EDI,EDI
.text:00412a62 55 PUSH EBP
.text:00412a63 8bec MOV EBP,ESP
.text:00412a65 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00412a68 f0ff400c INC.LOCK dword ptr [EAX + 0xc]
.text:00412a6c 8b487c MOV ECX,dword ptr [EAX + 0x7c]
.text:00412a6f 85c9 TEST ECX,ECX
.text:00412a71 7403 JZ LAB_00412a76
.text:00412a73 f0ff01 INC.LOCK dword ptr [ECX]
LAB_00412a76: ;XREF[1,0]: 00412a71
.text:00412a76 8b8884000000 MOV ECX,dword ptr [EAX + 0x84]
.text:00412a7c 85c9 TEST ECX,ECX
.text:00412a7e 7403 JZ LAB_00412a83
.text:00412a80 f0ff01 INC.LOCK dword ptr [ECX]
LAB_00412a83: ;XREF[1,0]: 00412a7e
.text:00412a83 8b8880000000 MOV ECX,dword ptr [EAX + 0x80]
.text:00412a89 85c9 TEST ECX,ECX
.text:00412a8b 7403 JZ LAB_00412a90
.text:00412a8d f0ff01 INC.LOCK dword ptr [ECX]
LAB_00412a90: ;XREF[1,0]: 00412a8b
.text:00412a90 8b888c000000 MOV ECX,dword ptr [EAX + 0x8c]
.text:00412a96 85c9 TEST ECX,ECX
.text:00412a98 7403 JZ LAB_00412a9d
.text:00412a9a f0ff01 INC.LOCK dword ptr [ECX]
LAB_00412a9d: ;XREF[1,0]: 00412a98
.text:00412a9d 56 PUSH ESI
.text:00412a9e 6a06 PUSH 0x6
.text:00412aa0 8d4828 LEA ECX,[EAX + 0x28]
.text:00412aa3 5e POP ESI
LAB_00412aa4: ;XREF[1,0]: 00412acc
.text:00412aa4 8179f8f83... CMP dword ptr [ECX +...,.data:DAT_004231f8 ;= 43h C
.text:00412aab 7409 JZ LAB_00412ab6
.text:00412aad 8b11 MOV EDX,dword ptr [ECX]
.text:00412aaf 85d2 TEST EDX,EDX
.text:00412ab1 7403 JZ LAB_00412ab6
.text:00412ab3 f0ff02 INC.LOCK dword ptr [EDX]
LAB_00412ab6: ;XREF[2,0]: 00412aab,00412ab1
.text:00412ab6 8379f400 CMP dword ptr [ECX + -0xc],0x0
.text:00412aba 740a JZ LAB_00412ac6
.text:00412abc 8b51fc MOV EDX,dword ptr [ECX + -0x4]
.text:00412abf 85d2 TEST EDX,EDX
.text:00412ac1 7403 JZ LAB_00412ac6
.text:00412ac3 f0ff02 INC.LOCK dword ptr [EDX]
LAB_00412ac6: ;XREF[2,0]: 00412aba,00412ac1
.text:00412ac6 83c110 ADD ECX,0x10
.text:00412ac9 83ee01 SUB ESI,0x1
.text:00412acc 75d6 JNZ LAB_00412aa4
.text:00412ace ffb09c000000 PUSH dword ptr [EAX + 0x9c]
.text:00412ad4 e84c010000 CALL ___acrt_locale_add_lc_time_reference ;undefined * ___acrt_locale_add_lc_ti...
.text:00412ad9 59 POP ECX
.text:00412ada 5e POP ESI
.text:00412adb 5d POP EBP
.text:00412adc c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_free_locale *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_free_locale(LPVOID param_1)
;param_1 LPVOID 4 ;XREF[1,0]: 00412ae5
;local_8 undefined4 -8 ;XREF[4,0]: 00412bc3,00412bec,00412c08,00412c14
;XREF[2,0]: 0041048f,00412dec
.text:00412add 8bff MOV EDI,EDI
.text:00412adf 55 PUSH EBP
.text:00412ae0 8bec MOV EBP,ESP
.text:00412ae2 51 PUSH ECX
.text:00412ae3 53 PUSH EBX
.text:00412ae4 56 PUSH ESI
.text:00412ae5 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00412ae8 57 PUSH EDI
.text:00412ae9 8b8688000000 MOV EAX,dword ptr [ESI + 0x88]
.text:00412aef 85c0 TEST EAX,EAX
.text:00412af1 746c JZ LAB_00412b5f
.text:00412af3 3d20374200 CMP EAX,.data:PTR_DAT_00423720 ;= 00423770
.text:00412af8 7465 JZ LAB_00412b5f
.text:00412afa 8b467c MOV EAX,dword ptr [ESI + 0x7c]
.text:00412afd 85c0 TEST EAX,EAX
.text:00412aff 745e JZ LAB_00412b5f
.text:00412b01 833800 CMP dword ptr [EAX],0x0
.text:00412b04 7559 JNZ LAB_00412b5f
.text:00412b06 8b8684000000 MOV EAX,dword ptr [ESI + 0x84]
.text:00412b0c 85c0 TEST EAX,EAX
.text:00412b0e 7418 JZ LAB_00412b28
.text:00412b10 833800 CMP dword ptr [EAX],0x0
.text:00412b13 7513 JNZ LAB_00412b28
.text:00412b15 50 PUSH EAX
.text:00412b16 e859b8ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412b1b ffb688000000 PUSH dword ptr [ESI + 0x88]
.text:00412b21 e8a9fbffff CALL ___acrt_locale_free_monetary ;undefined ___acrt_locale_free_moneta...
.text:00412b26 59 POP ECX
.text:00412b27 59 POP ECX
LAB_00412b28: ;XREF[2,0]: 00412b0e,00412b13
.text:00412b28 8b8680000000 MOV EAX,dword ptr [ESI + 0x80]
.text:00412b2e 85c0 TEST EAX,EAX
.text:00412b30 7418 JZ LAB_00412b4a
.text:00412b32 833800 CMP dword ptr [EAX],0x0
.text:00412b35 7513 JNZ LAB_00412b4a
.text:00412b37 50 PUSH EAX
.text:00412b38 e837b8ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412b3d ffb688000000 PUSH dword ptr [ESI + 0x88]
.text:00412b43 e885fcffff CALL ___acrt_locale_free_numeric ;undefined ___acrt_locale_free_numeri...
.text:00412b48 59 POP ECX
.text:00412b49 59 POP ECX
LAB_00412b4a: ;XREF[2,0]: 00412b30,00412b35
.text:00412b4a ff767c PUSH dword ptr [ESI + 0x7c]
.text:00412b4d e822b8ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412b52 ffb688000000 PUSH dword ptr [ESI + 0x88]
.text:00412b58 e817b8ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412b5d 59 POP ECX
.text:00412b5e 59 POP ECX
LAB_00412b5f: ;XREF[4,0]: 00412af1,00412af8,00412aff,00412b04
.text:00412b5f 8b868c000000 MOV EAX,dword ptr [ESI + 0x8c]
.text:00412b65 85c0 TEST EAX,EAX
.text:00412b67 7445 JZ LAB_00412bae
.text:00412b69 833800 CMP dword ptr [EAX],0x0
.text:00412b6c 7540 JNZ LAB_00412bae
.text:00412b6e 8b8690000000 MOV EAX,dword ptr [ESI + 0x90]
.text:00412b74 2dfe000000 SUB EAX,0xfe
.text:00412b79 50 PUSH EAX
.text:00412b7a e8f5b7ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412b7f 8b8694000000 MOV EAX,dword ptr [ESI + 0x94]
.text:00412b85 bf80000000 MOV EDI,0x80
.text:00412b8a 2bc7 SUB EAX,EDI
.text:00412b8c 50 PUSH EAX
.text:00412b8d e8e2b7ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412b92 8b8698000000 MOV EAX,dword ptr [ESI + 0x98]
.text:00412b98 2bc7 SUB EAX,EDI
.text:00412b9a 50 PUSH EAX
.text:00412b9b e8d4b7ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412ba0 ffb68c000000 PUSH dword ptr [ESI + 0x8c]
.text:00412ba6 e8c9b7ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412bab 83c410 ADD ESP,0x10
LAB_00412bae: ;XREF[2,0]: 00412b67,00412b6c
.text:00412bae ffb69c000000 PUSH dword ptr [ESI + 0x9c]
.text:00412bb4 e895000000 CALL ___acrt_locale_free_lc_time_if_unrefe...;undefined ___acrt_locale_free_lc_tim...
.text:00412bb9 59 POP ECX
.text:00412bba 6a06 PUSH 0x6
.text:00412bbc 58 POP EAX
.text:00412bbd 8d9ea0000000 LEA EBX,[ESI + 0xa0]
.text:00412bc3 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00412bc6 8d7e28 LEA EDI,[ESI + 0x28]
LAB_00412bc9: ;XREF[1,0]: 00412c17
.text:00412bc9 817ff8f83... CMP dword ptr [EDI +...,.data:DAT_004231f8 ;= 43h C
.text:00412bd0 741d JZ LAB_00412bef
.text:00412bd2 8b07 MOV EAX,dword ptr [EDI]
.text:00412bd4 85c0 TEST EAX,EAX
.text:00412bd6 7414 JZ LAB_00412bec
.text:00412bd8 833800 CMP dword ptr [EAX],0x0
.text:00412bdb 750f JNZ LAB_00412bec
.text:00412bdd 50 PUSH EAX
.text:00412bde e891b7ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412be3 ff33 PUSH dword ptr [EBX]
.text:00412be5 e88ab7ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412bea 59 POP ECX
.text:00412beb 59 POP ECX
LAB_00412bec: ;XREF[2,0]: 00412bd6,00412bdb
.text:00412bec 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
LAB_00412bef: ;XREF[1,0]: 00412bd0
.text:00412bef 837ff400 CMP dword ptr [EDI + -0xc],0x0
.text:00412bf3 7416 JZ LAB_00412c0b
.text:00412bf5 8b47fc MOV EAX,dword ptr [EDI + -0x4]
.text:00412bf8 85c0 TEST EAX,EAX
.text:00412bfa 740c JZ LAB_00412c08
.text:00412bfc 833800 CMP dword ptr [EAX],0x0
.text:00412bff 7507 JNZ LAB_00412c08
.text:00412c01 50 PUSH EAX
.text:00412c02 e86db7ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412c07 59 POP ECX
LAB_00412c08: ;XREF[2,0]: 00412bfa,00412bff
.text:00412c08 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
LAB_00412c0b: ;XREF[1,0]: 00412bf3
.text:00412c0b 83c304 ADD EBX,0x4
.text:00412c0e 83c710 ADD EDI,0x10
.text:00412c11 83e801 SUB EAX,0x1
.text:00412c14 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00412c17 75b0 JNZ LAB_00412bc9
.text:00412c19 56 PUSH ESI
.text:00412c1a e855b7ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412c1f 59 POP ECX
.text:00412c20 5f POP EDI
.text:00412c21 5e POP ESI
.text:00412c22 5b POP EBX
.text:00412c23 c9 LEAVE
.text:00412c24 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_locale_add_lc_time_reference *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined * ___acrt_locale_add_lc_time_reference(undefined * * param_1)
;param_1 undefined * * 4 ;XREF[1,0]: 00412c2a
;XREF[1,0]: 00412ad4
.text:00412c25 8bff MOV EDI,EDI
.text:00412c27 55 PUSH EBP
.text:00412c28 8bec MOV EBP,ESP
.text:00412c2a 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00412c2d 85c9 TEST ECX,ECX
.text:00412c2f 7416 JZ LAB_00412c47
.text:00412c31 81f9a0d24100 CMP ECX,.rdata:PTR_DAT_0041d2a0 ;= 0041d404
.text:00412c37 740e JZ LAB_00412c47
.text:00412c39 33c0 XOR EAX,EAX
.text:00412c3b 40 INC EAX
.text:00412c3c f00fc181b... XADD.LOCK dword ptr [ECX + 0xb0],EAX
.text:00412c44 40 INC EAX
.text:00412c45 5d POP EBP
.text:00412c46 c3 RET
LAB_00412c47: ;XREF[2,0]: 00412c2f,00412c37
.text:00412c47 b8ffffff7f MOV EAX,0x7fffffff
.text:00412c4c 5d POP EBP
.text:00412c4d c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_locale_free_lc_time_if_unreferenced *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_locale_free_lc_time_if_unreferenced(undefined * * param_1)
;param_1 undefined * * 4 ;XREF[1,0]: 00412c54
;XREF[1,0]: 00412bb4
.text:00412c4e 8bff MOV EDI,EDI
.text:00412c50 55 PUSH EBP
.text:00412c51 8bec MOV EBP,ESP
.text:00412c53 56 PUSH ESI
.text:00412c54 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00412c57 85f6 TEST ESI,ESI
.text:00412c59 7421 JZ LAB_00412c7c
.text:00412c5b 81fea0d24100 CMP ESI,.rdata:PTR_DAT_0041d2a0 ;= 0041d404
.text:00412c61 7419 JZ LAB_00412c7c
.text:00412c63 8b86b0000000 MOV EAX,dword ptr [ESI + 0xb0]
.text:00412c69 90 NOP
.text:00412c6a 85c0 TEST EAX,EAX
.text:00412c6c 750e JNZ LAB_00412c7c
.text:00412c6e 56 PUSH ESI
.text:00412c6f e8e7fbffff CALL ___acrt_locale_free_time ;undefined ___acrt_locale_free_time(L...
.text:00412c74 56 PUSH ESI
.text:00412c75 e8fab6ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00412c7a 59 POP ECX
.text:00412c7b 59 POP ECX
LAB_00412c7c: ;XREF[3,0]: 00412c59,00412c61,00412c6c
.text:00412c7c 5e POP ESI
.text:00412c7d 5d POP EBP
.text:00412c7e c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_locale_release_lc_time_reference *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined * ___acrt_locale_release_lc_time_reference(undefined * * param_1)
;param_1 undefined * * 4 ;XREF[1,0]: 00412c84
;XREF[1,0]: 00412d20
.text:00412c7f 8bff MOV EDI,EDI
.text:00412c81 55 PUSH EBP
.text:00412c82 8bec MOV EBP,ESP
.text:00412c84 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00412c87 85c9 TEST ECX,ECX
.text:00412c89 7416 JZ LAB_00412ca1
.text:00412c8b 81f9a0d24100 CMP ECX,.rdata:PTR_DAT_0041d2a0 ;= 0041d404
.text:00412c91 740e JZ LAB_00412ca1
.text:00412c93 83c8ff OR EAX,0xffffffff
.text:00412c96 f00fc181b... XADD.LOCK dword ptr [ECX + 0xb0],EAX
.text:00412c9e 48 DEC EAX
.text:00412c9f 5d POP EBP
.text:00412ca0 c3 RET
LAB_00412ca1: ;XREF[2,0]: 00412c89,00412c91
.text:00412ca1 b8ffffff7f MOV EAX,0x7fffffff
.text:00412ca6 5d POP EBP
.text:00412ca7 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_release_locale_ref *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined ___acrt_release_locale_ref(int param_1)
;param_1 int 4 ;XREF[1,0]: 00412cad
;XREF[2,0]: 00410470,00412dd7
.text:00412ca8 8bff MOV EDI,EDI
.text:00412caa 55 PUSH EBP
.text:00412cab 8bec MOV EBP,ESP
.text:00412cad 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00412cb0 85c0 TEST EAX,EAX
.text:00412cb2 7473 JZ LAB_00412d27
.text:00412cb4 f0ff480c DEC.LOCK dword ptr [EAX + 0xc]
.text:00412cb8 8b487c MOV ECX,dword ptr [EAX + 0x7c]
.text:00412cbb 85c9 TEST ECX,ECX
.text:00412cbd 7403 JZ LAB_00412cc2
.text:00412cbf f0ff09 DEC.LOCK dword ptr [ECX]
LAB_00412cc2: ;XREF[1,0]: 00412cbd
.text:00412cc2 8b8884000000 MOV ECX,dword ptr [EAX + 0x84]
.text:00412cc8 85c9 TEST ECX,ECX
.text:00412cca 7403 JZ LAB_00412ccf
.text:00412ccc f0ff09 DEC.LOCK dword ptr [ECX]
LAB_00412ccf: ;XREF[1,0]: 00412cca
.text:00412ccf 8b8880000000 MOV ECX,dword ptr [EAX + 0x80]
.text:00412cd5 85c9 TEST ECX,ECX
.text:00412cd7 7403 JZ LAB_00412cdc
.text:00412cd9 f0ff09 DEC.LOCK dword ptr [ECX]
LAB_00412cdc: ;XREF[1,0]: 00412cd7
.text:00412cdc 8b888c000000 MOV ECX,dword ptr [EAX + 0x8c]
.text:00412ce2 85c9 TEST ECX,ECX
.text:00412ce4 7403 JZ LAB_00412ce9
.text:00412ce6 f0ff09 DEC.LOCK dword ptr [ECX]
LAB_00412ce9: ;XREF[1,0]: 00412ce4
.text:00412ce9 56 PUSH ESI
.text:00412cea 6a06 PUSH 0x6
.text:00412cec 8d4828 LEA ECX,[EAX + 0x28]
.text:00412cef 5e POP ESI
LAB_00412cf0: ;XREF[1,0]: 00412d18
.text:00412cf0 8179f8f83... CMP dword ptr [ECX +...,.data:DAT_004231f8 ;= 43h C
.text:00412cf7 7409 JZ LAB_00412d02
.text:00412cf9 8b11 MOV EDX,dword ptr [ECX]
.text:00412cfb 85d2 TEST EDX,EDX
.text:00412cfd 7403 JZ LAB_00412d02
.text:00412cff f0ff0a DEC.LOCK dword ptr [EDX]
LAB_00412d02: ;XREF[2,0]: 00412cf7,00412cfd
.text:00412d02 8379f400 CMP dword ptr [ECX + -0xc],0x0
.text:00412d06 740a JZ LAB_00412d12
.text:00412d08 8b51fc MOV EDX,dword ptr [ECX + -0x4]
.text:00412d0b 85d2 TEST EDX,EDX
.text:00412d0d 7403 JZ LAB_00412d12
.text:00412d0f f0ff0a DEC.LOCK dword ptr [EDX]
LAB_00412d12: ;XREF[2,0]: 00412d06,00412d0d
.text:00412d12 83c110 ADD ECX,0x10
.text:00412d15 83ee01 SUB ESI,0x1
.text:00412d18 75d6 JNZ LAB_00412cf0
.text:00412d1a ffb09c000000 PUSH dword ptr [EAX + 0x9c]
.text:00412d20 e85affffff CALL ___acrt_locale_release_lc_time_reference;undefined * ___acrt_locale_release_l...
.text:00412d25 59 POP ECX
.text:00412d26 5e POP ESI
LAB_00412d27: ;XREF[1,0]: 00412cb2
.text:00412d27 5d POP EBP
.text:00412d28 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_update_thread_locale_data *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;LPVOID ___acrt_update_thread_locale_data(void)
;local_8 undefined4 -8 ;XREF[2,0]: 00412d5d,00412d74
;local_20 undefined4 -20 ;XREF[2,0]: 00412d35,00412d71
;XREF[2,0]: 0040f114,0040f145
.text:00412d29 6a0c PUSH 0xc
.text:00412d2b 6820204200 PUSH .rdata:DAT_00422020 ;= FEh
.text:00412d30 e8cbf1feff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00412d35 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
.text:00412d39 e86bd7ffff CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:00412d3e 8d784c LEA EDI,[EAX + 0x4c]
.text:00412d41 8b0d78374200 MOV ECX,dword ptr [.data:DAT_00423778] ;= FFFFFFFEh
.text:00412d47 858850030000 TEST dword ptr [EAX + 0x350],ECX
.text:00412d4d 7406 JZ LAB_00412d55
.text:00412d4f 8b37 MOV ESI,dword ptr [EDI]
.text:00412d51 85f6 TEST ESI,ESI
.text:00412d53 753d JNZ FUN_00412d92
LAB_00412d55: ;XREF[1,0]: 00412d4d
.text:00412d55 6a04 PUSH 0x4
.text:00412d57 e8f7b1ffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:00412d5c 59 POP ECX
.text:00412d5d 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00412d61 ff35e0424200 PUSH dword ptr [.data:DAT_004242e0] ;= ??
.text:00412d67 57 PUSH EDI
.text:00412d68 e83d000000 CALL __updatetlocinfoEx_nolock ;undefined * * __updatetlocinfoEx_nol...
.text:00412d6d 59 POP ECX
.text:00412d6e 59 POP ECX
.text:00412d6f 8bf0 MOV ESI,EAX
.text:00412d71 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:00412d74 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00412d7b e809000000 CALL FUN_00412d89 ;undefined FUN_00412d89(void)
.text:00412d80 85f6 TEST ESI,ESI
.text:00412d82 7420 JZ LAB_00412da4
.text:00412d84 eb0c JMP FUN_00412d92 ;undefined FUN_00412d92(void)
.text:00412d86 8b ?? 8Bh
.text:00412d87 75 ?? 75h u
.text:00412d88 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412d89(void)
;XREF[1,0]: 00412d7b
.text:00412d89 6a04 PUSH 0x4
.text:00412d8b e80bb2ffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:00412d90 59 POP ECX
.text:00412d91 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412d92(void)
;XREF[2,0]: 00412d53,00412d84
.text:00412d92 8bc6 MOV EAX,ESI
.text:00412d94 8b4df0 MOV ECX,dword ptr [EBP + -0x10]
.text:00412d97 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00412d9e 59 POP ECX
.text:00412d9f 5f POP EDI
.text:00412da0 5e POP ESI
.text:00412da1 5b POP EBX
.text:00412da2 c9 LEAVE
.text:00412da3 c3 RET
LAB_00412da4: ;XREF[1,0]: 00412d82
.text:00412da4 e8a0adffff CALL _abort ;void _abort(void)
.text:00412da9 cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* __updatetlocinfoEx_nolock *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined * * __updatetlocinfoEx_nolock(LPVOID * param_1, undefined * * param_2)
;param_1 LPVOID * 4 ;XREF[1,0]: 00412db8
;param_2 undefined * * 8 ;XREF[1,0]: 00412db0
;XREF[2,0]: 0040d4cd,00412d68
.text:00412daa 8bff MOV EDI,EDI
.text:00412dac 55 PUSH EBP
.text:00412dad 8bec MOV EBP,ESP
.text:00412daf 56 PUSH ESI
.text:00412db0 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00412db3 57 PUSH EDI
.text:00412db4 85f6 TEST ESI,ESI
.text:00412db6 743c JZ LAB_00412df4
.text:00412db8 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00412dbb 85c0 TEST EAX,EAX
.text:00412dbd 7435 JZ LAB_00412df4
.text:00412dbf 8b38 MOV EDI,dword ptr [EAX]
.text:00412dc1 3bfe CMP EDI,ESI
.text:00412dc3 7504 JNZ LAB_00412dc9
LAB_00412dc5: ;XREF[4,0]: 00412dd4,00412de1,00412de9,00412df2
.text:00412dc5 8bc6 MOV EAX,ESI
.text:00412dc7 eb2d JMP LAB_00412df6
LAB_00412dc9: ;XREF[1,0]: 00412dc3
.text:00412dc9 56 PUSH ESI
.text:00412dca 8930 MOV dword ptr [EAX],ESI
.text:00412dcc e88ffcffff CALL ___acrt_add_locale_ref ;undefined ___acrt_add_locale_ref(int...
.text:00412dd1 59 POP ECX
.text:00412dd2 85ff TEST EDI,EDI
.text:00412dd4 74ef JZ LAB_00412dc5
.text:00412dd6 57 PUSH EDI
.text:00412dd7 e8ccfeffff CALL ___acrt_release_locale_ref ;undefined ___acrt_release_locale_ref...
.text:00412ddc 837f0c00 CMP dword ptr [EDI + 0xc],0x0
.text:00412de0 59 POP ECX
.text:00412de1 75e2 JNZ LAB_00412dc5
.text:00412de3 81ff38314200 CMP EDI,.data:PTR_DAT_00423138 ;= 0041d860
.text:00412de9 74da JZ LAB_00412dc5
.text:00412deb 57 PUSH EDI
.text:00412dec e8ecfcffff CALL ___acrt_free_locale ;undefined ___acrt_free_locale(LPVOID...
.text:00412df1 59 POP ECX
.text:00412df2 ebd1 JMP LAB_00412dc5
LAB_00412df4: ;XREF[2,0]: 00412db6,00412dbd
.text:00412df4 33c0 XOR EAX,EAX
LAB_00412df6: ;XREF[1,0]: 00412dc7
.text:00412df6 5f POP EDI
.text:00412df7 5e POP ESI
.text:00412df8 5d POP EBP
.text:00412df9 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __recalloc_base *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;LPVOID __recalloc_base(void * param_1, uint param_2, uint param_3)
;param_1 void * 4 ;XREF[1,0]: 00412e23
;param_2 uint 8 ;XREF[1,0]: 00412e00
;param_3 uint c ;XREF[2,0]: 00412e0e,00412e38
;XREF[5,0]: 0040d6ea,0040d70a,004113ef,004121c4
; 00412211
.text:00412dfa 8bff MOV EDI,EDI
.text:00412dfc 55 PUSH EBP
.text:00412dfd 8bec MOV EBP,ESP
.text:00412dff 56 PUSH ESI
.text:00412e00 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00412e03 85f6 TEST ESI,ESI
.text:00412e05 741b JZ LAB_00412e22
.text:00412e07 6ae0 PUSH -0x20
.text:00412e09 33d2 XOR EDX,EDX
.text:00412e0b 58 POP EAX
.text:00412e0c f7f6 DIV ESI
.text:00412e0e 3b4510 CMP EAX,dword ptr [EBP + param_3+0x4]
.text:00412e11 730f JNC LAB_00412e22
.text:00412e13 e8ecb4ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00412e18 c7000c000000 MOV dword ptr [EAX],0xc
.text:00412e1e 33c0 XOR EAX,EAX
.text:00412e20 eb42 JMP LAB_00412e64
LAB_00412e22: ;XREF[2,0]: 00412e05,00412e11
.text:00412e22 53 PUSH EBX
.text:00412e23 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:00412e26 57 PUSH EDI
.text:00412e27 85db TEST EBX,EBX
.text:00412e29 740b JZ LAB_00412e36
.text:00412e2b 53 PUSH EBX
.text:00412e2c e8ef4d0000 CALL FID_conflict:__msize_base ;size_t FID_conflict:__msize_base(voi...
.text:00412e31 59 POP ECX
.text:00412e32 8bf8 MOV EDI,EAX
.text:00412e34 eb02 JMP LAB_00412e38
LAB_00412e36: ;XREF[1,0]: 00412e29
.text:00412e36 33ff XOR EDI,EDI
LAB_00412e38: ;XREF[1,0]: 00412e34
.text:00412e38 0faf7510 IMUL ESI,dword ptr [EBP + param_3+0x4]
.text:00412e3c 56 PUSH ESI
.text:00412e3d 53 PUSH EBX
.text:00412e3e e8104e0000 CALL __realloc_base ;LPVOID __realloc_base(LPVOID param_1...
.text:00412e43 8bd8 MOV EBX,EAX
.text:00412e45 59 POP ECX
.text:00412e46 59 POP ECX
.text:00412e47 85db TEST EBX,EBX
.text:00412e49 7415 JZ LAB_00412e60
.text:00412e4b 3bfe CMP EDI,ESI
.text:00412e4d 7311 JNC LAB_00412e60
.text:00412e4f 2bf7 SUB ESI,EDI
.text:00412e51 8d043b LEA EAX,[EBX + EDI*0x1]
.text:00412e54 56 PUSH ESI
.text:00412e55 6a00 PUSH 0x0
.text:00412e57 50 PUSH EAX
.text:00412e58 e8d3f7feff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:00412e5d 83c40c ADD ESP,0xc
LAB_00412e60: ;XREF[2,0]: 00412e49,00412e4d
.text:00412e60 5f POP EDI
.text:00412e61 8bc3 MOV EAX,EBX
.text:00412e63 5b POP EBX
LAB_00412e64: ;XREF[1,0]: 00412e20
.text:00412e64 5e POP ESI
.text:00412e65 5d POP EBP
.text:00412e66 c3 RET
LAB_00412e67: ;XREF[1,0]: 0041ca98
.text:00412e67 ff15dcb04100 CALL dword ptr [->KERNEL32.DLL::GetProcess...;= 000226ee
.text:00412e6d 85c0 TEST EAX,EAX
.text:00412e6f a304434200 MOV [.data:hHeap_00424304],EAX ;= NaP
.text:00412e74 0f95c0 SETNZ AL
.text:00412e77 c3 RET
LAB_00412e78: ;XREF[1,0]: 0041ca9c
.text:00412e78 832504434... AND dword ptr [.data:hHeap_00424304],0x0 ;= NaP
.text:00412e7f b001 MOV AL,0x1
.text:00412e81 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_execute_initializers *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___acrt_execute_initializers(undefined * * param_1, undefined * * param_2)
;param_1 undefined * * 4 ;XREF[1,0]: 00412e8a
;param_2 undefined * * 8 ;XREF[3,0]: 00412e8d,00412eab,00412eb0
;XREF[1,0]: 0040da1c
.text:00412e82 8bff MOV EDI,EDI
.text:00412e84 55 PUSH EBP
.text:00412e85 8bec MOV EBP,ESP
.text:00412e87 53 PUSH EBX
.text:00412e88 56 PUSH ESI
.text:00412e89 57 PUSH EDI
.text:00412e8a 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00412e8d 3b7d0c CMP EDI,dword ptr [EBP + param_2+0x4]
.text:00412e90 7451 JZ LAB_00412ee3
.text:00412e92 8bf7 MOV ESI,EDI
LAB_00412e94: ;XREF[1,0]: 00412eae
.text:00412e94 8b1e MOV EBX,dword ptr [ESI]
.text:00412e96 85db TEST EBX,EBX
.text:00412e98 740e JZ LAB_00412ea8
.text:00412e9a 8bcb MOV ECX,EBX
.text:00412e9c ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00412ea2 ffd3 CALL EBX
.text:00412ea4 84c0 TEST AL,AL
.text:00412ea6 7408 JZ LAB_00412eb0
LAB_00412ea8: ;XREF[1,0]: 00412e98
.text:00412ea8 83c608 ADD ESI,0x8
.text:00412eab 3b750c CMP ESI,dword ptr [EBP + param_2+0x4]
.text:00412eae 75e4 JNZ LAB_00412e94
LAB_00412eb0: ;XREF[1,0]: 00412ea6
.text:00412eb0 3b750c CMP ESI,dword ptr [EBP + param_2+0x4]
.text:00412eb3 742e JZ LAB_00412ee3
.text:00412eb5 3bf7 CMP ESI,EDI
.text:00412eb7 7426 JZ LAB_00412edf
.text:00412eb9 83c6fc ADD ESI,-0x4
LAB_00412ebc: ;XREF[1,0]: 00412edd
.text:00412ebc 837efc00 CMP dword ptr [ESI + -0x4],0x0
.text:00412ec0 7413 JZ LAB_00412ed5
.text:00412ec2 8b1e MOV EBX,dword ptr [ESI]
.text:00412ec4 85db TEST EBX,EBX
.text:00412ec6 740d JZ LAB_00412ed5
.text:00412ec8 6a00 PUSH 0x0
.text:00412eca 8bcb MOV ECX,EBX
.text:00412ecc ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00412ed2 ffd3 CALL EBX
.text:00412ed4 59 POP ECX
LAB_00412ed5: ;XREF[2,0]: 00412ec0,00412ec6
.text:00412ed5 83ee08 SUB ESI,0x8
.text:00412ed8 8d4604 LEA EAX,[ESI + 0x4]
.text:00412edb 3bc7 CMP EAX,EDI
.text:00412edd 75dd JNZ LAB_00412ebc
LAB_00412edf: ;XREF[1,0]: 00412eb7
.text:00412edf 32c0 XOR AL,AL
.text:00412ee1 eb02 JMP LAB_00412ee5
LAB_00412ee3: ;XREF[2,0]: 00412e90,00412eb3
.text:00412ee3 b001 MOV AL,0x1
LAB_00412ee5: ;XREF[1,0]: 00412ee1
.text:00412ee5 5f POP EDI
.text:00412ee6 5e POP ESI
.text:00412ee7 5b POP EBX
.text:00412ee8 5d POP EBP
.text:00412ee9 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_execute_uninitializers *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_execute_uninitializers(int param_1, int param_2)
;param_1 int 4 ;XREF[2,0]: 00412ef3,00412f10
;param_2 int 8 ;XREF[1,0]: 00412ef0
;XREF[1,0]: 0040da4b
.text:00412eea 8bff MOV EDI,EDI
.text:00412eec 55 PUSH EBP
.text:00412eed 8bec MOV EBP,ESP
.text:00412eef 56 PUSH ESI
.text:00412ef0 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00412ef3 397508 CMP dword ptr [EBP + param_1+0x4],ESI
.text:00412ef6 741e JZ LAB_00412f16
.text:00412ef8 57 PUSH EDI
LAB_00412ef9: ;XREF[1,0]: 00412f13
.text:00412ef9 8b7efc MOV EDI,dword ptr [ESI + -0x4]
.text:00412efc 85ff TEST EDI,EDI
.text:00412efe 740d JZ LAB_00412f0d
.text:00412f00 6a00 PUSH 0x0
.text:00412f02 8bcf MOV ECX,EDI
.text:00412f04 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00412f0a ffd7 CALL EDI
.text:00412f0c 59 POP ECX
LAB_00412f0d: ;XREF[1,0]: 00412efe
.text:00412f0d 83ee08 SUB ESI,0x8
.text:00412f10 3b7508 CMP ESI,dword ptr [EBP + param_1+0x4]
.text:00412f13 75e4 JNZ LAB_00412ef9
.text:00412f15 5f POP EDI
LAB_00412f16: ;XREF[1,0]: 00412ef6
.text:00412f16 b001 MOV AL,0x1
.text:00412f18 5e POP ESI
.text:00412f19 5d POP EBP
.text:00412f1a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412f1b(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 00412f20
;XREF[1,0]: 0040d956
.text:00412f1b 8bff MOV EDI,EDI
.text:00412f1d 55 PUSH EBP
.text:00412f1e 8bec MOV EBP,ESP
.text:00412f20 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00412f23 a308434200 MOV [.data:DAT_00424308],EAX ;= ??
.text:00412f28 5d POP EBP
.text:00412f29 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_00412f2a(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 00412f3b
;XREF[3,0]: 0040e345,0040edf0,00417c9c
.text:00412f2a 8bff MOV EDI,EDI
.text:00412f2c 55 PUSH EBP
.text:00412f2d 8bec MOV EBP,ESP
.text:00412f2f 56 PUSH ESI
.text:00412f30 e821000000 CALL FUN_00412f56 ;uint FUN_00412f56(void)
.text:00412f35 8bf0 MOV ESI,EAX
.text:00412f37 85f6 TEST ESI,ESI
.text:00412f39 7416 JZ LAB_00412f51
.text:00412f3b ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00412f3e 8bce MOV ECX,ESI
.text:00412f40 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00412f46 ffd6 CALL ESI
.text:00412f48 f7d8 NEG EAX
.text:00412f4a 59 POP ECX
.text:00412f4b 1bc0 SBB EAX,EAX
.text:00412f4d f7d8 NEG EAX
.text:00412f4f eb02 JMP LAB_00412f53
LAB_00412f51: ;XREF[1,0]: 00412f39
.text:00412f51 33c0 XOR EAX,EAX
LAB_00412f53: ;XREF[1,0]: 00412f4f
.text:00412f53 5e POP ESI
.text:00412f54 5d POP EBP
.text:00412f55 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00412f56(void)
;local_8 undefined4 -8 ;XREF[2,0]: 00412f6e,00412f83
;local_14 undefined4 -14 ;XREF[1,0]: 00412f91
;local_20 undefined4 -20 ;XREF[2,0]: 00412f62,00412f80
;XREF[1,0]: 00412f30
.text:00412f56 6a0c PUSH 0xc
.text:00412f58 6840204200 PUSH .rdata:DAT_00422040 ;= FEh
.text:00412f5d e89eeffeff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00412f62 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
.text:00412f66 6a00 PUSH 0x0
.text:00412f68 e8e6afffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:00412f6d 59 POP ECX
.text:00412f6e 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00412f72 ff3508434200 PUSH dword ptr [.data:DAT_00424308] ;= ??
.text:00412f78 e84016ffff CALL FUN_004045bd ;uint FUN_004045bd(uint param_1)
.text:00412f7d 59 POP ECX
.text:00412f7e 8bf0 MOV ESI,EAX
.text:00412f80 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:00412f83 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00412f8a e815000000 CALL FUN_00412fa4 ;undefined FUN_00412fa4(void)
.text:00412f8f 8bc6 MOV EAX,ESI
.text:00412f91 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00412f94 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00412f9b 59 POP ECX
.text:00412f9c 5f POP EDI
.text:00412f9d 5e POP ESI
.text:00412f9e 5b POP EBX
.text:00412f9f c9 LEAVE
.text:00412fa0 c3 RET
.text:00412fa1 8b align align(1)
.text:00412fa2 75 ?? 75h u
.text:00412fa3 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00412fa4(void)
;XREF[1,0]: 00412f8a
.text:00412fa4 6a00 PUSH 0x0
.text:00412fa6 e8f0afffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:00412fab 59 POP ECX
.text:00412fac c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00412fad(int * param_1)
;param_1 int * 4 ;XREF[1,0]: 00412fbd
;local_8 undefined4 -8 ;XREF[2,0]: 00412fc8,00412fe6
;local_14 undefined4 -14 ;XREF[1,0]: 00412ff4
;local_20 undefined4 -20 ;XREF[2,0]: 00412fb9,00412fe3
;XREF[1,0]: 0041309f
.text:00412fad 6a0c PUSH 0xc
.text:00412faf 6880204200 PUSH .rdata:DAT_00422080 ;= FEh
.text:00412fb4 e847effeff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00412fb9 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
.text:00412fbd 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00412fc0 ff30 PUSH dword ptr [EAX]
.text:00412fc2 e88cafffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:00412fc7 59 POP ECX
.text:00412fc8 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00412fcc 8b0d14304200 MOV ECX,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:00412fd2 83e11f AND ECX,0x1f
.text:00412fd5 8b3514434200 MOV ESI,dword ptr [.data:DAT_00424314] ;= ??
.text:00412fdb 333514304200 XOR ESI,dword ptr [.data:DAT_00423014] ;= BB40E64Eh
.text:00412fe1 d3ce ROR ESI,CL
.text:00412fe3 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:00412fe6 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00412fed e817000000 CALL FUN_00413009 ;undefined FUN_00413009(void)
.text:00412ff2 8bc6 MOV EAX,ESI
.text:00412ff4 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00412ff7 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00412ffe 59 POP ECX
.text:00412fff 5f POP EDI
.text:00413000 5e POP ESI
.text:00413001 5b POP EBX
.text:00413002 c9 LEAVE
.text:00413003 c20c00 RET 0xc
.text:00413006 8b align align(1)
.text:00413007 75 ?? 75h u
.text:00413008 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413009(void)
;XREF[1,0]: 00412fed
.text:00413009 8b4d10 MOV ECX,dword ptr [EBP + 0x10]
.text:0041300c ff31 PUSH dword ptr [ECX]
.text:0041300e e888afffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:00413013 59 POP ECX
.text:00413014 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void (__cdecl** __cdecl get_global_action_nolock(int))(int) *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;_func_void_int * * get_global_action_nolock(int param_1)
;param_1 int 4 ;XREF[1,0]: 0041301a
;XREF[1,0]: 0041314e
.text:00413015 8bff MOV EDI,EDI
.text:00413017 55 PUSH EBP
.text:00413018 8bec MOV EBP,ESP
.text:0041301a 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041301d 48 DEC EAX
.text:0041301e 83e801 SUB EAX,0x1
.text:00413021 742d JZ LAB_00413050
.text:00413023 83e804 SUB EAX,0x4
.text:00413026 7421 JZ LAB_00413049
.text:00413028 83e809 SUB EAX,0x9
.text:0041302b 7415 JZ LAB_00413042
.text:0041302d 83e806 SUB EAX,0x6
.text:00413030 7409 JZ LAB_0041303b
.text:00413032 83e801 SUB EAX,0x1
.text:00413035 7412 JZ LAB_00413049
.text:00413037 33c0 XOR EAX,EAX
.text:00413039 5d POP EBP
.text:0041303a c3 RET
LAB_0041303b: ;XREF[1,0]: 00413030
.text:0041303b b810434200 MOV EAX,.data:DAT_00424310 ;= ??
.text:00413040 5d POP EBP
.text:00413041 c3 RET
LAB_00413042: ;XREF[1,0]: 0041302b
.text:00413042 b818434200 MOV EAX,.data:DAT_00424318 ;= ??
.text:00413047 5d POP EBP
.text:00413048 c3 RET
LAB_00413049: ;XREF[2,0]: 00413026,00413035
.text:00413049 b814434200 MOV EAX,.data:DAT_00424314 ;= ??
.text:0041304e 5d POP EBP
.text:0041304f c3 RET
LAB_00413050: ;XREF[1,0]: 00413021
.text:00413050 b80c434200 MOV EAX,.data:DAT_0042430c ;= ??
.text:00413055 5d POP EBP
.text:00413056 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* struct __crt_signal_action_t * __cdecl siglookup(int,struct __crt_signal_action_t * const) *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;__crt_signal_action_t * siglookup(int param_1, __crt_signal_action_t * param_2)
;param_1 int 4 ;XREF[1,0]: 0041306c
;param_2 __crt_signa... 8 ;XREF[1,0]: 00413063
;XREF[1,0]: 00413115
.text:00413057 8bff MOV EDI,EDI
.text:00413059 55 PUSH EBP
.text:0041305a 8bec MOV EBP,ESP
.text:0041305c 6b0d60ca4... IMUL ECX,dword ptr [.rdata:DAT_0041ca60],0xc ;= 0000000Ch
.text:00413063 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00413066 03c8 ADD ECX,EAX
.text:00413068 3bc1 CMP EAX,ECX
.text:0041306a 740f JZ LAB_0041307b
.text:0041306c 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
LAB_0041306f: ;XREF[1,0]: 00413079
.text:0041306f 395004 CMP dword ptr [EAX + 0x4],EDX
.text:00413072 7409 JZ LAB_0041307d
.text:00413074 83c00c ADD EAX,0xc
.text:00413077 3bc1 CMP EAX,ECX
.text:00413079 75f4 JNZ LAB_0041306f
LAB_0041307b: ;XREF[1,0]: 0041306a
.text:0041307b 33c0 XOR EAX,EAX
LAB_0041307d: ;XREF[1,0]: 00413072
.text:0041307d 5d POP EBP
.text:0041307e c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_get_sigabrt_handler *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_get_sigabrt_handler(void)
;local_5 undefined1 -5 ;XREF[2,0]: 0041308d,00413097
;local_c undefined4 -c ;XREF[2,0]: 0041308a,00413093
;local_10 undefined4 -10 ;XREF[2,0]: 00413090,0041309b
;XREF[1,0]: 0040db49
.text:0041307f 8bff MOV EDI,EDI
.text:00413081 55 PUSH EBP
.text:00413082 8bec MOV EBP,ESP
.text:00413084 83ec0c SUB ESP,0xc
.text:00413087 6a03 PUSH 0x3
.text:00413089 58 POP EAX
.text:0041308a 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0041308d 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:00413090 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00413093 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00413096 50 PUSH EAX
.text:00413097 8d45ff LEA EAX=>local_5,[EBP + -0x1]
.text:0041309a 50 PUSH EAX
.text:0041309b 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:0041309e 50 PUSH EAX
.text:0041309f e809ffffff CALL FUN_00412fad ;uint FUN_00412fad(int * param_1)
.text:004130a4 c9 LEAVE
.text:004130a5 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004130a6(undefined4 param_1)
;param_1 undefined4 4 ;XREF[1,0]: 004130ab
;XREF[1,0]: 0040d95c
.text:004130a6 8bff MOV EDI,EDI
.text:004130a8 55 PUSH EBP
.text:004130a9 8bec MOV EBP,ESP
.text:004130ab 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004130ae a30c434200 MOV [.data:DAT_0042430c],EAX ;= ??
.text:004130b3 a310434200 MOV [.data:DAT_00424310],EAX ;= ??
.text:004130b8 a314434200 MOV [.data:DAT_00424314],EAX ;= ??
.text:004130bd a318434200 MOV [.data:DAT_00424318],EAX ;= ??
.text:004130c2 5d POP EBP
.text:004130c3 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_004130c4(int param_1)
;param_1 int 4 ;XREF[1,0]: 004130dd
;local_8 undefined4 -8 ;XREF[2,0]: 00413171,0041320e
;local_14 undefined4 -14 ;XREF[1,0]: 00413292
;local_1d undefined1 -1d ;XREF[2,0]: 004130da,00413137
;local_1e undefined1 -1e ;XREF[2,0]: 0041316d,00413196
;local_24 undefined4 -24 ;XREF[5,0]: 0041317a,0041318a,004131da,0041322c,00413265
;local_28 undefined4 -28 ;XREF[3,0]: 00413156,00413175,00413209
;local_2c undefined4 -2c ;XREF[2,0]: 004130d2,00413103
;local_30 undefined4 -30 ;XREF[2,0]: 00413169,0041318d
;local_34 undefined4 -34 ;XREF[3,0]: 00413159,004131b7,0041327a
;local_38 undefined4 -38 ;XREF[3,0]: 004130d5,004131cb,0041328a
;local_3c undefined4 -3c ;XREF[1,0]: 004131f4
;XREF[1,0]: 0040db54
.text:004130c4 6a28 PUSH 0x28
.text:004130c6 6860204200 PUSH .rdata:DAT_00422060 ;= FEh
.text:004130cb e830eefeff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:004130d0 33ff XOR EDI,EDI
.text:004130d2 897dd8 MOV dword ptr [EBP + local_2c+0x4],EDI
.text:004130d5 217dcc AND dword ptr [EBP + local_38+0x4],EDI
.text:004130d8 b301 MOV BL,0x1
.text:004130da 885de7 MOV byte ptr [EBP + local_1d+0x4],BL
.text:004130dd 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004130e0 83fe0b CMP ESI,0xb
.text:004130e3 7f57 JG LAB_0041313c
.text:004130e5 7415 JZ LAB_004130fc
.text:004130e7 8bc6 MOV EAX,ESI
.text:004130e9 6a02 PUSH 0x2
.text:004130eb 59 POP ECX
.text:004130ec 2bc1 SUB EAX,ECX
.text:004130ee 745d JZ LAB_0041314d
.text:004130f0 2bc1 SUB EAX,ECX
.text:004130f2 7408 JZ LAB_004130fc
.text:004130f4 2bc1 SUB EAX,ECX
.text:004130f6 7455 JZ LAB_0041314d
.text:004130f8 2bc1 SUB EAX,ECX
.text:004130fa 7524 JNZ LAB_00413120
LAB_004130fc: ;XREF[2,0]: 004130e5,004130f2
.text:004130fc e8f9d4ffff CALL FUN_004105fa ;__acrt_ptd * FUN_004105fa(void)
.text:00413101 8bf8 MOV EDI,EAX
.text:00413103 897dd8 MOV dword ptr [EBP + local_2c+0x4],EDI
.text:00413106 85ff TEST EDI,EDI
.text:00413108 7508 JNZ LAB_00413112
LAB_0041310a: ;XREF[1,0]: 00413130
.text:0041310a 83c8ff OR EAX,0xffffffff
.text:0041310d e980010000 JMP LAB_00413292
LAB_00413112: ;XREF[1,0]: 00413108
.text:00413112 ff37 PUSH dword ptr [EDI]
.text:00413114 56 PUSH ESI
.text:00413115 e83dffffff CALL siglookup ;__crt_signal_action_t * siglookup(in...
.text:0041311a 59 POP ECX
.text:0041311b 59 POP ECX
.text:0041311c 85c0 TEST EAX,EAX
.text:0041311e 7512 JNZ LAB_00413132
LAB_00413120: ;XREF[2,0]: 004130fa,0041314b
.text:00413120 e8dfb1ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00413125 c70016000000 MOV dword ptr [EAX],0x16
.text:0041312b e8f3b0ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00413130 ebd8 JMP LAB_0041310a
LAB_00413132: ;XREF[1,0]: 0041311e
.text:00413132 83c008 ADD EAX,0x8
.text:00413135 32db XOR BL,BL
.text:00413137 885de7 MOV byte ptr [EBP + local_1d+0x4],BL
.text:0041313a eb1a JMP LAB_00413156
LAB_0041313c: ;XREF[1,0]: 004130e3
.text:0041313c 8bc6 MOV EAX,ESI
.text:0041313e 83e80f SUB EAX,0xf
.text:00413141 740a JZ LAB_0041314d
.text:00413143 83e806 SUB EAX,0x6
.text:00413146 7405 JZ LAB_0041314d
.text:00413148 83e801 SUB EAX,0x1
.text:0041314b 75d3 JNZ LAB_00413120
LAB_0041314d: ;XREF[4,0]: 004130ee,004130f6,00413141,00413146
.text:0041314d 56 PUSH ESI
.text:0041314e e8c2feffff CALL get_global_action_nolock ;_func_void_int * * get_global_action...
.text:00413153 83c404 ADD ESP,0x4
LAB_00413156: ;XREF[1,0]: 0041313a
.text:00413156 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:00413159 8365d000 AND dword ptr [EBP + local_34+0x4],0x0
.text:0041315d 84db TEST BL,BL
.text:0041315f 7408 JZ LAB_00413169
.text:00413161 6a03 PUSH 0x3
.text:00413163 e8ebadffff CALL ___acrt_lock ;undefined ___acrt_lock(int param_1)
.text:00413168 59 POP ECX
LAB_00413169: ;XREF[1,0]: 0041315f
.text:00413169 8365d400 AND dword ptr [EBP + local_30+0x4],0x0
.text:0041316d c645e600 MOV byte ptr [EBP + local_1e+0x4],0x0
.text:00413171 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00413175 8b45dc MOV EAX,dword ptr [EBP + local_28+0x4]
.text:00413178 8b08 MOV ECX,dword ptr [EAX]
.text:0041317a 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:0041317d 84db TEST BL,BL
.text:0041317f 740c JZ LAB_0041318d
.text:00413181 51 PUSH ECX
.text:00413182 e83614ffff CALL FUN_004045bd ;uint FUN_004045bd(uint param_1)
.text:00413187 59 POP ECX
.text:00413188 8bc8 MOV ECX,EAX
.text:0041318a 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
LAB_0041318d: ;XREF[1,0]: 0041317f
.text:0041318d 894dd4 MOV dword ptr [EBP + local_30+0x4],ECX
.text:00413190 83f901 CMP ECX,0x1
.text:00413193 0f94c7 SETZ BH
.text:00413196 887de6 MOV byte ptr [EBP + local_1e+0x4],BH
.text:00413199 84ff TEST BH,BH
.text:0041319b 7571 JNZ LAB_0041320e
.text:0041319d 85c9 TEST ECX,ECX
.text:0041319f 0f84fd000000 JZ LAB_004132a2
.text:004131a5 83fe08 CMP ESI,0x8
.text:004131a8 740a JZ LAB_004131b4
.text:004131aa 83fe0b CMP ESI,0xb
.text:004131ad 7405 JZ LAB_004131b4
.text:004131af 83fe04 CMP ESI,0x4
.text:004131b2 7529 JNZ LAB_004131dd
LAB_004131b4: ;XREF[2,0]: 004131a8,004131ad
.text:004131b4 8b4704 MOV EAX,dword ptr [EDI + 0x4]
.text:004131b7 8945d0 MOV dword ptr [EBP + local_34+0x4],EAX
.text:004131ba 83670400 AND dword ptr [EDI + 0x4],0x0
.text:004131be 83fe08 CMP ESI,0x8
.text:004131c1 7541 JNZ LAB_00413204
.text:004131c3 e8e1d2ffff CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:004131c8 8b4008 MOV EAX,dword ptr [EAX + 0x8]
.text:004131cb 8945cc MOV dword ptr [EBP + local_38+0x4],EAX
.text:004131ce e8d6d2ffff CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:004131d3 c740088c0... MOV dword ptr [EAX + 0x8],0x8c
.text:004131da 8b4de0 MOV ECX,dword ptr [EBP + local_24+0x4]
LAB_004131dd: ;XREF[1,0]: 004131b2
.text:004131dd 83fe08 CMP ESI,0x8
.text:004131e0 7522 JNZ LAB_00413204
.text:004131e2 6b0564ca4... IMUL EAX,dword ptr [.rdata:DAT_0041ca64],0xc ;= 00000003h
.text:004131e9 0307 ADD EAX,dword ptr [EDI]
.text:004131eb 6b1568ca4... IMUL EDX,dword ptr [.rdata:DAT_0041ca68],0xc ;= 00000009h
.text:004131f2 03d0 ADD EDX,EAX
LAB_004131f4: ;XREF[1,0]: 00413202
.text:004131f4 8945c8 MOV dword ptr [EBP + local_3c+0x4],EAX
.text:004131f7 3bc2 CMP EAX,EDX
.text:004131f9 7413 JZ LAB_0041320e
.text:004131fb 83600800 AND dword ptr [EAX + 0x8],0x0
.text:004131ff 83c00c ADD EAX,0xc
.text:00413202 ebf0 JMP LAB_004131f4
LAB_00413204: ;XREF[2,0]: 004131c1,004131e0
.text:00413204 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00413209 8b55dc MOV EDX,dword ptr [EBP + local_28+0x4]
.text:0041320c 8902 MOV dword ptr [EDX],EAX
LAB_0041320e: ;XREF[2,0]: 0041319b,004131f9
.text:0041320e c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00413215 e834000000 CALL FUN_0041324e ;undefined FUN_0041324e(void)
.text:0041321a 84ff TEST BH,BH
.text:0041321c 7572 JNZ LAB_00413290
.text:0041321e 83fe08 CMP ESI,0x8
.text:00413221 753b JNZ LAB_0041325e
.text:00413223 e881d2ffff CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:00413228 ff7008 PUSH dword ptr [EAX + 0x8]
.text:0041322b 56 PUSH ESI
.text:0041322c 8b5de0 MOV EBX,dword ptr [EBP + local_24+0x4]
.text:0041322f 8bcb MOV ECX,EBX
.text:00413231 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00413237 ffd3 CALL EBX
.text:00413239 59 POP ECX
.text:0041323a eb2e JMP LAB_0041326a
.text:0041323c 8b ?? 8Bh
.text:0041323d 75 ?? 75h u
.text:0041323e 08 ?? 08h
.text:0041323f 8b ?? 8Bh
.text:00413240 7d ?? 7Dh }
.text:00413241 d8 ?? D8h
.text:00413242 8a ?? 8Ah
.text:00413243 5d ?? 5Dh ]
.text:00413244 e7 ?? E7h
.text:00413245 8b ?? 8Bh
.text:00413246 4d ?? 4Dh M
.text:00413247 d4 ?? D4h
.text:00413248 89 ?? 89h
.text:00413249 4d ?? 4Dh M
.text:0041324a e0 ?? E0h
.text:0041324b 8a ?? 8Ah
.text:0041324c 7d ?? 7Dh }
.text:0041324d e6 ?? E6h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041324e(void)
;XREF[1,0]: 00413215
.text:0041324e 84db TEST BL,BL
.text:00413250 740b JZ LAB_0041325d
.text:00413252 6a03 PUSH 0x3
.text:00413254 e842adffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:00413259 59 POP ECX
.text:0041325a 8b4de0 MOV ECX,dword ptr [EBP + -0x20]
LAB_0041325d: ;XREF[1,0]: 00413250
.text:0041325d c3 RET
LAB_0041325e: ;XREF[1,0]: 00413221
.text:0041325e 56 PUSH ESI
.text:0041325f ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00413265 8b5de0 MOV EBX,dword ptr [EBP + local_24+0x4]
.text:00413268 ffd3 CALL EBX
LAB_0041326a: ;XREF[1,0]: 0041323a
.text:0041326a 59 POP ECX
.text:0041326b 83fe08 CMP ESI,0x8
.text:0041326e 740a JZ LAB_0041327a
.text:00413270 83fe0b CMP ESI,0xb
.text:00413273 7405 JZ LAB_0041327a
.text:00413275 83fe04 CMP ESI,0x4
.text:00413278 7516 JNZ LAB_00413290
LAB_0041327a: ;XREF[2,0]: 0041326e,00413273
.text:0041327a 8b45d0 MOV EAX,dword ptr [EBP + local_34+0x4]
.text:0041327d 894704 MOV dword ptr [EDI + 0x4],EAX
.text:00413280 83fe08 CMP ESI,0x8
.text:00413283 750b JNZ LAB_00413290
.text:00413285 e81fd2ffff CALL FUN_004104a9 ;__acrt_ptd * FUN_004104a9(void)
.text:0041328a 8b4dcc MOV ECX,dword ptr [EBP + local_38+0x4]
.text:0041328d 894808 MOV dword ptr [EAX + 0x8],ECX
LAB_00413290: ;XREF[3,0]: 0041321c,00413278,00413283
.text:00413290 33c0 XOR EAX,EAX
LAB_00413292: ;XREF[1,0]: 0041310d
.text:00413292 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00413295 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:0041329c 59 POP ECX
.text:0041329d 5f POP EDI
.text:0041329e 5e POP ESI
.text:0041329f 5b POP EBX
.text:004132a0 c9 LEAVE
.text:004132a1 c3 RET
LAB_004132a2: ;XREF[1,0]: 0041319f
.text:004132a2 84db TEST BL,BL
.text:004132a4 7408 JZ LAB_004132ae
.text:004132a6 6a03 PUSH 0x3
.text:004132a8 e8eeacffff CALL ___acrt_unlock ;undefined ___acrt_unlock(int param_1)
.text:004132ad 59 POP ECX
LAB_004132ae: ;XREF[1,0]: 004132a4
.text:004132ae 6a03 PUSH 0x3
.text:004132b0 e8ba15ffff CALL __exit ;undefined __exit(UINT param_1)
.text:004132b5 cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* ___hw_cw_sse2 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;uint ___hw_cw_sse2(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 004132bb
;XREF[1,0]: 0041366b
.text:004132b6 8bff MOV EDI,EDI
.text:004132b8 55 PUSH EBP
.text:004132b9 8bec MOV EBP,ESP
.text:004132bb 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:004132be 8bc1 MOV EAX,ECX
.text:004132c0 53 PUSH EBX
.text:004132c1 83e010 AND EAX,0x10
.text:004132c4 bb00020000 MOV EBX,0x200
.text:004132c9 56 PUSH ESI
.text:004132ca c1e003 SHL EAX,0x3
.text:004132cd 57 PUSH EDI
.text:004132ce f6c108 TEST CL,0x8
.text:004132d1 7402 JZ LAB_004132d5
.text:004132d3 0bc3 OR EAX,EBX
LAB_004132d5: ;XREF[1,0]: 004132d1
.text:004132d5 f6c104 TEST CL,0x4
.text:004132d8 7405 JZ LAB_004132df
.text:004132da 0d00040000 OR EAX,0x400
LAB_004132df: ;XREF[1,0]: 004132d8
.text:004132df f6c102 TEST CL,0x2
.text:004132e2 7405 JZ LAB_004132e9
.text:004132e4 0d00080000 OR EAX,0x800
LAB_004132e9: ;XREF[1,0]: 004132e2
.text:004132e9 f6c101 TEST CL,0x1
.text:004132ec 7405 JZ LAB_004132f3
.text:004132ee 0d00100000 OR EAX,0x1000
LAB_004132f3: ;XREF[1,0]: 004132ec
.text:004132f3 be00010000 MOV ESI,0x100
.text:004132f8 f7c100000800 TEST ECX,0x80000
.text:004132fe 7402 JZ LAB_00413302
.text:00413300 0bc6 OR EAX,ESI
LAB_00413302: ;XREF[1,0]: 004132fe
.text:00413302 8bd1 MOV EDX,ECX
.text:00413304 bf00030000 MOV EDI,0x300
.text:00413309 23d7 AND EDX,EDI
.text:0041330b 741f JZ LAB_0041332c
.text:0041330d 3bd6 CMP EDX,ESI
.text:0041330f 7416 JZ LAB_00413327
.text:00413311 3bd3 CMP EDX,EBX
.text:00413313 740b JZ LAB_00413320
.text:00413315 3bd7 CMP EDX,EDI
.text:00413317 7513 JNZ LAB_0041332c
.text:00413319 0d00600000 OR EAX,0x6000
.text:0041331e eb0c JMP LAB_0041332c
LAB_00413320: ;XREF[1,0]: 00413313
.text:00413320 0d00400000 OR EAX,0x4000
.text:00413325 eb05 JMP LAB_0041332c
LAB_00413327: ;XREF[1,0]: 0041330f
.text:00413327 0d00200000 OR EAX,0x2000
LAB_0041332c: ;XREF[4,0]: 0041330b,00413317,0041331e,00413325
.text:0041332c ba00000003 MOV EDX,0x3000000
.text:00413331 5f POP EDI
.text:00413332 23ca AND ECX,EDX
.text:00413334 5e POP ESI
.text:00413335 5b POP EBX
.text:00413336 81f900000001 CMP ECX,0x1000000
.text:0041333c 7418 JZ LAB_00413356
.text:0041333e 81f900000002 CMP ECX,0x2000000
.text:00413344 740b JZ LAB_00413351
.text:00413346 3bca CMP ECX,EDX
.text:00413348 7511 JNZ LAB_0041335b
.text:0041334a 0d00800000 OR EAX,0x8000
.text:0041334f 5d POP EBP
.text:00413350 c3 RET
LAB_00413351: ;XREF[1,0]: 00413344
.text:00413351 83c840 OR EAX,0x40
.text:00413354 5d POP EBP
.text:00413355 c3 RET
LAB_00413356: ;XREF[1,0]: 0041333c
.text:00413356 0d40800000 OR EAX,0x8040
LAB_0041335b: ;XREF[1,0]: 00413348
.text:0041335b 5d POP EBP
.text:0041335c c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __clearfp *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;uint __clearfp(void)
;local_8 undefined2 -8 ;XREF[3,0]: 00413366,0041337a,004133fc
;local_c undefined4 -c ;XREF[3,0]: 004133b5,004133b9,004133c6
;local_10 undefined4 -10 ;XREF[2,0]: 004133bf,004133c2
;XREF[1,0]: 0041830f
.text:0041335d 8bff MOV EDI,EDI
.text:0041335f 55 PUSH EBP
.text:00413360 8bec MOV EBP,ESP
.text:00413362 83ec0c SUB ESP,0xc
.text:00413365 56 PUSH ESI
.text:00413366 dd7dfc FNSTSW word ptr [EBP + local_8+0x4]
.text:00413369 dbe2 FNCLEX
.text:0041336b 33f6 XOR ESI,ESI
.text:0041336d 46 INC ESI
.text:0041336e 39353c394200 CMP dword ptr [.data:DAT_0042393c],ESI
.text:00413374 0f8c82000000 JL LAB_004133fc
.text:0041337a 668b45fc MOV AX,word ptr [EBP + local_8+0x4]
.text:0041337e 33c9 XOR ECX,ECX
.text:00413380 8bd1 MOV EDX,ECX
.text:00413382 57 PUSH EDI
.text:00413383 bf00000800 MOV EDI,0x80000
.text:00413388 a83f TEST AL,0x3f
.text:0041338a 7429 JZ LAB_004133b5
.text:0041338c 0fb7d0 MOVZX EDX,AX
.text:0041338f 23d6 AND EDX,ESI
.text:00413391 c1e204 SHL EDX,0x4
.text:00413394 a804 TEST AL,0x4
.text:00413396 7403 JZ LAB_0041339b
.text:00413398 83ca08 OR EDX,0x8
LAB_0041339b: ;XREF[1,0]: 00413396
.text:0041339b a808 TEST AL,0x8
.text:0041339d 7403 JZ LAB_004133a2
.text:0041339f 83ca04 OR EDX,0x4
LAB_004133a2: ;XREF[1,0]: 0041339d
.text:004133a2 a810 TEST AL,0x10
.text:004133a4 7403 JZ LAB_004133a9
.text:004133a6 83ca02 OR EDX,0x2
LAB_004133a9: ;XREF[1,0]: 004133a4
.text:004133a9 a820 TEST AL,0x20
.text:004133ab 7402 JZ LAB_004133af
.text:004133ad 0bd6 OR EDX,ESI
LAB_004133af: ;XREF[1,0]: 004133ab
.text:004133af a802 TEST AL,0x2
.text:004133b1 7402 JZ LAB_004133b5
.text:004133b3 0bd7 OR EDX,EDI
LAB_004133b5: ;XREF[2,0]: 0041338a,004133b1
.text:004133b5 0fae5df8 STMXCSR dword ptr [EBP + local_c+0x4]
.text:004133b9 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:004133bc 83e0c0 AND EAX,0xffffffc0
.text:004133bf 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:004133c2 0fae55f4 LDMXCSR dword ptr [EBP + local_10+0x4]
.text:004133c6 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:004133c9 a83f TEST AL,0x3f
.text:004133cb 7428 JZ LAB_004133f5
.text:004133cd 8bc8 MOV ECX,EAX
.text:004133cf 23ce AND ECX,ESI
.text:004133d1 c1e104 SHL ECX,0x4
.text:004133d4 a804 TEST AL,0x4
.text:004133d6 7403 JZ LAB_004133db
.text:004133d8 83c908 OR ECX,0x8
LAB_004133db: ;XREF[1,0]: 004133d6
.text:004133db a808 TEST AL,0x8
.text:004133dd 7403 JZ LAB_004133e2
.text:004133df 83c904 OR ECX,0x4
LAB_004133e2: ;XREF[1,0]: 004133dd
.text:004133e2 a810 TEST AL,0x10
.text:004133e4 7403 JZ LAB_004133e9
.text:004133e6 83c902 OR ECX,0x2
LAB_004133e9: ;XREF[1,0]: 004133e4
.text:004133e9 a820 TEST AL,0x20
.text:004133eb 7402 JZ LAB_004133ef
.text:004133ed 0bce OR ECX,ESI
LAB_004133ef: ;XREF[1,0]: 004133eb
.text:004133ef a802 TEST AL,0x2
.text:004133f1 7402 JZ LAB_004133f5
.text:004133f3 0bcf OR ECX,EDI
LAB_004133f5: ;XREF[2,0]: 004133cb,004133f1
.text:004133f5 0bca OR ECX,EDX
.text:004133f7 8bc1 MOV EAX,ECX
.text:004133f9 5f POP EDI
.text:004133fa eb3c JMP LAB_00413438
LAB_004133fc: ;XREF[1,0]: 00413374
.text:004133fc 668b4dfc MOV CX,word ptr [EBP + local_8+0x4]
.text:00413400 33c0 XOR EAX,EAX
.text:00413402 f6c13f TEST CL,0x3f
.text:00413405 7431 JZ LAB_00413438
.text:00413407 0fb7c1 MOVZX EAX,CX
.text:0041340a 23c6 AND EAX,ESI
.text:0041340c c1e004 SHL EAX,0x4
.text:0041340f f6c104 TEST CL,0x4
.text:00413412 7403 JZ LAB_00413417
.text:00413414 83c808 OR EAX,0x8
LAB_00413417: ;XREF[1,0]: 00413412
.text:00413417 f6c108 TEST CL,0x8
.text:0041341a 7403 JZ LAB_0041341f
.text:0041341c 83c804 OR EAX,0x4
LAB_0041341f: ;XREF[1,0]: 0041341a
.text:0041341f f6c110 TEST CL,0x10
.text:00413422 7403 JZ LAB_00413427
.text:00413424 83c802 OR EAX,0x2
LAB_00413427: ;XREF[1,0]: 00413422
.text:00413427 f6c120 TEST CL,0x20
.text:0041342a 7402 JZ LAB_0041342e
.text:0041342c 0bc6 OR EAX,ESI
LAB_0041342e: ;XREF[1,0]: 0041342a
.text:0041342e f6c102 TEST CL,0x2
.text:00413431 7405 JZ LAB_00413438
.text:00413433 0d00000800 OR EAX,0x80000
LAB_00413438: ;XREF[3,0]: 004133fa,00413405,00413431
.text:00413438 5e POP ESI
.text:00413439 c9 LEAVE
.text:0041343a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __control87 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;uint __control87(uint _NewValue, uint _Mask)
;_NewValue uint 4 ;XREF[2,0]: 004134e7,00413659
;_Mask uint 8 ;XREF[1,0]: 004134e2
;local_8 undefined2 -8 ;XREF[4,0]: 00413501,00413505,00413508,0041350c
;local_c undefined2 -c ;XREF[2,0]: 00413443,00413447
;local_10 undefined4 -10 ;XREF[3,0]: 00413671,0041367b,0041367f
;local_14 undefined4 -14 ;XREF[2,0]: 004135b5,004135b9
;XREF[3,0]: 0040da7a,0040da9e,0040daa7
.text:0041343b 8bff MOV EDI,EDI
.text:0041343d 55 PUSH EBP
.text:0041343e 8bec MOV EBP,ESP
.text:00413440 83ec10 SUB ESP,0x10
.text:00413443 9bd97df8 FSTCW word ptr [EBP + local_c+0x4]
.text:00413447 668b45f8 MOV AX,word ptr [EBP + local_c+0x4]
.text:0041344b 0fb7c8 MOVZX ECX,AX
.text:0041344e 83e101 AND ECX,0x1
.text:00413451 c1e104 SHL ECX,0x4
.text:00413454 a804 TEST AL,0x4
.text:00413456 7403 JZ LAB_0041345b
.text:00413458 83c908 OR ECX,0x8
LAB_0041345b: ;XREF[1,0]: 00413456
.text:0041345b a808 TEST AL,0x8
.text:0041345d 7403 JZ LAB_00413462
.text:0041345f 83c904 OR ECX,0x4
LAB_00413462: ;XREF[1,0]: 0041345d
.text:00413462 a810 TEST AL,0x10
.text:00413464 7403 JZ LAB_00413469
.text:00413466 83c902 OR ECX,0x2
LAB_00413469: ;XREF[1,0]: 00413464
.text:00413469 a820 TEST AL,0x20
.text:0041346b 7403 JZ LAB_00413470
.text:0041346d 83c901 OR ECX,0x1
LAB_00413470: ;XREF[1,0]: 0041346b
.text:00413470 a802 TEST AL,0x2
.text:00413472 7406 JZ LAB_0041347a
.text:00413474 81c900000800 OR ECX,0x80000
LAB_0041347a: ;XREF[1,0]: 00413472
.text:0041347a 53 PUSH EBX
.text:0041347b 56 PUSH ESI
.text:0041347c 0fb7f0 MOVZX ESI,AX
.text:0041347f bb000c0000 MOV EBX,0xc00
.text:00413484 8bd6 MOV EDX,ESI
.text:00413486 57 PUSH EDI
.text:00413487 bf00020000 MOV EDI,0x200
.text:0041348c 23d3 AND EDX,EBX
.text:0041348e 7426 JZ LAB_004134b6
.text:00413490 81fa00040000 CMP EDX,0x400
.text:00413496 7418 JZ LAB_004134b0
.text:00413498 81fa00080000 CMP EDX,0x800
.text:0041349e 740c JZ LAB_004134ac
.text:004134a0 3bd3 CMP EDX,EBX
.text:004134a2 7512 JNZ LAB_004134b6
.text:004134a4 81c900030000 OR ECX,0x300
.text:004134aa eb0a JMP LAB_004134b6
LAB_004134ac: ;XREF[1,0]: 0041349e
.text:004134ac 0bcf OR ECX,EDI
.text:004134ae eb06 JMP LAB_004134b6
LAB_004134b0: ;XREF[1,0]: 00413496
.text:004134b0 81c900010000 OR ECX,0x100
LAB_004134b6: ;XREF[4,0]: 0041348e,004134a2,004134aa,004134ae
.text:004134b6 81e600030000 AND ESI,0x300
.text:004134bc 740c JZ LAB_004134ca
.text:004134be 3bf7 CMP ESI,EDI
.text:004134c0 750e JNZ LAB_004134d0
.text:004134c2 81c900000100 OR ECX,0x10000
.text:004134c8 eb06 JMP LAB_004134d0
LAB_004134ca: ;XREF[1,0]: 004134bc
.text:004134ca 81c900000200 OR ECX,0x20000
LAB_004134d0: ;XREF[2,0]: 004134c0,004134c8
.text:004134d0 0fb7c0 MOVZX EAX,AX
.text:004134d3 ba00100000 MOV EDX,0x1000
.text:004134d8 85c2 TEST EDX,EAX
.text:004134da 7406 JZ LAB_004134e2
.text:004134dc 81c900000400 OR ECX,0x40000
LAB_004134e2: ;XREF[1,0]: 004134da
.text:004134e2 8b7d0c MOV EDI,dword ptr [EBP + _Mask+0x4]
.text:004134e5 8bf7 MOV ESI,EDI
.text:004134e7 8b4508 MOV EAX,dword ptr [EBP + _NewValue+0x4]
.text:004134ea f7d6 NOT ESI
.text:004134ec 23f1 AND ESI,ECX
.text:004134ee 23c7 AND EAX,EDI
.text:004134f0 0bf0 OR ESI,EAX
.text:004134f2 3bf1 CMP ESI,ECX
.text:004134f4 0f84a8000000 JZ LAB_004135a2
.text:004134fa 56 PUSH ESI
.text:004134fb e83c020000 CALL __hw_cw ;uint __hw_cw(uint param_1)
.text:00413500 59 POP ECX
.text:00413501 668945fc MOV word ptr [EBP + local_8+0x4],AX
.text:00413505 d96dfc FLDCW word ptr [EBP + local_8+0x4]
.text:00413508 9bd97dfc FSTCW word ptr [EBP + local_8+0x4]
.text:0041350c 668b45fc MOV AX,word ptr [EBP + local_8+0x4]
.text:00413510 0fb7f0 MOVZX ESI,AX
.text:00413513 83e601 AND ESI,0x1
.text:00413516 c1e604 SHL ESI,0x4
.text:00413519 a804 TEST AL,0x4
.text:0041351b 7403 JZ LAB_00413520
.text:0041351d 83ce08 OR ESI,0x8
LAB_00413520: ;XREF[1,0]: 0041351b
.text:00413520 a808 TEST AL,0x8
.text:00413522 7403 JZ LAB_00413527
.text:00413524 83ce04 OR ESI,0x4
LAB_00413527: ;XREF[1,0]: 00413522
.text:00413527 a810 TEST AL,0x10
.text:00413529 7403 JZ LAB_0041352e
.text:0041352b 83ce02 OR ESI,0x2
LAB_0041352e: ;XREF[1,0]: 00413529
.text:0041352e a820 TEST AL,0x20
.text:00413530 7403 JZ LAB_00413535
.text:00413532 83ce01 OR ESI,0x1
LAB_00413535: ;XREF[1,0]: 00413530
.text:00413535 a802 TEST AL,0x2
.text:00413537 7406 JZ LAB_0041353f
.text:00413539 81ce00000800 OR ESI,0x80000
LAB_0041353f: ;XREF[1,0]: 00413537
.text:0041353f 0fb7d0 MOVZX EDX,AX
.text:00413542 8bca MOV ECX,EDX
.text:00413544 23cb AND ECX,EBX
.text:00413546 742a JZ LAB_00413572
.text:00413548 81f900040000 CMP ECX,0x400
.text:0041354e 741c JZ LAB_0041356c
.text:00413550 81f900080000 CMP ECX,0x800
.text:00413556 740c JZ LAB_00413564
.text:00413558 3bcb CMP ECX,EBX
.text:0041355a 7516 JNZ LAB_00413572
.text:0041355c 81ce00030000 OR ESI,0x300
.text:00413562 eb0e JMP LAB_00413572
LAB_00413564: ;XREF[1,0]: 00413556
.text:00413564 81ce00020000 OR ESI,0x200
.text:0041356a eb06 JMP LAB_00413572
LAB_0041356c: ;XREF[1,0]: 0041354e
.text:0041356c 81ce00010000 OR ESI,0x100
LAB_00413572: ;XREF[4,0]: 00413546,0041355a,00413562,0041356a
.text:00413572 81e200030000 AND EDX,0x300
.text:00413578 7410 JZ LAB_0041358a
.text:0041357a 81fa00020000 CMP EDX,0x200
.text:00413580 750e JNZ LAB_00413590
.text:00413582 81ce00000100 OR ESI,0x10000
.text:00413588 eb06 JMP LAB_00413590
LAB_0041358a: ;XREF[1,0]: 00413578
.text:0041358a 81ce00000200 OR ESI,0x20000
LAB_00413590: ;XREF[2,0]: 00413580,00413588
.text:00413590 0fb7c0 MOVZX EAX,AX
.text:00413593 ba00100000 MOV EDX,0x1000
.text:00413598 85c2 TEST EDX,EAX
.text:0041359a 7406 JZ LAB_004135a2
.text:0041359c 81ce00000400 OR ESI,0x40000
LAB_004135a2: ;XREF[2,0]: 004134f4,0041359a
.text:004135a2 833d3c394... CMP dword ptr [.data:DAT_0042393c],0x1
.text:004135a9 0f8c86010000 JL LAB_00413735
.text:004135af 81e71f030803 AND EDI,0x308031f
.text:004135b5 0fae5df0 STMXCSR dword ptr [EBP + local_14+0x4]
.text:004135b9 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004135bc 8bc1 MOV EAX,ECX
.text:004135be c1e803 SHR EAX,0x3
.text:004135c1 83e010 AND EAX,0x10
.text:004135c4 f7c100020000 TEST ECX,0x200
.text:004135ca 7403 JZ LAB_004135cf
.text:004135cc 83c808 OR EAX,0x8
LAB_004135cf: ;XREF[1,0]: 004135ca
.text:004135cf f7c100040000 TEST ECX,0x400
.text:004135d5 7403 JZ LAB_004135da
.text:004135d7 83c804 OR EAX,0x4
LAB_004135da: ;XREF[1,0]: 004135d5
.text:004135da f7c100080000 TEST ECX,0x800
.text:004135e0 7403 JZ LAB_004135e5
.text:004135e2 83c802 OR EAX,0x2
LAB_004135e5: ;XREF[1,0]: 004135e0
.text:004135e5 85ca TEST EDX,ECX
.text:004135e7 7403 JZ LAB_004135ec
.text:004135e9 83c801 OR EAX,0x1
LAB_004135ec: ;XREF[1,0]: 004135e7
.text:004135ec f7c100010000 TEST ECX,0x100
.text:004135f2 7405 JZ LAB_004135f9
.text:004135f4 0d00000800 OR EAX,0x80000
LAB_004135f9: ;XREF[1,0]: 004135f2
.text:004135f9 8bd1 MOV EDX,ECX
.text:004135fb bb00600000 MOV EBX,0x6000
.text:00413600 23d3 AND EDX,EBX
.text:00413602 7427 JZ LAB_0041362b
.text:00413604 81fa00200000 CMP EDX,0x2000
.text:0041360a 741a JZ LAB_00413626
.text:0041360c 81fa00400000 CMP EDX,0x4000
.text:00413612 740b JZ LAB_0041361f
.text:00413614 3bd3 CMP EDX,EBX
.text:00413616 7513 JNZ LAB_0041362b
.text:00413618 0d00030000 OR EAX,0x300
.text:0041361d eb0c JMP LAB_0041362b
LAB_0041361f: ;XREF[1,0]: 00413612
.text:0041361f 0d00020000 OR EAX,0x200
.text:00413624 eb05 JMP LAB_0041362b
LAB_00413626: ;XREF[1,0]: 0041360a
.text:00413626 0d00010000 OR EAX,0x100
LAB_0041362b: ;XREF[4,0]: 00413602,00413616,0041361d,00413624
.text:0041362b 6a40 PUSH 0x40
.text:0041362d 81e140800000 AND ECX,0x8040
.text:00413633 5b POP EBX
.text:00413634 2bcb SUB ECX,EBX
.text:00413636 741a JZ LAB_00413652
.text:00413638 81e9c07f0000 SUB ECX,0x7fc0
.text:0041363e 740b JZ LAB_0041364b
.text:00413640 2bcb SUB ECX,EBX
.text:00413642 7513 JNZ LAB_00413657
.text:00413644 0d00000001 OR EAX,0x1000000
.text:00413649 eb0c JMP LAB_00413657
LAB_0041364b: ;XREF[1,0]: 0041363e
.text:0041364b 0d00000003 OR EAX,0x3000000
.text:00413650 eb05 JMP LAB_00413657
LAB_00413652: ;XREF[1,0]: 00413636
.text:00413652 0d00000002 OR EAX,0x2000000
LAB_00413657: ;XREF[3,0]: 00413642,00413649,00413650
.text:00413657 8bcf MOV ECX,EDI
.text:00413659 237d08 AND EDI,dword ptr [EBP + _NewValue+0x4]
.text:0041365c f7d1 NOT ECX
.text:0041365e 23c8 AND ECX,EAX
.text:00413660 0bcf OR ECX,EDI
.text:00413662 3bc8 CMP ECX,EAX
.text:00413664 0f84b4000000 JZ LAB_0041371e
.text:0041366a 51 PUSH ECX
.text:0041366b e846fcffff CALL ___hw_cw_sse2 ;uint ___hw_cw_sse2(uint param_1)
.text:00413670 50 PUSH EAX
.text:00413671 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00413674 e843460000 CALL ___set_fpsr_sse2 ;undefined ___set_fpsr_sse2(uint para...
.text:00413679 59 POP ECX
.text:0041367a 59 POP ECX
.text:0041367b 0fae5df4 STMXCSR dword ptr [EBP + local_10+0x4]
.text:0041367f 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:00413682 8bc1 MOV EAX,ECX
.text:00413684 c1e803 SHR EAX,0x3
.text:00413687 83e010 AND EAX,0x10
.text:0041368a f7c100020000 TEST ECX,0x200
.text:00413690 7403 JZ LAB_00413695
.text:00413692 83c808 OR EAX,0x8
LAB_00413695: ;XREF[1,0]: 00413690
.text:00413695 f7c100040000 TEST ECX,0x400
.text:0041369b 7403 JZ LAB_004136a0
.text:0041369d 83c804 OR EAX,0x4
LAB_004136a0: ;XREF[1,0]: 0041369b
.text:004136a0 f7c100080000 TEST ECX,0x800
.text:004136a6 7403 JZ LAB_004136ab
.text:004136a8 83c802 OR EAX,0x2
LAB_004136ab: ;XREF[1,0]: 004136a6
.text:004136ab f7c100100000 TEST ECX,0x1000
.text:004136b1 7403 JZ LAB_004136b6
.text:004136b3 83c801 OR EAX,0x1
LAB_004136b6: ;XREF[1,0]: 004136b1
.text:004136b6 f7c100010000 TEST ECX,0x100
.text:004136bc 7405 JZ LAB_004136c3
.text:004136be 0d00000800 OR EAX,0x80000
LAB_004136c3: ;XREF[1,0]: 004136bc
.text:004136c3 8bd1 MOV EDX,ECX
.text:004136c5 bf00600000 MOV EDI,0x6000
.text:004136ca 23d7 AND EDX,EDI
.text:004136cc 7427 JZ LAB_004136f5
.text:004136ce 81fa00200000 CMP EDX,0x2000
.text:004136d4 741a JZ LAB_004136f0
.text:004136d6 81fa00400000 CMP EDX,0x4000
.text:004136dc 740b JZ LAB_004136e9
.text:004136de 3bd7 CMP EDX,EDI
.text:004136e0 7513 JNZ LAB_004136f5
.text:004136e2 0d00030000 OR EAX,0x300
.text:004136e7 eb0c JMP LAB_004136f5
LAB_004136e9: ;XREF[1,0]: 004136dc
.text:004136e9 0d00020000 OR EAX,0x200
.text:004136ee eb05 JMP LAB_004136f5
LAB_004136f0: ;XREF[1,0]: 004136d4
.text:004136f0 0d00010000 OR EAX,0x100
LAB_004136f5: ;XREF[4,0]: 004136cc,004136e0,004136e7,004136ee
.text:004136f5 81e140800000 AND ECX,0x8040
.text:004136fb 2bcb SUB ECX,EBX
.text:004136fd 741a JZ LAB_00413719
.text:004136ff 81e9c07f0000 SUB ECX,0x7fc0
.text:00413705 740b JZ LAB_00413712
.text:00413707 2bcb SUB ECX,EBX
.text:00413709 7513 JNZ LAB_0041371e
.text:0041370b 0d00000001 OR EAX,0x1000000
.text:00413710 eb0c JMP LAB_0041371e
LAB_00413712: ;XREF[1,0]: 00413705
.text:00413712 0d00000003 OR EAX,0x3000000
.text:00413717 eb05 JMP LAB_0041371e
LAB_00413719: ;XREF[1,0]: 004136fd
.text:00413719 0d00000002 OR EAX,0x2000000
LAB_0041371e: ;XREF[4,0]: 00413664,00413709,00413710,00413717
.text:0041371e 8bc8 MOV ECX,EAX
.text:00413720 33c6 XOR EAX,ESI
.text:00413722 0bce OR ECX,ESI
.text:00413724 a91f030800 TEST EAX,0x8031f
.text:00413729 7406 JZ LAB_00413731
.text:0041372b 81c900000080 OR ECX,0x80000000
LAB_00413731: ;XREF[1,0]: 00413729
.text:00413731 8bc1 MOV EAX,ECX
.text:00413733 eb02 JMP LAB_00413737
LAB_00413735: ;XREF[1,0]: 004135a9
.text:00413735 8bc6 MOV EAX,ESI
LAB_00413737: ;XREF[1,0]: 00413733
.text:00413737 5f POP EDI
.text:00413738 5e POP ESI
.text:00413739 5b POP EBX
.text:0041373a c9 LEAVE
.text:0041373b c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __hw_cw *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;uint __hw_cw(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 00413741
;XREF[1,0]: 004134fb
.text:0041373c 8bff MOV EDI,EDI
.text:0041373e 55 PUSH EBP
.text:0041373f 8bec MOV EBP,ESP
.text:00413741 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00413744 8bd1 MOV EDX,ECX
.text:00413746 c1ea04 SHR EDX,0x4
.text:00413749 83e201 AND EDX,0x1
.text:0041374c 8bc2 MOV EAX,EDX
.text:0041374e f6c108 TEST CL,0x8
.text:00413751 7406 JZ LAB_00413759
.text:00413753 83ca04 OR EDX,0x4
.text:00413756 0fb7c2 MOVZX EAX,DX
LAB_00413759: ;XREF[1,0]: 00413751
.text:00413759 f6c104 TEST CL,0x4
.text:0041375c 7403 JZ LAB_00413761
.text:0041375e 83c808 OR EAX,0x8
LAB_00413761: ;XREF[1,0]: 0041375c
.text:00413761 f6c102 TEST CL,0x2
.text:00413764 7403 JZ LAB_00413769
.text:00413766 83c810 OR EAX,0x10
LAB_00413769: ;XREF[1,0]: 00413764
.text:00413769 f6c101 TEST CL,0x1
.text:0041376c 7403 JZ LAB_00413771
.text:0041376e 83c820 OR EAX,0x20
LAB_00413771: ;XREF[1,0]: 0041376c
.text:00413771 f7c100000800 TEST ECX,0x80000
.text:00413777 7403 JZ LAB_0041377c
.text:00413779 83c802 OR EAX,0x2
LAB_0041377c: ;XREF[1,0]: 00413777
.text:0041377c 56 PUSH ESI
.text:0041377d 8bd1 MOV EDX,ECX
.text:0041377f be00030000 MOV ESI,0x300
.text:00413784 57 PUSH EDI
.text:00413785 bf00020000 MOV EDI,0x200
.text:0041378a 23d6 AND EDX,ESI
.text:0041378c 7423 JZ LAB_004137b1
.text:0041378e 81fa00010000 CMP EDX,0x100
.text:00413794 7416 JZ LAB_004137ac
.text:00413796 3bd7 CMP EDX,EDI
.text:00413798 740b JZ LAB_004137a5
.text:0041379a 3bd6 CMP EDX,ESI
.text:0041379c 7513 JNZ LAB_004137b1
.text:0041379e 0d000c0000 OR EAX,0xc00
.text:004137a3 eb0c JMP LAB_004137b1
LAB_004137a5: ;XREF[1,0]: 00413798
.text:004137a5 0d00080000 OR EAX,0x800
.text:004137aa eb05 JMP LAB_004137b1
LAB_004137ac: ;XREF[1,0]: 00413794
.text:004137ac 0d00040000 OR EAX,0x400
LAB_004137b1: ;XREF[4,0]: 0041378c,0041379c,004137a3,004137aa
.text:004137b1 8bd1 MOV EDX,ECX
.text:004137b3 81e200000300 AND EDX,0x30000
.text:004137b9 740c JZ LAB_004137c7
.text:004137bb 81fa00000100 CMP EDX,0x10000
.text:004137c1 7506 JNZ LAB_004137c9
.text:004137c3 0bc7 OR EAX,EDI
.text:004137c5 eb02 JMP LAB_004137c9
LAB_004137c7: ;XREF[1,0]: 004137b9
.text:004137c7 0bc6 OR EAX,ESI
LAB_004137c9: ;XREF[2,0]: 004137c1,004137c5
.text:004137c9 5f POP EDI
.text:004137ca 5e POP ESI
.text:004137cb f7c100000400 TEST ECX,0x40000
.text:004137d1 7405 JZ LAB_004137d8
.text:004137d3 0d00100000 OR EAX,0x1000
LAB_004137d8: ;XREF[1,0]: 004137d1
.text:004137d8 5d POP EBP
.text:004137d9 c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* int __cdecl GetTableIndexFromLocaleName(wchar_t const *) *
;* int __cdecl ATL::_AtlGetTableIndexFromLocaleName(wchar_t const *) *
;* _GetTableIndexFromLocaleName *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined4 FID_conflict:GetTableIndexFromLocaleName(ushort * param_1)
;param_1 ushort * 4 ;XREF[1,0]: 004137fc
;XREF[1,0]: 00413838
.text:004137da 8bff MOV EDI,EDI
.text:004137dc 55 PUSH EBP
.text:004137dd 8bec MOV EBP,ESP
.text:004137df 53 PUSH EBX
.text:004137e0 56 PUSH ESI
.text:004137e1 57 PUSH EDI
.text:004137e2 33ff XOR EDI,EDI
.text:004137e4 bbe3000000 MOV EBX,0xe3
LAB_004137e9: ;XREF[1,0]: 00413817
.text:004137e9 8d043b LEA EAX,[EBX + EDI*0x1]
.text:004137ec 99 CDQ
.text:004137ed 2bc2 SUB EAX,EDX
.text:004137ef 8bf0 MOV ESI,EAX
.text:004137f1 d1fe SAR ESI,0x1
.text:004137f3 6a55 PUSH 0x55
; FWD[4,0]: 0041f088,0041f250,0041f814,0041fa0c
.text:004137f5 ff34f5c8e... PUSH dword ptr [ESI*0x8 + 0x41eec8]=>.rdat...;= 0041f814
;= 0041fa0c
;= u"en-tt"
;= u"id-id"
.text:004137fc ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004137ff e8cd430000 CALL FUN_00417bd1 ;int FUN_00417bd1(ushort * param_1, u...
.text:00413804 83c40c ADD ESP,0xc
.text:00413807 85c0 TEST EAX,EAX
.text:00413809 7413 JZ LAB_0041381e
.text:0041380b 7905 JNS LAB_00413812
.text:0041380d 8d5eff LEA EBX,[ESI + -0x1]
.text:00413810 eb03 JMP LAB_00413815
LAB_00413812: ;XREF[1,0]: 0041380b
.text:00413812 8d7e01 LEA EDI,[ESI + 0x1]
LAB_00413815: ;XREF[1,0]: 00413810
.text:00413815 3bfb CMP EDI,EBX
.text:00413817 7ed0 JLE LAB_004137e9
.text:00413819 83c8ff OR EAX,0xffffffff
.text:0041381c eb07 JMP LAB_00413825
LAB_0041381e: ;XREF[1,0]: 00413809
.text:0041381e 8b04f5cce... MOV EAX,dword ptr [ESI*0x8 + 0x41eecc]=>....;= 00000061h
LAB_00413825: ;XREF[1,0]: 0041381c
.text:00413825 5f POP EDI
.text:00413826 5e POP ESI
.text:00413827 5b POP EBX
.text:00413828 5d POP EBP
.text:00413829 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_DownlevelLocaleNameToLCID *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 ___acrt_DownlevelLocaleNameToLCID(ushort * param_1)
;param_1 ushort * 4 ;XREF[2,0]: 0041382f,00413835
;XREF[1,0]: 0040e7ef
.text:0041382a 8bff MOV EDI,EDI
.text:0041382c 55 PUSH EBP
.text:0041382d 8bec MOV EBP,ESP
.text:0041382f 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:00413833 741d JZ LAB_00413852
.text:00413835 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00413838 e89dffffff CALL FID_conflict:GetTableIndexFromLocaleName;undefined4 FID_conflict:GetTableInde...
.text:0041383d 59 POP ECX
.text:0041383e 85c0 TEST EAX,EAX
.text:00413840 7810 JS LAB_00413852
.text:00413842 3de4000000 CMP EAX,0xe4
.text:00413847 7309 JNC LAB_00413852
.text:00413849 8b04c5a8d... MOV EAX,dword ptr [EAX*0x8 + .rdata:DAT_0...;= 01h
.text:00413850 5d POP EBP
.text:00413851 c3 RET
LAB_00413852: ;XREF[3,0]: 00413833,00413840,00413847
.text:00413852 33c0 XOR EAX,EAX
.text:00413854 5d POP EBP
.text:00413855 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00413856(FILE * param_1, __acrt_ptd * * param_2)
;param_1 FILE * 4 ;XREF[1,0]: 00413862
;param_2 __acrt_ptd * * 8 ;XREF[2,0]: 0041386c,004138b1
;local_8 undefined4 -8 ;XREF[2,0]: 004138ae,004138c1
;local_14 undefined4 -14 ;XREF[1,0]: 004138cf
;local_20 undefined4 -20 ;XREF[2,0]: 004138a5,004138be
;local_24 undefined4 -24 ;XREF[1,0]: 00413865
;XREF[1,0]: 00413995
.text:00413856 6a10 PUSH 0x10
.text:00413858 68a0204200 PUSH .rdata:DAT_004220a0 ;= FEh
.text:0041385d e89ee6feff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00413862 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00413865 8975e0 MOV dword ptr [EBP + local_24+0x4],ESI
.text:00413868 85f6 TEST ESI,ESI
.text:0041386a 7523 JNZ LAB_0041388f
.text:0041386c 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0041386f c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00413873 c74018160... MOV dword ptr [EAX + 0x18],0x16
.text:0041387a 50 PUSH EAX
.text:0041387b 33ff XOR EDI,EDI
.text:0041387d 57 PUSH EDI
.text:0041387e 57 PUSH EDI
.text:0041387f 57 PUSH EDI
.text:00413880 57 PUSH EDI
.text:00413881 57 PUSH EDI
.text:00413882 e81fa9ffff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00413887 83c418 ADD ESP,0x18
LAB_0041388a: ;XREF[1,0]: 004138a1
.text:0041388a 83c8ff OR EAX,0xffffffff
.text:0041388d eb40 JMP LAB_004138cf
LAB_0041388f: ;XREF[1,0]: 0041386a
.text:0041388f 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:00413892 90 NOP
.text:00413893 c1e80c SHR EAX,0xc
.text:00413896 56 PUSH ESI
.text:00413897 a801 TEST AL,0x1
.text:00413899 7408 JZ LAB_004138a3
.text:0041389b e814470000 CALL __acrt_stdio_free_stream ;void __acrt_stdio_free_stream(__crt_...
.text:004138a0 59 POP ECX
.text:004138a1 ebe7 JMP LAB_0041388a
LAB_004138a3: ;XREF[1,0]: 00413899
.text:004138a3 33ff XOR EDI,EDI
.text:004138a5 897de4 MOV dword ptr [EBP + local_20+0x4],EDI
.text:004138a8 e83811ffff CALL __lock_file ;void __lock_file(FILE * _File)
.text:004138ad 59 POP ECX
.text:004138ae 897dfc MOV dword ptr [EBP + local_8+0x4],EDI
.text:004138b1 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:004138b4 56 PUSH ESI
.text:004138b5 e833000000 CALL FUN_004138ed ;undefined4 FUN_004138ed(FILE * param...
.text:004138ba 59 POP ECX
.text:004138bb 59 POP ECX
.text:004138bc 8bf8 MOV EDI,EAX
.text:004138be 897de4 MOV dword ptr [EBP + local_20+0x4],EDI
.text:004138c1 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:004138c8 e818000000 CALL FUN_004138e5 ;undefined FUN_004138e5(void)
.text:004138cd 8bc7 MOV EAX,EDI
LAB_004138cf: ;XREF[1,0]: 0041388d
.text:004138cf 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004138d2 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:004138d9 59 POP ECX
.text:004138da 5f POP EDI
.text:004138db 5e POP ESI
.text:004138dc 5b POP EBX
.text:004138dd c9 LEAVE
.text:004138de c3 RET
.text:004138df 8b align align(1)
.text:004138e0 75 ?? 75h u
.text:004138e1 e0 ?? E0h
.text:004138e2 8b ?? 8Bh
.text:004138e3 7d ?? 7Dh }
.text:004138e4 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004138e5(void)
;XREF[1,0]: 004138c8
.text:004138e5 56 PUSH ESI
.text:004138e6 e80e11ffff CALL __unlock_file ;void __unlock_file(FILE * _File)
.text:004138eb 59 POP ECX
.text:004138ec c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_004138ed(FILE * param_1, __acrt_ptd * * param_2)
;param_1 FILE * 4 ;XREF[1,0]: 004138f3
;param_2 __acrt_ptd * * 8 ;XREF[3,0]: 004138fa,0041392c,00413940
;XREF[1,0]: 004138b5
.text:004138ed 8bff MOV EDI,EDI
.text:004138ef 55 PUSH EBP
.text:004138f0 8bec MOV EBP,ESP
.text:004138f2 56 PUSH ESI
.text:004138f3 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004138f6 85f6 TEST ESI,ESI
.text:004138f8 7523 JNZ LAB_0041391d
.text:004138fa 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004138fd 50 PUSH EAX
.text:004138fe c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00413902 c74018160... MOV dword ptr [EAX + 0x18],0x16
.text:00413909 33c0 XOR EAX,EAX
.text:0041390b 50 PUSH EAX
.text:0041390c 50 PUSH EAX
.text:0041390d 50 PUSH EAX
.text:0041390e 50 PUSH EAX
.text:0041390f 50 PUSH EAX
.text:00413910 e891a8ffff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00413915 83c418 ADD ESP,0x18
.text:00413918 83c8ff OR EAX,0xffffffff
.text:0041391b eb5b JMP LAB_00413978
LAB_0041391d: ;XREF[1,0]: 004138f8
.text:0041391d 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:00413920 57 PUSH EDI
.text:00413921 83cfff OR EDI,0xffffffff
.text:00413924 90 NOP
.text:00413925 c1e80d SHR EAX,0xd
.text:00413928 a801 TEST AL,0x1
.text:0041392a 7442 JZ LAB_0041396e
.text:0041392c ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0041392f 56 PUSH ESI
.text:00413930 e893b1ffff CALL FUN_0040eac8 ;undefined4 FUN_0040eac8(FILE * param...
.text:00413935 56 PUSH ESI
.text:00413936 8bf8 MOV EDI,EAX
.text:00413938 e862b2ffff CALL ___acrt_stdio_free_buffer_nolock ;undefined ___acrt_stdio_free_buffer_...
.text:0041393d 83c40c ADD ESP,0xc
.text:00413940 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00413943 56 PUSH ESI
.text:00413944 e892c6ffff CALL __fileno ;int __fileno(FILE * _File)
.text:00413949 59 POP ECX
.text:0041394a 50 PUSH EAX
.text:0041394b e821450000 CALL FUN_00417e71 ;undefined4 FUN_00417e71(uint param_1...
.text:00413950 59 POP ECX
.text:00413951 59 POP ECX
.text:00413952 85c0 TEST EAX,EAX
.text:00413954 7905 JNS LAB_0041395b
.text:00413956 83cfff OR EDI,0xffffffff
.text:00413959 eb13 JMP LAB_0041396e
LAB_0041395b: ;XREF[1,0]: 00413954
.text:0041395b 837e1c00 CMP dword ptr [ESI + 0x1c],0x0
.text:0041395f 740d JZ LAB_0041396e
.text:00413961 ff761c PUSH dword ptr [ESI + 0x1c]
.text:00413964 e80baaffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00413969 83661c00 AND dword ptr [ESI + 0x1c],0x0
.text:0041396d 59 POP ECX
LAB_0041396e: ;XREF[3,0]: 0041392a,00413959,0041395f
.text:0041396e 56 PUSH ESI
.text:0041396f e840460000 CALL __acrt_stdio_free_stream ;void __acrt_stdio_free_stream(__crt_...
.text:00413974 59 POP ECX
.text:00413975 8bc7 MOV EAX,EDI
.text:00413977 5f POP EDI
LAB_00413978: ;XREF[1,0]: 0041391b
.text:00413978 5e POP ESI
.text:00413979 5d POP EBP
.text:0041397a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0041397b(FILE * param_1)
;param_1 FILE * 4 ;XREF[1,0]: 00413992
;local_2c undefined1 -2c ;XREF[3,0]: 00413983,0041398e,0041399c
;XREF[1,0]: 0040e88d
.text:0041397b 8bff MOV EDI,EDI
.text:0041397d 55 PUSH EBP
.text:0041397e 8bec MOV EBP,ESP
.text:00413980 83ec28 SUB ESP,0x28
.text:00413983 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:00413986 56 PUSH ESI
.text:00413987 6a00 PUSH 0x0
.text:00413989 e8421cffff CALL FUN_004055d0 ;void * FUN_004055d0(void * this, und...
.text:0041398e 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
.text:00413991 50 PUSH EAX
.text:00413992 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00413995 e8bcfeffff CALL FUN_00413856 ;undefined4 FUN_00413856(FILE * param...
.text:0041399a 59 POP ECX
.text:0041399b 59 POP ECX
.text:0041399c 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:0041399f 8bf0 MOV ESI,EAX
.text:004139a1 e88a1cffff CALL FUN_00405630 ;undefined FUN_00405630(__acrt_ptd * ...
.text:004139a6 8bc6 MOV EAX,ESI
.text:004139a8 5e POP ESI
.text:004139a9 c9 LEAVE
.text:004139aa c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_004139ab(uint * param_1, uint * * param_2)
;param_1 uint * 4 ;XREF[1,0]: 004139bc
;param_2 uint * * 8 ;XREF[1,0]: 004139ca
;local_8 undefined4 -8 ;XREF[2,0]: 004139c7,00413a1e
;local_14 undefined4 -14 ;XREF[1,0]: 00413a2c
;local_20 undefined4 -20 ;XREF[2,0]: 004139b9,00413a1b
;XREF[1,0]: 00413aad
.text:004139ab 6a0c PUSH 0xc
.text:004139ad 68c0204200 PUSH .rdata:DAT_004220c0 ;= FEh
.text:004139b2 e849e5feff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:004139b7 33f6 XOR ESI,ESI
.text:004139b9 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:004139bc 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004139bf ff30 PUSH dword ptr [EAX]
.text:004139c1 e8b2ebffff CALL FUN_00412578 ;undefined FUN_00412578(uint param_1)
.text:004139c6 59 POP ECX
.text:004139c7 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
.text:004139ca 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004139cd 8b00 MOV EAX,dword ptr [EAX]
.text:004139cf 8b38 MOV EDI,dword ptr [EAX]
.text:004139d1 8bd7 MOV EDX,EDI
.text:004139d3 c1fa06 SAR EDX,0x6
.text:004139d6 8bc7 MOV EAX,EDI
.text:004139d8 83e03f AND EAX,0x3f
.text:004139db 6bc838 IMUL ECX,EAX,0x38
.text:004139de 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:004139e5 f644082801 TEST byte ptr [EAX + ECX*0x1 + 0x28],0x1
.text:004139ea 7421 JZ LAB_00413a0d
.text:004139ec 57 PUSH EDI
.text:004139ed e85decffff CALL FUN_0041264f ;undefined4 FUN_0041264f(uint param_1)
.text:004139f2 59 POP ECX
.text:004139f3 50 PUSH EAX ;HANDLE hFile for FlushFileBuffers
.text:004139f4 ff15e0b04100 CALL dword ptr [->KERNEL32.DLL::FlushFileB...;= 00022700
.text:004139fa 85c0 TEST EAX,EAX
.text:004139fc 751d JNZ LAB_00413a1b
.text:004139fe ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00413a04 8bf0 MOV ESI,EAX
.text:00413a06 e8e6a8ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00413a0b 8930 MOV dword ptr [EAX],ESI
LAB_00413a0d: ;XREF[1,0]: 004139ea
.text:00413a0d e8f2a8ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00413a12 c70009000000 MOV dword ptr [EAX],0x9
.text:00413a18 83ceff OR ESI,0xffffffff
LAB_00413a1b: ;XREF[1,0]: 004139fc
.text:00413a1b 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:00413a1e c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00413a25 e817000000 CALL FUN_00413a41 ;undefined FUN_00413a41(void)
.text:00413a2a 8bc6 MOV EAX,ESI
.text:00413a2c 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00413a2f 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00413a36 59 POP ECX
.text:00413a37 5f POP EDI
.text:00413a38 5e POP ESI
.text:00413a39 5b POP EBX
.text:00413a3a c9 LEAVE
.text:00413a3b c20c00 RET 0xc
.text:00413a3e 8b align align(1)
.text:00413a3f 75 ?? 75h u
.text:00413a40 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413a41(void)
;XREF[1,0]: 00413a25
.text:00413a41 8b4d10 MOV ECX,dword ptr [EBP + 0x10]
.text:00413a44 ff31 PUSH dword ptr [ECX]
.text:00413a46 e850ebffff CALL ___acrt_lowio_unlock_fh ;undefined ___acrt_lowio_unlock_fh(ui...
.text:00413a4b 59 POP ECX
.text:00413a4c c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __commit *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int __commit(int _FileHandle)
;_FileHandle int 4 ;XREF[2,0]: 00413a56,00413a92
;local_5 undefined1 -5 ;XREF[1,0]: 00413a9b
;local_c undefined4 -c ;XREF[2,0]: 00413a95,00413a9e
;local_10 undefined4 -10 ;XREF[2,0]: 00413a98,00413aa5
;local_14 undefined4 -14 ;XREF[2,0]: 00413aa1,00413aa9
;XREF[1,0]: 0040eb7a
.text:00413a4d 8bff MOV EDI,EDI
.text:00413a4f 55 PUSH EBP
.text:00413a50 8bec MOV EBP,ESP
.text:00413a52 83ec10 SUB ESP,0x10
.text:00413a55 56 PUSH ESI
.text:00413a56 8b7508 MOV ESI,dword ptr [EBP + _FileHandle+0x4]
.text:00413a59 83fefe CMP ESI,-0x2
.text:00413a5c 750d JNZ LAB_00413a6b
.text:00413a5e e8a1a8ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00413a63 c70009000000 MOV dword ptr [EAX],0x9
.text:00413a69 eb59 JMP LAB_00413ac4
LAB_00413a6b: ;XREF[1,0]: 00413a5c
.text:00413a6b 85f6 TEST ESI,ESI
.text:00413a6d 7845 JS LAB_00413ab4
.text:00413a6f 3b35c8424200 CMP ESI,dword ptr [.data:DAT_004242c8] ;= ??
.text:00413a75 733d JNC LAB_00413ab4
.text:00413a77 8bc6 MOV EAX,ESI
.text:00413a79 8bd6 MOV EDX,ESI
.text:00413a7b 83e03f AND EAX,0x3f
.text:00413a7e c1fa06 SAR EDX,0x6
.text:00413a81 6bc838 IMUL ECX,EAX,0x38
.text:00413a84 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00413a8b f644082801 TEST byte ptr [EAX + ECX*0x1 + 0x28],0x1
.text:00413a90 7422 JZ LAB_00413ab4
.text:00413a92 8d4508 LEA EAX=>_FileHandle,[EBP + 0x8]
.text:00413a95 8975f8 MOV dword ptr [EBP + local_c+0x4],ESI
.text:00413a98 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:00413a9b 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:00413a9e 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00413aa1 8975f0 MOV dword ptr [EBP + local_14+0x4],ESI
.text:00413aa4 50 PUSH EAX
.text:00413aa5 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00413aa8 50 PUSH EAX
.text:00413aa9 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:00413aac 50 PUSH EAX
.text:00413aad e8f9feffff CALL FUN_004139ab ;undefined4 FUN_004139ab(uint * param...
.text:00413ab2 eb13 JMP LAB_00413ac7
LAB_00413ab4: ;XREF[3,0]: 00413a6d,00413a75,00413a90
.text:00413ab4 e84ba8ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00413ab9 c70009000000 MOV dword ptr [EAX],0x9
.text:00413abf e85fa7ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_00413ac4: ;XREF[1,0]: 00413a69
.text:00413ac4 83c8ff OR EAX,0xffffffff
LAB_00413ac7: ;XREF[1,0]: 00413ab2
.text:00413ac7 5e POP ESI
.text:00413ac8 c9 LEAVE
.text:00413ac9 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00413aca(DWORD * param_1, uint param_2, byte * param_3, int param_4, __acrt_ptd * * param_5)
;param_1 DWORD * 4 ;XREF[3,0]: 00413b46,00413c22,00413e1e
;param_2 uint 8 ;XREF[1,0]: 00413af7
;param_3 byte * c ;XREF[1,0]: 00413afc
;param_4 int 10 ;XREF[1,0]: 00413b25
;param_5 __acrt_ptd * * 14 ;XREF[1,0]: 00413b02
;local_10 undefined4 -10 ;XREF[2,0]: 00413aee,00413e72
;local_14 undefined4 -14 ;XREF[2,0]: 00413ae7,00413e80
;local_1b undefined1 -1b ;XREF[1,0]: 00413bdf
;local_1c undefined1 -1c ;XREF[2,0]: 00413bf3,00413c25
;local_23 undefined1 -23 ;XREF[1,0]: 00413cdb
;local_24 undefined1 -24 ;XREF[2,0]: 00413cd6,00413ce2
;local_2c undefined1 -2c ;XREF[2,0]: 00413d50,00413d78
;local_30 undefined4 -30 ;XREF[7,0]: 00413b5b,00413cad,00413d45,00413d4d,00413d93
; 00413de6,00413dfd
;local_31 undefined1 -31 ;XREF[2,0]: 00413b71,00413daa
;local_38 undefined4 -38 ;XREF[7,0]: 00413b7a,00413baf,00413bff,00413c40,00413c8e
; 00413d54,00413e00
;local_3c undefined4 -3c ;XREF[8,0]: 00413bc8,00413c33,00413c85,00413c91,00413cfe
; 00413d25,00413d67,00413d9e
;local_40 undefined4 -40 ;XREF[7,0]: 00413b0e,00413c1f,00413c74,00413cd3,00413cea
; 00413d0a,00413d2a
;local_44 undefined4 -44 ;XREF[6,0]: 00413b77,00413c47,00413c95,00413d0d,00413d30
; 00413d57
;local_48 undefined4 -48 ;XREF[6,0]: 00413b11,00413b74,00413c0a,00413e03,00413e2d
; 00413e50
;local_4c undefined4 -4c ;XREF[7,0]: 00413b6c,00413b9b,00413bba,00413bda,00413d98
; 00413de9,00413e5f
;local_50 undefined4 -50 ;XREF[6,0]: 00413bcd,00413be9,00413c69,00413cb0,00413cc0
; 00413e47
;local_54 undefined4 -54 ;XREF[6,0]: 00413b1b,00413b67,00413c05,00413caa,00413e0d
; 00413e2a
;local_58 undefined4 -58 ;XREF[5,0]: 00413b2a,00413b5e,00413baa,00413d01,00413dec
;local_5c undefined2 -5c ;XREF[2,0]: 00413db4,00413dbe
;local_60 undefined4 -60 ;XREF[4,0]: 00413d73,00413da1,00413db8,00413dd3
;local_64 undefined4 -64 ;XREF[3,0]: 00413b0b,00413b56,00413d90
;local_68 undefined4 -68 ;XREF[3,0]: 00413b22,00413d7c,00413dc2
;local_6c undefined4 -6c ;XREF[2,0]: 00413c28,00413c43
;local_70 undefined4 -70 ;XREF[2,0]: 00413b37,00413d5c
;local_74 undefined4 -74 ;XREF[2,0]: 00413b51,00413df1
;local_78 undefined4 -78 ;XREF[1,0]: 00413c3b
;local_7c undefined4 -7c ;XREF[2,0]: 00413c2b,00413c30
;local_80 undefined4 -80 ;XREF[1,0]: 00413c7f
;local_84 undefined4 -84 ;XREF[2,0]: 00413c79,00413c82
;XREF[1,0]: 00414477
.text:00413aca 8bff MOV EDI,EDI
.text:00413acc 55 PUSH EBP
.text:00413acd 8bec MOV EBP,ESP
.text:00413acf 6aff PUSH -0x1
.text:00413ad1 68b4ad4100 PUSH LAB_0041adb4
.text:00413ad6 64a100000000 MOV EAX,FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:00413adc 50 PUSH EAX
.text:00413add 83ec74 SUB ESP,0x74
.text:00413ae0 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00413ae5 33c5 XOR EAX,EBP
.text:00413ae7 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00413aea 53 PUSH EBX
.text:00413aeb 56 PUSH ESI
.text:00413aec 57 PUSH EDI
.text:00413aed 50 PUSH EAX
.text:00413aee 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00413af1 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:00413af7 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00413afa 8bd0 MOV EDX,EAX
.text:00413afc 8b7510 MOV ESI,dword ptr [EBP + param_3+0x4]
.text:00413aff 83e03f AND EAX,0x3f
.text:00413b02 8b5d18 MOV EBX,dword ptr [EBP + param_5+0x4]
.text:00413b05 6bc838 IMUL ECX,EAX,0x38
.text:00413b08 c1fa06 SAR EDX,0x6
.text:00413b0b 8975a0 MOV dword ptr [EBP + local_64+0x4],ESI
.text:00413b0e 895dc4 MOV dword ptr [EBP + local_40+0x4],EBX
.text:00413b11 8955bc MOV dword ptr [EBP + local_48+0x4],EDX
.text:00413b14 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00413b1b 894db0 MOV dword ptr [EBP + local_54+0x4],ECX
.text:00413b1e 8b440118 MOV EAX,dword ptr [ECX + EAX*0x1 + 0x18]
.text:00413b22 89459c MOV dword ptr [EBP + local_68+0x4],EAX
.text:00413b25 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:00413b28 03c6 ADD EAX,ESI
.text:00413b2a 8945ac MOV dword ptr [EBP + local_58+0x4],EAX
.text:00413b2d ff15e4b04100 CALL dword ptr [->KERNEL32.DLL::GetConsole...;= 00022714
.text:00413b33 807b1400 CMP byte ptr [EBX + 0x14],0x0
.text:00413b37 894594 MOV dword ptr [EBP + local_70+0x4],EAX
.text:00413b3a 7507 JNZ LAB_00413b43
.text:00413b3c 8bcb MOV ECX,EBX
.text:00413b3e e89d29ffff CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
LAB_00413b43: ;XREF[1,0]: 00413b3a
.text:00413b43 8b430c MOV EAX,dword ptr [EBX + 0xc]
.text:00413b46 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00413b49 8bfe MOV EDI,ESI
.text:00413b4b 8b4808 MOV ECX,dword ptr [EAX + 0x8]
.text:00413b4e 33c0 XOR EAX,EAX
.text:00413b50 ab STOSD ES:EDI
.text:00413b51 894d90 MOV dword ptr [EBP + local_74+0x4],ECX
.text:00413b54 ab STOSD ES:EDI
.text:00413b55 ab STOSD ES:EDI
.text:00413b56 8b45a0 MOV EAX,dword ptr [EBP + local_64+0x4]
.text:00413b59 8bd0 MOV EDX,EAX
.text:00413b5b 8955d4 MOV dword ptr [EBP + local_30+0x4],EDX
.text:00413b5e 3b45ac CMP EAX,dword ptr [EBP + local_58+0x4]
.text:00413b61 0f8309030000 JNC LAB_00413e70
.text:00413b67 8b7db0 MOV EDI,dword ptr [EBP + local_54+0x4]
.text:00413b6a 33db XOR EBX,EBX
.text:00413b6c 895db8 MOV dword ptr [EBP + local_4c+0x4],EBX
LAB_00413b6f: ;XREF[1,0]: 00413df4
.text:00413b6f 8a02 MOV AL,byte ptr [EDX]
.text:00413b71 8845d3 MOV byte ptr [EBP + local_31+0x4],AL
.text:00413b74 8b45bc MOV EAX,dword ptr [EBP + local_48+0x4]
.text:00413b77 895dc0 MOV dword ptr [EBP + local_44+0x4],EBX
.text:00413b7a c745cc010... MOV dword ptr [EBP + local_38+0x4],0x1
.text:00413b81 81f9e9fd0000 CMP ECX,0xfde9
.text:00413b87 0f852c010000 JNZ LAB_00413cb9
.text:00413b8d 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00413b94 8bcb MOV ECX,EBX
.text:00413b96 83c02e ADD EAX,0x2e
.text:00413b99 03c7 ADD EAX,EDI
.text:00413b9b 8945b8 MOV dword ptr [EBP + local_4c+0x4],EAX
LAB_00413b9e: ;XREF[1,0]: 00413ba8
.text:00413b9e 803800 CMP byte ptr [EAX],0x0
.text:00413ba1 7407 JZ LAB_00413baa
.text:00413ba3 41 INC ECX
.text:00413ba4 40 INC EAX
.text:00413ba5 83f905 CMP ECX,0x5
.text:00413ba8 7cf4 JL LAB_00413b9e
LAB_00413baa: ;XREF[1,0]: 00413ba1
.text:00413baa 8b7dac MOV EDI,dword ptr [EBP + local_58+0x4]
.text:00413bad 2bfa SUB EDI,EDX
.text:00413baf 894dcc MOV dword ptr [EBP + local_38+0x4],ECX
.text:00413bb2 85c9 TEST ECX,ECX
.text:00413bb4 0f8ea4000000 JLE LAB_00413c5e
.text:00413bba 8b45b8 MOV EAX,dword ptr [EBP + local_4c+0x4]
.text:00413bbd 0fb600 MOVZX EAX,byte ptr [EAX]
.text:00413bc0 0fbe80803... MOVSX EAX,byte ptr [EAX + .data:DAT_00423780]
.text:00413bc7 40 INC EAX
.text:00413bc8 8945c8 MOV dword ptr [EBP + local_3c+0x4],EAX
.text:00413bcb 2bc1 SUB EAX,ECX
.text:00413bcd 8945b4 MOV dword ptr [EBP + local_50+0x4],EAX
.text:00413bd0 3bc7 CMP EAX,EDI
.text:00413bd2 0f8f21020000 JG LAB_00413df9
.text:00413bd8 8bfb MOV EDI,EBX
.text:00413bda 8b5db8 MOV EBX,dword ptr [EBP + local_4c+0x4]
LAB_00413bdd: ;XREF[1,0]: 00413be7
.text:00413bdd 8a03 MOV AL,byte ptr [EBX]
.text:00413bdf 88443de8 MOV byte ptr [EBP + ...,AL
.text:00413be3 47 INC EDI
.text:00413be4 43 INC EBX
.text:00413be5 3bf9 CMP EDI,ECX
.text:00413be7 7cf4 JL LAB_00413bdd
.text:00413be9 8b75b4 MOV ESI,dword ptr [EBP + local_50+0x4]
.text:00413bec 33db XOR EBX,EBX
.text:00413bee 85f6 TEST ESI,ESI
.text:00413bf0 7e13 JLE LAB_00413c05
.text:00413bf2 56 PUSH ESI
.text:00413bf3 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:00413bf6 03c1 ADD EAX,ECX
.text:00413bf8 52 PUSH EDX
.text:00413bf9 50 PUSH EAX
.text:00413bfa e8b1f4feff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:00413bff 8b4dcc MOV ECX,dword ptr [EBP + local_38+0x4]
.text:00413c02 83c40c ADD ESP,0xc
LAB_00413c05: ;XREF[1,0]: 00413bf0
.text:00413c05 8b7db0 MOV EDI,dword ptr [EBP + local_54+0x4]
.text:00413c08 8bd3 MOV EDX,EBX
.text:00413c0a 8b75bc MOV ESI,dword ptr [EBP + local_48+0x4]
LAB_00413c0d: ;XREF[1,0]: 00413c1d
.text:00413c0d 8b04b5c84... MOV EAX,dword ptr [ESI*0x4 + .data:DAT_00...;= ??
.text:00413c14 03c7 ADD EAX,EDI
.text:00413c16 885c102e MOV byte ptr [EAX + EDX*0x1 + 0x2e],BL
.text:00413c1a 42 INC EDX
.text:00413c1b 3bd1 CMP EDX,ECX
.text:00413c1d 7cee JL LAB_00413c0d
.text:00413c1f ff75c4 PUSH dword ptr [EBP + local_40+0x4]
.text:00413c22 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00413c25 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:00413c28 894598 MOV dword ptr [EBP + local_6c+0x4],EAX
.text:00413c2b 8d4d88 LEA ECX=>local_7c,[EBP + -0x78]
.text:00413c2e 33c0 XOR EAX,EAX
.text:00413c30 895d88 MOV dword ptr [EBP + local_7c+0x4],EBX
.text:00413c33 837dc804 CMP dword ptr [EBP + local_3c+0x4],0x4
.text:00413c37 51 PUSH ECX
.text:00413c38 0f94c0 SETZ AL
.text:00413c3b 895d8c MOV dword ptr [EBP + local_78+0x4],EBX
.text:00413c3e 40 INC EAX
.text:00413c3f 50 PUSH EAX
.text:00413c40 8945cc MOV dword ptr [EBP + local_38+0x4],EAX
.text:00413c43 8d4598 LEA EAX=>local_6c,[EBP + -0x68]
.text:00413c46 50 PUSH EAX
.text:00413c47 8d45c0 LEA EAX=>local_44,[EBP + -0x40]
.text:00413c4a 50 PUSH EAX
.text:00413c4b e8fb210000 CALL FUN_00415e4b ;int FUN_00415e4b(void * this, ushort...
.text:00413c50 83c414 ADD ESP,0x14
.text:00413c53 83f8ff CMP EAX,-0x1
.text:00413c56 0f8414020000 JZ LAB_00413e70
.text:00413c5c eb4f JMP LAB_00413cad
LAB_00413c5e: ;XREF[1,0]: 00413bb4
.text:00413c5e 0fb602 MOVZX EAX,byte ptr [EDX]
.text:00413c61 0fbe88803... MOVSX ECX,byte ptr [EAX + .data:DAT_00423780]
.text:00413c68 41 INC ECX
.text:00413c69 894db4 MOV dword ptr [EBP + local_50+0x4],ECX
.text:00413c6c 3bcf CMP ECX,EDI
.text:00413c6e 0f8fb2010000 JG LAB_00413e26
.text:00413c74 ff75c4 PUSH dword ptr [EBP + local_40+0x4]
.text:00413c77 33c0 XOR EAX,EAX
.text:00413c79 895d80 MOV dword ptr [EBP + local_84+0x4],EBX
.text:00413c7c 83f904 CMP ECX,0x4
.text:00413c7f 895d84 MOV dword ptr [EBP + local_80+0x4],EBX
.text:00413c82 8d4d80 LEA ECX=>local_84,[EBP + -0x80]
.text:00413c85 8955c8 MOV dword ptr [EBP + local_3c+0x4],EDX
.text:00413c88 0f94c0 SETZ AL
.text:00413c8b 40 INC EAX
.text:00413c8c 51 PUSH ECX
.text:00413c8d 50 PUSH EAX
.text:00413c8e 8945cc MOV dword ptr [EBP + local_38+0x4],EAX
.text:00413c91 8d45c8 LEA EAX=>local_3c,[EBP + -0x38]
.text:00413c94 50 PUSH EAX
.text:00413c95 8d45c0 LEA EAX=>local_44,[EBP + -0x40]
.text:00413c98 50 PUSH EAX
.text:00413c99 e8ad210000 CALL FUN_00415e4b ;int FUN_00415e4b(void * this, ushort...
.text:00413c9e 83c414 ADD ESP,0x14
.text:00413ca1 83f8ff CMP EAX,-0x1
.text:00413ca4 0f84c6010000 JZ LAB_00413e70
.text:00413caa 8b7db0 MOV EDI,dword ptr [EBP + local_54+0x4]
LAB_00413cad: ;XREF[1,0]: 00413c5c
.text:00413cad 8b45d4 MOV EAX,dword ptr [EBP + local_30+0x4]
.text:00413cb0 0345b4 ADD EAX,dword ptr [EBP + local_50+0x4]
.text:00413cb3 48 DEC EAX
.text:00413cb4 e98f000000 JMP LAB_00413d48
LAB_00413cb9: ;XREF[1,0]: 00413b87
.text:00413cb9 8b0c85c84... MOV ECX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00413cc0 894db4 MOV dword ptr [EBP + local_50+0x4],ECX
.text:00413cc3 8a64392d MOV AH,byte ptr [ECX + EDI*0x1 + 0x2d]
.text:00413cc7 f6c404 TEST AH,0x4
.text:00413cca 741e JZ LAB_00413cea
.text:00413ccc 8a44392e MOV AL,byte ptr [ECX + EDI*0x1 + 0x2e]
.text:00413cd0 80e4fb AND AH,0xfb
.text:00413cd3 ff75c4 PUSH dword ptr [EBP + local_40+0x4]
.text:00413cd6 8845e0 MOV byte ptr [EBP + local_24+0x4],AL
.text:00413cd9 8a02 MOV AL,byte ptr [EDX]
.text:00413cdb 8845e1 MOV byte ptr [EBP + local_23+0x4],AL
.text:00413cde 8864392d MOV byte ptr [ECX + EDI*0x1 + 0x2d],AH
.text:00413ce2 8d45e0 LEA EAX=>local_24,[EBP + -0x20]
.text:00413ce5 6a02 PUSH 0x2
.text:00413ce7 50 PUSH EAX
.text:00413ce8 eb46 JMP LAB_00413d30
LAB_00413cea: ;XREF[1,0]: 00413cca
.text:00413cea 8b45c4 MOV EAX,dword ptr [EBP + local_40+0x4]
.text:00413ced 0fb60a MOVZX ECX,byte ptr [EDX]
.text:00413cf0 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00413cf3 8b00 MOV EAX,dword ptr [EAX]
.text:00413cf5 66391c48 CMP word ptr [EAX + ECX*0x2],BX
.text:00413cf9 7d2f JGE LAB_00413d2a
.text:00413cfb 8d4201 LEA EAX,[EDX + 0x1]
.text:00413cfe 8945c8 MOV dword ptr [EBP + local_3c+0x4],EAX
.text:00413d01 3b45ac CMP EAX,dword ptr [EBP + local_58+0x4]
.text:00413d04 0f833d010000 JNC LAB_00413e47
.text:00413d0a ff75c4 PUSH dword ptr [EBP + local_40+0x4]
.text:00413d0d 8d45c0 LEA EAX=>local_44,[EBP + -0x40]
.text:00413d10 6a02 PUSH 0x2
.text:00413d12 52 PUSH EDX
.text:00413d13 50 PUSH EAX
.text:00413d14 e857c1ffff CALL FUN_0040fe70 ;uint FUN_0040fe70(LPWSTR param_1, by...
.text:00413d19 83c410 ADD ESP,0x10
.text:00413d1c 83f8ff CMP EAX,-0x1
.text:00413d1f 0f844b010000 JZ LAB_00413e70
.text:00413d25 8b45c8 MOV EAX,dword ptr [EBP + local_3c+0x4]
.text:00413d28 eb1e JMP LAB_00413d48
LAB_00413d2a: ;XREF[1,0]: 00413cf9
.text:00413d2a ff75c4 PUSH dword ptr [EBP + local_40+0x4]
.text:00413d2d 6a01 PUSH 0x1
.text:00413d2f 52 PUSH EDX
LAB_00413d30: ;XREF[1,0]: 00413ce8
.text:00413d30 8d45c0 LEA EAX=>local_44,[EBP + -0x40]
.text:00413d33 50 PUSH EAX
.text:00413d34 e837c1ffff CALL FUN_0040fe70 ;uint FUN_0040fe70(LPWSTR param_1, by...
.text:00413d39 83c410 ADD ESP,0x10
.text:00413d3c 83f8ff CMP EAX,-0x1
.text:00413d3f 0f842b010000 JZ LAB_00413e70
.text:00413d45 8b45d4 MOV EAX,dword ptr [EBP + local_30+0x4]
LAB_00413d48: ;XREF[2,0]: 00413cb4,00413d28
.text:00413d48 53 PUSH EBX
.text:00413d49 53 PUSH EBX
.text:00413d4a 40 INC EAX
.text:00413d4b 6a05 PUSH 0x5
.text:00413d4d 8945d4 MOV dword ptr [EBP + local_30+0x4],EAX
.text:00413d50 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
.text:00413d53 50 PUSH EAX
.text:00413d54 ff75cc PUSH dword ptr [EBP + local_38+0x4]
.text:00413d57 8d45c0 LEA EAX=>local_44,[EBP + -0x40]
.text:00413d5a 50 PUSH EAX
.text:00413d5b 53 PUSH EBX
.text:00413d5c ff7594 PUSH dword ptr [EBP + local_70+0x4]
.text:00413d5f e8f9e1ffff CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:00413d64 83c420 ADD ESP,0x20
.text:00413d67 8945c8 MOV dword ptr [EBP + local_3c+0x4],EAX
.text:00413d6a 85c0 TEST EAX,EAX
.text:00413d6c 0f84fe000000 JZ LAB_00413e70
.text:00413d72 53 PUSH EBX ;LPOVERLAPPED lpOverlapped for WriteFile
.text:00413d73 8d4da4 LEA ECX=>local_60,[EBP + -0x5c]
.text:00413d76 51 PUSH ECX ;LPDWORD lpNumberOfBytesWritten for W...
.text:00413d77 50 PUSH EAX ;DWORD nNumberOfBytesToWrite for Writ...
.text:00413d78 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
.text:00413d7b 50 PUSH EAX ;LPCVOID lpBuffer for WriteFile
.text:00413d7c ff759c PUSH dword ptr [EBP + local_68+0x4] ;HANDLE hFile for WriteFile
.text:00413d7f ff1580b04100 CALL dword ptr [->KERNEL32.DLL::WriteFile] ;= 00022560
.text:00413d85 85c0 TEST EAX,EAX
.text:00413d87 0f84db000000 JZ LAB_00413e68
.text:00413d8d 8b4608 MOV EAX,dword ptr [ESI + 0x8]
.text:00413d90 2b45a0 SUB EAX,dword ptr [EBP + local_64+0x4]
.text:00413d93 8b55d4 MOV EDX,dword ptr [EBP + local_30+0x4]
.text:00413d96 03c2 ADD EAX,EDX
.text:00413d98 8945b8 MOV dword ptr [EBP + local_4c+0x4],EAX
.text:00413d9b 894604 MOV dword ptr [ESI + 0x4],EAX
.text:00413d9e 8b45c8 MOV EAX,dword ptr [EBP + local_3c+0x4]
.text:00413da1 3945a4 CMP dword ptr [EBP + local_60+0x4],EAX
.text:00413da4 0f82c6000000 JC LAB_00413e70
.text:00413daa 807dd30a CMP byte ptr [EBP + local_31+0x4],0xa
.text:00413dae 753c JNZ LAB_00413dec
.text:00413db0 6a0d PUSH 0xd
.text:00413db2 58 POP EAX
.text:00413db3 53 PUSH EBX ;LPOVERLAPPED lpOverlapped for WriteFile
.text:00413db4 668945a8 MOV word ptr [EBP + local_5c+0x4],AX
.text:00413db8 8d45a4 LEA EAX=>local_60,[EBP + -0x5c]
.text:00413dbb 50 PUSH EAX ;LPDWORD lpNumberOfBytesWritten for W...
.text:00413dbc 6a01 PUSH 0x1 ;DWORD nNumberOfBytesToWrite for Writ...
.text:00413dbe 8d45a8 LEA EAX=>local_5c,[EBP + -0x58]
.text:00413dc1 50 PUSH EAX ;LPCVOID lpBuffer for WriteFile
.text:00413dc2 ff759c PUSH dword ptr [EBP + local_68+0x4] ;HANDLE hFile for WriteFile
.text:00413dc5 ff1580b04100 CALL dword ptr [->KERNEL32.DLL::WriteFile] ;= 00022560
.text:00413dcb 85c0 TEST EAX,EAX
.text:00413dcd 0f8495000000 JZ LAB_00413e68
.text:00413dd3 837da401 CMP dword ptr [EBP + local_60+0x4],0x1
.text:00413dd7 0f8293000000 JC LAB_00413e70
.text:00413ddd ff4608 INC dword ptr [ESI + 0x8]
.text:00413de0 ff4604 INC dword ptr [ESI + 0x4]
.text:00413de3 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00413de6 8b55d4 MOV EDX,dword ptr [EBP + local_30+0x4]
.text:00413de9 8945b8 MOV dword ptr [EBP + local_4c+0x4],EAX
LAB_00413dec: ;XREF[1,0]: 00413dae
.text:00413dec 3b55ac CMP EDX,dword ptr [EBP + local_58+0x4]
.text:00413def 737f JNC LAB_00413e70
.text:00413df1 8b4d90 MOV ECX,dword ptr [EBP + local_74+0x4]
.text:00413df4 e976fdffff JMP LAB_00413b6f
LAB_00413df9: ;XREF[1,0]: 00413bd2
.text:00413df9 85ff TEST EDI,EDI
.text:00413dfb 7e24 JLE LAB_00413e21
.text:00413dfd 8b45d4 MOV EAX,dword ptr [EBP + local_30+0x4]
.text:00413e00 8b75cc MOV ESI,dword ptr [EBP + local_38+0x4]
LAB_00413e03: ;XREF[1,0]: 00413e1c
.text:00413e03 8b4dbc MOV ECX,dword ptr [EBP + local_48+0x4]
.text:00413e06 8b148dc84... MOV EDX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:00413e0d 0355b0 ADD EDX,dword ptr [EBP + local_54+0x4]
.text:00413e10 8a0c03 MOV CL,byte ptr [EBX + EAX*0x1]
.text:00413e13 03d3 ADD EDX,EBX
.text:00413e15 43 INC EBX
.text:00413e16 884c322e MOV byte ptr [EDX + ESI*0x1 + 0x2e],CL
.text:00413e1a 3bdf CMP EBX,EDI
.text:00413e1c 7ce5 JL LAB_00413e03
LAB_00413e1e: ;XREF[1,0]: 00413e45
.text:00413e1e 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
LAB_00413e21: ;XREF[2,0]: 00413dfb,00413e28
.text:00413e21 017e04 ADD dword ptr [ESI + 0x4],EDI
.text:00413e24 eb4a JMP LAB_00413e70
LAB_00413e26: ;XREF[1,0]: 00413c6e
.text:00413e26 85ff TEST EDI,EDI
.text:00413e28 7ef7 JLE LAB_00413e21
.text:00413e2a 8b75b0 MOV ESI,dword ptr [EBP + local_54+0x4]
LAB_00413e2d: ;XREF[1,0]: 00413e43
.text:00413e2d 8b45bc MOV EAX,dword ptr [EBP + local_48+0x4]
.text:00413e30 8b0c85c84... MOV ECX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00413e37 8a0413 MOV AL,byte ptr [EBX + EDX*0x1]
.text:00413e3a 03ce ADD ECX,ESI
.text:00413e3c 8844192e MOV byte ptr [ECX + EBX*0x1 + 0x2e],AL
.text:00413e40 43 INC EBX
.text:00413e41 3bdf CMP EBX,EDI
.text:00413e43 7ce8 JL LAB_00413e2d
.text:00413e45 ebd7 JMP LAB_00413e1e
LAB_00413e47: ;XREF[1,0]: 00413d04
.text:00413e47 8b45b4 MOV EAX,dword ptr [EBP + local_50+0x4]
.text:00413e4a 8a0a MOV CL,byte ptr [EDX]
.text:00413e4c 884c382e MOV byte ptr [EAX + EDI*0x1 + 0x2e],CL
.text:00413e50 8b45bc MOV EAX,dword ptr [EBP + local_48+0x4]
.text:00413e53 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00413e5a 804c382d04 OR byte ptr [EAX + EDI*0x1 + 0x2d],0x4
.text:00413e5f 8b45b8 MOV EAX,dword ptr [EBP + local_4c+0x4]
.text:00413e62 40 INC EAX
.text:00413e63 894604 MOV dword ptr [ESI + 0x4],EAX
.text:00413e66 eb08 JMP LAB_00413e70
LAB_00413e68: ;XREF[2,0]: 00413d87,00413dcd
.text:00413e68 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00413e6e 8906 MOV dword ptr [ESI],EAX
LAB_00413e70: ;XREF[11,0]: 00413b61,00413c56,00413ca4,00413d1f
; 00413d3f,00413d6c,00413da4,00413dd7
; 00413def,00413e24,00413e66
.text:00413e70 8bc6 MOV EAX,ESI
.text:00413e72 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:00413e75 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00413e7c 59 POP ECX
.text:00413e7d 5f POP EDI
.text:00413e7e 5e POP ESI
.text:00413e7f 5b POP EBX
.text:00413e80 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00413e83 33cd XOR ECX,EBP
.text:00413e85 e89be2feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00413e8a c9 LEAVE
.text:00413e8b c3 RET
.text:00413e8c cccccccccc align align(5)
;************************************************************************************************
;* Library Function - Single Match *
;* struct `anonymous namespace'::write_result __cdecl write_double_translated_unicode_nolock(ch...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;write_result write_double_translated_unicode_nolock(char * param_1, uint param_2)
;param_1 char * 4 ;XREF[1,0]: 00413e99
;param_2 uint 8 ;XREF[1,0]: 00413ea4
;local_8 undefined4 -8 ;XREF[2,0]: 00413eac,00413ee3
;XREF[1,0]: 0041445a
.text:00413e91 8bff MOV EDI,EDI
.text:00413e93 55 PUSH EBP
.text:00413e94 8bec MOV EBP,ESP
.text:00413e96 51 PUSH ECX
.text:00413e97 53 PUSH EBX
.text:00413e98 56 PUSH ESI
.text:00413e99 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00413e9c 33c0 XOR EAX,EAX
.text:00413e9e 57 PUSH EDI
.text:00413e9f 8bfe MOV EDI,ESI
.text:00413ea1 ab STOSD ES:EDI
.text:00413ea2 ab STOSD ES:EDI
.text:00413ea3 ab STOSD ES:EDI
.text:00413ea4 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00413ea7 8b4510 MOV EAX,dword ptr [EBP + Stack[0xc]+0x4]
.text:00413eaa 03c7 ADD EAX,EDI
.text:00413eac 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00413eaf 3bf8 CMP EDI,EAX
.text:00413eb1 733f JNC LAB_00413ef2
LAB_00413eb3: ;XREF[1,0]: 00413ee6
.text:00413eb3 0fb71f MOVZX EBX,word ptr [EDI]
.text:00413eb6 53 PUSH EBX
.text:00413eb7 e879430000 CALL __putwch_nolock ;wint_t __putwch_nolock(wchar_t _WCh)
.text:00413ebc 59 POP ECX
.text:00413ebd 663bc3 CMP AX,BX
.text:00413ec0 7528 JNZ LAB_00413eea
.text:00413ec2 83460402 ADD dword ptr [ESI + 0x4],0x2
.text:00413ec6 83fb0a CMP EBX,0xa
.text:00413ec9 7515 JNZ LAB_00413ee0
.text:00413ecb 6a0d PUSH 0xd
.text:00413ecd 5b POP EBX
.text:00413ece 53 PUSH EBX
.text:00413ecf e861430000 CALL __putwch_nolock ;wint_t __putwch_nolock(wchar_t _WCh)
.text:00413ed4 59 POP ECX
.text:00413ed5 663bc3 CMP AX,BX
.text:00413ed8 7510 JNZ LAB_00413eea
.text:00413eda ff4604 INC dword ptr [ESI + 0x4]
.text:00413edd ff4608 INC dword ptr [ESI + 0x8]
LAB_00413ee0: ;XREF[1,0]: 00413ec9
.text:00413ee0 83c702 ADD EDI,0x2
.text:00413ee3 3b7dfc CMP EDI,dword ptr [EBP + local_8+0x4]
.text:00413ee6 72cb JC LAB_00413eb3
.text:00413ee8 eb08 JMP LAB_00413ef2
LAB_00413eea: ;XREF[2,0]: 00413ec0,00413ed8
.text:00413eea ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00413ef0 8906 MOV dword ptr [ESI],EAX
LAB_00413ef2: ;XREF[2,0]: 00413eb1,00413ee8
.text:00413ef2 5f POP EDI
.text:00413ef3 8bc6 MOV EAX,ESI
.text:00413ef5 5e POP ESI
.text:00413ef6 5b POP EBX
.text:00413ef7 c9 LEAVE
.text:00413ef8 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_00413ef9(uint param_1, __acrt_ptd * * param_2)
;param_1 uint 4 ;XREF[1,0]: 00413f01
;param_2 __acrt_ptd * * 8 ;XREF[1,0]: 00413f29
;local_8 undefined1 -8 ;XREF[1,0]: 00413f53
;XREF[1,0]: 0041442f
.text:00413ef9 8bff MOV EDI,EDI
.text:00413efb 55 PUSH EBP
.text:00413efc 8bec MOV EBP,ESP
.text:00413efe 51 PUSH ECX
.text:00413eff 53 PUSH EBX
.text:00413f00 56 PUSH ESI
.text:00413f01 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00413f04 57 PUSH EDI
.text:00413f05 56 PUSH ESI
.text:00413f06 e8a0220000 CALL FUN_004161ab ;byte FUN_004161ab(uint param_1)
.text:00413f0b 59 POP ECX
.text:00413f0c 85c0 TEST EAX,EAX
.text:00413f0e 745f JZ LAB_00413f6f
.text:00413f10 8bfe MOV EDI,ESI
.text:00413f12 83e63f AND ESI,0x3f
.text:00413f15 c1ff06 SAR EDI,0x6
.text:00413f18 6bde38 IMUL EBX,ESI,0x38
.text:00413f1b 8b04bdc84... MOV EAX,dword ptr [EDI*0x4 + .data:DAT_00...;= ??
.text:00413f22 807c182800 CMP byte ptr [EAX + EBX*0x1 + 0x28],0x0
.text:00413f27 7d46 JGE LAB_00413f6f
.text:00413f29 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00413f2c 807e1400 CMP byte ptr [ESI + 0x14],0x0
.text:00413f30 7507 JNZ LAB_00413f39
.text:00413f32 8bce MOV ECX,ESI
.text:00413f34 e8a725ffff CALL FUN_004064e0 ;undefined FUN_004064e0(__acrt_ptd * ...
LAB_00413f39: ;XREF[1,0]: 00413f30
.text:00413f39 8b460c MOV EAX,dword ptr [ESI + 0xc]
.text:00413f3c 83b8a8000... CMP dword ptr [EAX + 0xa8],0x0
.text:00413f43 750e JNZ LAB_00413f53
.text:00413f45 8b04bdc84... MOV EAX,dword ptr [EDI*0x4 + .data:DAT_00...;= ??
.text:00413f4c 807c182900 CMP byte ptr [EAX + EBX*0x1 + 0x29],0x0
.text:00413f51 741c JZ LAB_00413f6f
LAB_00413f53: ;XREF[1,0]: 00413f43
.text:00413f53 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:00413f56 50 PUSH EAX ;LPDWORD lpMode for GetConsoleMode
.text:00413f57 8b04bdc84... MOV EAX,dword ptr [EDI*0x4 + .data:DAT_00...;= ??
.text:00413f5e ff741818 PUSH dword ptr [EAX + EBX*0x1 + 0x18] ;HANDLE hConsoleHandle for GetConsole...
.text:00413f62 ff15e8b04100 CALL dword ptr [->KERNEL32.DLL::GetConsole...;= 0002272a
.text:00413f68 85c0 TEST EAX,EAX
.text:00413f6a 0f95c0 SETNZ AL
.text:00413f6d eb02 JMP LAB_00413f71
LAB_00413f6f: ;XREF[3,0]: 00413f0e,00413f27,00413f51
.text:00413f6f 32c0 XOR AL,AL
LAB_00413f71: ;XREF[1,0]: 00413f6d
.text:00413f71 5f POP EDI
.text:00413f72 5e POP ESI
.text:00413f73 5b POP EBX
.text:00413f74 c9 LEAVE
.text:00413f75 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* struct `anonymous namespace'::write_result __cdecl write_text_ansi_nolock(int,char const * c...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;write_result write_text_ansi_nolock(int param_1, char * param_2, uint param_3)
;param_1 int 4 ;XREF[1,0]: 00413fa1
;param_2 char * 8 ;XREF[1,0]: 00413f8f
;param_3 uint c ;XREF[3,0]: 00413fb3,00413ffb,00414029
;local_8 undefined4 -8 ;XREF[2,0]: 00413f8c,00414040
;local_9 undefined1 -9 ;XREF[1,0]: 00413fee
;local_1407 undefined1 -1407 ;XREF[1,0]: 00413feb
;local_1408 undefined1 -1408 ;XREF[4,0]: 00413fd3,00413fe7,00413ff5,0041400a
;local_140c undefined4 -140c ;XREF[4,0]: 00413fb8,00413fcd,00414000,0041401c
;local_1410 undefined4 -1410 ;XREF[2,0]: 00413fc1,0041402c
;XREF[1,0]: 004144e3
.text:00413f76 8bff MOV EDI,EDI
.text:00413f78 55 PUSH EBP
.text:00413f79 8bec MOV EBP,ESP
.text:00413f7b b80c140000 MOV EAX,0x140c
.text:00413f80 e8eb690000 CALL __alloca_probe ;undefined __alloca_probe(void)
.text:00413f85 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00413f8a 33c5 XOR EAX,EBP
.text:00413f8c 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00413f8f 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00413f92 8bc1 MOV EAX,ECX
.text:00413f94 8b5514 MOV EDX,dword ptr [EBP + Stack[0x10]+0x4]
.text:00413f97 83e13f AND ECX,0x3f
.text:00413f9a c1f806 SAR EAX,0x6
.text:00413f9d 6bc938 IMUL ECX,ECX,0x38
.text:00413fa0 53 PUSH EBX
.text:00413fa1 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:00413fa4 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00413fab 56 PUSH ESI
.text:00413fac 57 PUSH EDI
.text:00413fad 8bfb MOV EDI,EBX
.text:00413faf 8b440818 MOV EAX,dword ptr [EAX + ECX*0x1 + 0x18]
.text:00413fb3 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00413fb6 03d1 ADD EDX,ECX
.text:00413fb8 8985f8ebffff MOV dword ptr [EBP + local_140c+0x4],EAX
.text:00413fbe 33c0 XOR EAX,EAX
.text:00413fc0 ab STOSD ES:EDI
.text:00413fc1 8995f4ebffff MOV dword ptr [EBP + local_1410+0x4],EDX
.text:00413fc7 ab STOSD ES:EDI
.text:00413fc8 ab STOSD ES:EDI
.text:00413fc9 3bca CMP ECX,EDX
.text:00413fcb 7373 JNC LAB_00414040
.text:00413fcd 8bbdf8ebffff MOV EDI,dword ptr [EBP + local_140c+0x4]
LAB_00413fd3: ;XREF[1,0]: 00414034
.text:00413fd3 8db5fcebffff LEA ESI=>local_1408,[EBP + 0xffffebfc]
LAB_00413fd9: ;XREF[1,0]: 00413ff3
.text:00413fd9 3bca CMP ECX,EDX
.text:00413fdb 7318 JNC LAB_00413ff5
.text:00413fdd 8a01 MOV AL,byte ptr [ECX]
.text:00413fdf 41 INC ECX
.text:00413fe0 3c0a CMP AL,0xa
.text:00413fe2 7507 JNZ LAB_00413feb
.text:00413fe4 ff4308 INC dword ptr [EBX + 0x8]
.text:00413fe7 c6060d MOV byte ptr [ESI]=>local_1408,0xd
.text:00413fea 46 INC ESI
LAB_00413feb: ;XREF[1,0]: 00413fe2
.text:00413feb 8806 MOV byte ptr [ESI]=>local_1407,AL
.text:00413fed 46 INC ESI
.text:00413fee 8d45fb LEA EAX=>local_9,[EBP + -0x5]
.text:00413ff1 3bf0 CMP ESI,EAX
.text:00413ff3 72e4 JC LAB_00413fd9
LAB_00413ff5: ;XREF[1,0]: 00413fdb
.text:00413ff5 8d85fcebffff LEA EAX=>local_1408,[EBP + 0xffffebfc]
.text:00413ffb 894d10 MOV dword ptr [EBP + param_3+0x4],ECX
.text:00413ffe 2bf0 SUB ESI,EAX
.text:00414000 8d85f8ebffff LEA EAX=>local_140c,[EBP + 0xffffebf8]
.text:00414006 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for WriteFile
.text:00414008 50 PUSH EAX ;LPDWORD lpNumberOfBytesWritten for W...
.text:00414009 56 PUSH ESI ;DWORD nNumberOfBytesToWrite for Writ...
.text:0041400a 8d85fcebffff LEA EAX=>local_1408,[EBP + 0xffffebfc]
.text:00414010 50 PUSH EAX ;LPCVOID lpBuffer for WriteFile
.text:00414011 57 PUSH EDI ;HANDLE hFile for WriteFile
.text:00414012 ff1580b04100 CALL dword ptr [->KERNEL32.DLL::WriteFile] ;= 00022560
.text:00414018 85c0 TEST EAX,EAX
.text:0041401a 741c JZ LAB_00414038
.text:0041401c 8b85f8ebffff MOV EAX,dword ptr [EBP + local_140c+0x4]
.text:00414022 014304 ADD dword ptr [EBX + 0x4],EAX
.text:00414025 3bc6 CMP EAX,ESI
.text:00414027 7217 JC LAB_00414040
.text:00414029 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:0041402c 8b95f4ebffff MOV EDX,dword ptr [EBP + local_1410+0x4]
.text:00414032 3bca CMP ECX,EDX
.text:00414034 729d JC LAB_00413fd3
.text:00414036 eb08 JMP LAB_00414040
LAB_00414038: ;XREF[1,0]: 0041401a
.text:00414038 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:0041403e 8903 MOV dword ptr [EBX],EAX
LAB_00414040: ;XREF[3,0]: 00413fcb,00414027,00414036
.text:00414040 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00414043 8bc3 MOV EAX,EBX
.text:00414045 5f POP EDI
.text:00414046 5e POP ESI
.text:00414047 33cd XOR ECX,EBP
.text:00414049 5b POP EBX
.text:0041404a e8d6e0feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0041404f c9 LEAVE
.text:00414050 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* struct `anonymous namespace'::write_result __cdecl write_text_utf16le_nolock(int,char const ...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;write_result write_text_utf16le_nolock(int param_1, char * param_2, uint param_3)
;param_1 int 4 ;XREF[1,0]: 0041407c
;param_2 char * 8 ;XREF[1,0]: 0041406a
;param_3 uint c ;XREF[3,0]: 0041408e,004140e3,00414112
;local_8 undefined4 -8 ;XREF[2,0]: 00414067,00414129
;local_a undefined1 -a ;XREF[1,0]: 004140ce
;local_1406 undefined2 -1406 ;XREF[1,0]: 004140c8
;local_1408 undefined2 -1408 ;XREF[4,0]: 004140a6,004140c2,004140db,004140f3
;local_140c undefined4 -140c ;XREF[2,0]: 00414093,004140d5
;local_1410 undefined4 -1410 ;XREF[2,0]: 004140e8,00414105
;local_1414 undefined4 -1414 ;XREF[2,0]: 0041409c,00414115
;XREF[1,0]: 004144b8
.text:00414051 8bff MOV EDI,EDI
.text:00414053 55 PUSH EBP
.text:00414054 8bec MOV EBP,ESP
.text:00414056 b810140000 MOV EAX,0x1410
.text:0041405b e810690000 CALL __alloca_probe ;undefined __alloca_probe(void)
.text:00414060 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00414065 33c5 XOR EAX,EBP
.text:00414067 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0041406a 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0041406d 8bc1 MOV EAX,ECX
.text:0041406f 8b5514 MOV EDX,dword ptr [EBP + Stack[0x10]+0x4]
.text:00414072 83e13f AND ECX,0x3f
.text:00414075 c1f806 SAR EAX,0x6
.text:00414078 6bc938 IMUL ECX,ECX,0x38
.text:0041407b 53 PUSH EBX
.text:0041407c 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:0041407f 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00414086 56 PUSH ESI
.text:00414087 57 PUSH EDI
.text:00414088 8bfb MOV EDI,EBX
.text:0041408a 8b440818 MOV EAX,dword ptr [EAX + ECX*0x1 + 0x18]
.text:0041408e 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00414091 03d1 ADD EDX,ECX
.text:00414093 8985f8ebffff MOV dword ptr [EBP + local_140c+0x4],EAX
.text:00414099 33c0 XOR EAX,EAX
.text:0041409b ab STOSD ES:EDI
.text:0041409c 8995f0ebffff MOV dword ptr [EBP + local_1414+0x4],EDX
.text:004140a2 ab STOSD ES:EDI
.text:004140a3 ab STOSD ES:EDI
.text:004140a4 eb75 JMP LAB_0041411b
LAB_004140a6: ;XREF[1,0]: 0041411d
.text:004140a6 8db5fcebffff LEA ESI=>local_1408,[EBP + 0xffffebfc]
LAB_004140ac: ;XREF[1,0]: 004140d3
.text:004140ac 3bca CMP ECX,EDX
.text:004140ae 7325 JNC LAB_004140d5
.text:004140b0 0fb701 MOVZX EAX,word ptr [ECX]
.text:004140b3 83c102 ADD ECX,0x2
.text:004140b6 83f80a CMP EAX,0xa
.text:004140b9 750d JNZ LAB_004140c8
.text:004140bb 83430802 ADD dword ptr [EBX + 0x8],0x2
.text:004140bf 6a0d PUSH 0xd
.text:004140c1 5f POP EDI
.text:004140c2 66893e MOV word ptr [ESI]=>local_1408,DI
.text:004140c5 83c602 ADD ESI,0x2
LAB_004140c8: ;XREF[1,0]: 004140b9
.text:004140c8 668906 MOV word ptr [ESI]=>local_1406,AX
.text:004140cb 83c602 ADD ESI,0x2
.text:004140ce 8d45fa LEA EAX=>local_a,[EBP + -0x6]
.text:004140d1 3bf0 CMP ESI,EAX
.text:004140d3 72d7 JC LAB_004140ac
LAB_004140d5: ;XREF[1,0]: 004140ae
.text:004140d5 8bbdf8ebffff MOV EDI,dword ptr [EBP + local_140c+0x4]
.text:004140db 8d85fcebffff LEA EAX=>local_1408,[EBP + 0xffffebfc]
.text:004140e1 2bf0 SUB ESI,EAX
.text:004140e3 894d10 MOV dword ptr [EBP + param_3+0x4],ECX
.text:004140e6 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for WriteFile
.text:004140e8 8d85f4ebffff LEA EAX=>local_1410,[EBP + 0xffffebf4]
.text:004140ee 83e6fe AND ESI,0xfffffffe
.text:004140f1 50 PUSH EAX ;LPDWORD lpNumberOfBytesWritten for W...
.text:004140f2 56 PUSH ESI ;DWORD nNumberOfBytesToWrite for Writ...
.text:004140f3 8d85fcebffff LEA EAX=>local_1408,[EBP + 0xffffebfc]
.text:004140f9 50 PUSH EAX ;LPCVOID lpBuffer for WriteFile
.text:004140fa 57 PUSH EDI ;HANDLE hFile for WriteFile
.text:004140fb ff1580b04100 CALL dword ptr [->KERNEL32.DLL::WriteFile] ;= 00022560
.text:00414101 85c0 TEST EAX,EAX
.text:00414103 741c JZ LAB_00414121
.text:00414105 8b85f4ebffff MOV EAX,dword ptr [EBP + local_1410+0x4]
.text:0041410b 014304 ADD dword ptr [EBX + 0x4],EAX
.text:0041410e 3bc6 CMP EAX,ESI
.text:00414110 7217 JC LAB_00414129
.text:00414112 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00414115 8b95f0ebffff MOV EDX,dword ptr [EBP + local_1414+0x4]
LAB_0041411b: ;XREF[1,0]: 004140a4
.text:0041411b 3bca CMP ECX,EDX
.text:0041411d 7287 JC LAB_004140a6
.text:0041411f eb08 JMP LAB_00414129
LAB_00414121: ;XREF[1,0]: 00414103
.text:00414121 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00414127 8903 MOV dword ptr [EBX],EAX
LAB_00414129: ;XREF[2,0]: 00414110,0041411f
.text:00414129 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:0041412c 8bc3 MOV EAX,EBX
.text:0041412e 5f POP EDI
.text:0041412f 5e POP ESI
.text:00414130 33cd XOR ECX,EBP
.text:00414132 5b POP EBX
.text:00414133 e8eddffeff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00414138 c9 LEAVE
.text:00414139 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* struct `anonymous namespace'::write_result __cdecl write_text_utf8_nolock(int,char const * c...*
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;write_result write_text_utf8_nolock(int param_1, char * param_2, uint param_3)
;param_1 int 4 ;XREF[2,0]: 0041416d,004141f2
;param_2 char * 8 ;XREF[1,0]: 00414153
;param_3 uint c ;XREF[2,0]: 00414158,0041423f
;local_8 undefined4 -8 ;XREF[2,0]: 00414150,0041425b
;local_c undefined1 -c ;XREF[1,0]: 004141c1
;local_6b2 undefined2 -6b2 ;XREF[1,0]: 004141bb
;local_6b4 undefined2 -6b4 ;XREF[3,0]: 0041419d,004141b5,004141d8
;local_140c undefined1 -140c ;XREF[2,0]: 004141d1,00414214
;local_1410 undefined4 -1410 ;XREF[3,0]: 00414184,00414197,00414245
;local_1414 undefined4 -1414 ;XREF[2,0]: 0041417a,0041421d
;local_1418 undefined4 -1418 ;XREF[2,0]: 0041420a,0041422d
;local_141c undefined4 -141c ;XREF[2,0]: 004141f8,00414233
;XREF[1,0]: 004144cf
.text:0041413a 8bff MOV EDI,EDI
.text:0041413c 55 PUSH EBP
.text:0041413d 8bec MOV EBP,ESP
.text:0041413f b818140000 MOV EAX,0x1418
.text:00414144 e827680000 CALL __alloca_probe ;undefined __alloca_probe(void)
.text:00414149 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0041414e 33c5 XOR EAX,EBP
.text:00414150 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00414153 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00414156 8bc1 MOV EAX,ECX
.text:00414158 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:0041415b 83e13f AND ECX,0x3f
.text:0041415e c1f806 SAR EAX,0x6
.text:00414161 6bc938 IMUL ECX,ECX,0x38
.text:00414164 53 PUSH EBX
.text:00414165 56 PUSH ESI
.text:00414166 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:0041416d 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00414170 57 PUSH EDI
.text:00414171 8bfe MOV EDI,ESI
.text:00414173 8b440818 MOV EAX,dword ptr [EAX + ECX*0x1 + 0x18]
.text:00414177 8b4d14 MOV ECX,dword ptr [EBP + Stack[0x10]+0x4]
.text:0041417a 8985f0ebffff MOV dword ptr [EBP + local_1414+0x4],EAX
.text:00414180 03ca ADD ECX,EDX
.text:00414182 33c0 XOR EAX,EAX
.text:00414184 898df4ebffff MOV dword ptr [EBP + local_1410+0x4],ECX
.text:0041418a ab STOSD ES:EDI
.text:0041418b ab STOSD ES:EDI
.text:0041418c ab STOSD ES:EDI
.text:0041418d 8bfa MOV EDI,EDX
.text:0041418f 3bd1 CMP EDX,ECX
.text:00414191 0f83c4000000 JNC LAB_0041425b
LAB_00414197: ;XREF[1,0]: 0041424b
.text:00414197 8bb5f4ebffff MOV ESI,dword ptr [EBP + local_1410+0x4]
.text:0041419d 8d8550f9ffff LEA EAX=>local_6b4,[EBP + 0xfffff950]
LAB_004141a3: ;XREF[1,0]: 004141c6
.text:004141a3 3bfe CMP EDI,ESI
.text:004141a5 7321 JNC LAB_004141c8
.text:004141a7 0fb70f MOVZX ECX,word ptr [EDI]
.text:004141aa 83c702 ADD EDI,0x2
.text:004141ad 83f90a CMP ECX,0xa
.text:004141b0 7509 JNZ LAB_004141bb
.text:004141b2 6a0d PUSH 0xd
.text:004141b4 5a POP EDX
.text:004141b5 668910 MOV word ptr [EAX]=>local_6b4,DX
.text:004141b8 83c002 ADD EAX,0x2
LAB_004141bb: ;XREF[1,0]: 004141b0
.text:004141bb 668908 MOV word ptr [EAX]=>local_6b2,CX
.text:004141be 83c002 ADD EAX,0x2
.text:004141c1 8d4df8 LEA ECX=>local_c,[EBP + -0x8]
.text:004141c4 3bc1 CMP EAX,ECX
.text:004141c6 72db JC LAB_004141a3
LAB_004141c8: ;XREF[1,0]: 004141a5
.text:004141c8 6a00 PUSH 0x0
.text:004141ca 6a00 PUSH 0x0
.text:004141cc 68550d0000 PUSH 0xd55
.text:004141d1 8d8df8ebffff LEA ECX=>local_140c,[EBP + 0xffffebf8]
.text:004141d7 51 PUSH ECX
.text:004141d8 8d8d50f9ffff LEA ECX=>local_6b4,[EBP + 0xfffff950]
.text:004141de 2bc1 SUB EAX,ECX
.text:004141e0 d1f8 SAR EAX,0x1
.text:004141e2 50 PUSH EAX
.text:004141e3 8bc1 MOV EAX,ECX
.text:004141e5 50 PUSH EAX
.text:004141e6 6a00 PUSH 0x0
.text:004141e8 68e9fd0000 PUSH 0xfde9
.text:004141ed e86bddffff CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:004141f2 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004141f5 83c420 ADD ESP,0x20
.text:004141f8 8985e8ebffff MOV dword ptr [EBP + local_141c+0x4],EAX
.text:004141fe 85c0 TEST EAX,EAX
.text:00414200 7451 JZ LAB_00414253
.text:00414202 33db XOR EBX,EBX
.text:00414204 85c0 TEST EAX,EAX
.text:00414206 7435 JZ LAB_0041423d
LAB_00414208: ;XREF[1,0]: 0041423b
.text:00414208 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for WriteFile
.text:0041420a 8d8decebffff LEA ECX=>local_1418,[EBP + 0xffffebec]
.text:00414210 2bc3 SUB EAX,EBX
.text:00414212 51 PUSH ECX ;LPDWORD lpNumberOfBytesWritten for W...
.text:00414213 50 PUSH EAX ;DWORD nNumberOfBytesToWrite for Writ...
.text:00414214 8d85f8ebffff LEA EAX=>local_140c,[EBP + 0xffffebf8]
.text:0041421a 03c3 ADD EAX,EBX
.text:0041421c 50 PUSH EAX ;LPCVOID lpBuffer for WriteFile
.text:0041421d ffb5f0ebffff PUSH dword ptr [EBP + local_1414+0x4] ;HANDLE hFile for WriteFile
.text:00414223 ff1580b04100 CALL dword ptr [->KERNEL32.DLL::WriteFile] ;= 00022560
.text:00414229 85c0 TEST EAX,EAX
.text:0041422b 7426 JZ LAB_00414253
.text:0041422d 039decebffff ADD EBX,dword ptr [EBP + local_1418+0x4]
.text:00414233 8b85e8ebffff MOV EAX,dword ptr [EBP + local_141c+0x4]
.text:00414239 3bd8 CMP EBX,EAX
.text:0041423b 72cb JC LAB_00414208
LAB_0041423d: ;XREF[1,0]: 00414206
.text:0041423d 8bc7 MOV EAX,EDI
.text:0041423f 2b4510 SUB EAX,dword ptr [EBP + param_3+0x4]
.text:00414242 894604 MOV dword ptr [ESI + 0x4],EAX
.text:00414245 3bbdf4ebffff CMP EDI,dword ptr [EBP + local_1410+0x4]
.text:0041424b 0f8246ffffff JC LAB_00414197
.text:00414251 eb08 JMP LAB_0041425b
LAB_00414253: ;XREF[2,0]: 00414200,0041422b
.text:00414253 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00414259 8906 MOV dword ptr [ESI],EAX
LAB_0041425b: ;XREF[2,0]: 00414191,00414251
.text:0041425b 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:0041425e 8bc6 MOV EAX,ESI
.text:00414260 5f POP EDI
.text:00414261 5e POP ESI
.text:00414262 33cd XOR ECX,EBP
.text:00414264 5b POP EBX
.text:00414265 e8bbdefeff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0041426a c9 LEAVE
.text:0041426b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_0041426c(char * param_1, byte * param_2, uint param_3, __acrt_ptd * * param_4)
;param_1 char * 4 ;XREF[1,0]: 00414278
;param_2 byte * 8 ;XREF[1,0]: 00414340
;param_3 uint c ;XREF[1,0]: 0041433d
;param_4 __acrt_ptd * * 10 ;XREF[4,0]: 00414280,004142b9,00414323,0041433a
;local_8 undefined4 -8 ;XREF[2,0]: 0041430c,00414351
;local_14 undefined4 -14 ;XREF[1,0]: 0041435f
;local_20 undefined4 -20 ;XREF[2,0]: 00414309,0041434e
;local_24 undefined4 -24 ;XREF[2,0]: 004142e3,0041430f
;local_28 undefined4 -28 ;XREF[2,0]: 004142ee,00414319
;XREF[3,0]: 0040eb03,00416093,00416108
.text:0041426c 6a14 PUSH 0x14
.text:0041426e 68e0204200 PUSH .rdata:DAT_004220e0 ;= FEh
.text:00414273 e888dcfeff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00414278 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0041427b 83fffe CMP EDI,-0x2
.text:0041427e 751e JNZ LAB_0041429e
.text:00414280 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:00414283 c6402401 MOV byte ptr [EAX + 0x24],0x1
.text:00414287 83602000 AND dword ptr [EAX + 0x20],0x0
.text:0041428b c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:0041428f c74018090... MOV dword ptr [EAX + 0x18],0x9
LAB_00414296: ;XREF[1,0]: 004142dc
.text:00414296 83c8ff OR EAX,0xffffffff
.text:00414299 e9c1000000 JMP LAB_0041435f
LAB_0041429e: ;XREF[1,0]: 0041427e
.text:0041429e 85ff TEST EDI,EDI
.text:004142a0 780f JS LAB_004142b1
.text:004142a2 3b3dc8424200 CMP EDI,dword ptr [.data:DAT_004242c8] ;= ??
.text:004142a8 7307 JNC LAB_004142b1
.text:004142aa 33c0 XOR EAX,EAX
.text:004142ac 40 INC EAX
.text:004142ad 33f6 XOR ESI,ESI
.text:004142af eb04 JMP LAB_004142b5
LAB_004142b1: ;XREF[2,0]: 004142a0,004142a8
.text:004142b1 33f6 XOR ESI,ESI
.text:004142b3 8bc6 MOV EAX,ESI
LAB_004142b5: ;XREF[1,0]: 004142af
.text:004142b5 85c0 TEST EAX,EAX
.text:004142b7 7525 JNZ LAB_004142de
LAB_004142b9: ;XREF[1,0]: 004142fd
.text:004142b9 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:004142bc c6402401 MOV byte ptr [EAX + 0x24],0x1
.text:004142c0 897020 MOV dword ptr [EAX + 0x20],ESI
.text:004142c3 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:004142c7 c74018090... MOV dword ptr [EAX + 0x18],0x9
.text:004142ce 50 PUSH EAX
.text:004142cf 56 PUSH ESI
.text:004142d0 56 PUSH ESI
.text:004142d1 56 PUSH ESI
.text:004142d2 56 PUSH ESI
.text:004142d3 56 PUSH ESI
.text:004142d4 e8cd9effff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:004142d9 83c418 ADD ESP,0x18
.text:004142dc ebb8 JMP LAB_00414296
LAB_004142de: ;XREF[1,0]: 004142b7
.text:004142de 8bcf MOV ECX,EDI
.text:004142e0 c1f906 SAR ECX,0x6
.text:004142e3 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:004142e6 8bc7 MOV EAX,EDI
.text:004142e8 83e03f AND EAX,0x3f
.text:004142eb 6bd038 IMUL EDX,EAX,0x38
.text:004142ee 8955dc MOV dword ptr [EBP + local_28+0x4],EDX
.text:004142f1 8b048dc84... MOV EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:004142f8 f644102801 TEST byte ptr [EAX + EDX*0x1 + 0x28],0x1
.text:004142fd 74ba JZ LAB_004142b9
.text:004142ff 57 PUSH EDI
.text:00414300 e873e2ffff CALL FUN_00412578 ;undefined FUN_00412578(uint param_1)
.text:00414305 59 POP ECX
.text:00414306 83cbff OR EBX,0xffffffff
.text:00414309 895de4 MOV dword ptr [EBP + local_20+0x4],EBX
.text:0041430c 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
.text:0041430f 8b45e0 MOV EAX,dword ptr [EBP + local_24+0x4]
.text:00414312 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00414319 8b4ddc MOV ECX,dword ptr [EBP + local_28+0x4]
.text:0041431c f644012801 TEST byte ptr [ECX + EAX*0x1 + 0x28],0x1
.text:00414321 7517 JNZ LAB_0041433a
.text:00414323 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:00414326 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:0041432a c74018090... MOV dword ptr [EAX + 0x18],0x9
.text:00414331 c6402401 MOV byte ptr [EAX + 0x24],0x1
.text:00414335 897020 MOV dword ptr [EAX + 0x20],ESI
.text:00414338 eb17 JMP LAB_00414351
LAB_0041433a: ;XREF[1,0]: 00414321
.text:0041433a ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:0041433d ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00414340 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00414343 57 PUSH EDI
.text:00414344 e834000000 CALL FUN_0041437d ;int FUN_0041437d(char * param_1, byt...
.text:00414349 83c410 ADD ESP,0x10
.text:0041434c 8bd8 MOV EBX,EAX
.text:0041434e 895de4 MOV dword ptr [EBP + local_20+0x4],EBX
LAB_00414351: ;XREF[1,0]: 00414338
.text:00414351 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00414358 e818000000 CALL FUN_00414375 ;undefined FUN_00414375(void)
.text:0041435d 8bc3 MOV EAX,EBX
LAB_0041435f: ;XREF[1,0]: 00414299
.text:0041435f 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00414362 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00414369 59 POP ECX
.text:0041436a 5f POP EDI
.text:0041436b 5e POP ESI
.text:0041436c 5b POP EBX
.text:0041436d c9 LEAVE
.text:0041436e c3 RET
.text:0041436f 8b align align(1)
.text:00414370 7d ?? 7Dh }
.text:00414371 08 ?? 08h
.text:00414372 8b ?? 8Bh
.text:00414373 5d ?? 5Dh ]
.text:00414374 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00414375(void)
;XREF[1,0]: 00414358
.text:00414375 57 PUSH EDI
.text:00414376 e820e2ffff CALL ___acrt_lowio_unlock_fh ;undefined ___acrt_lowio_unlock_fh(ui...
.text:0041437b 59 POP ECX
.text:0041437c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_0041437d(char * param_1, byte * param_2, uint param_3, __acrt_ptd * * param_4)
;param_1 char * 4 ;XREF[1,0]: 00414388
;param_2 byte * 8 ;XREF[1,0]: 0041438b
;param_3 uint c ;XREF[1,0]: 00414385
;param_4 __acrt_ptd * * 10 ;XREF[1,0]: 00414398
;local_5 undefined1 -5 ;XREF[3,0]: 004143f1,0041443a,00414495
;local_c undefined4 -c ;XREF[8,0]: 00414391,00414456,00414470,004144b1,004144c8
; 004144dc,004144fe,0041456e
;local_10 undefined4 -10 ;XREF[7,0]: 00414394,00414450,0041446a,004144ab,004144c2
; 004144d6,004144fb
;local_14 undefined4 -14 ;XREF[6,0]: 0041438e,00414422,00414473,004144b4,004144cb
; 004144df
;local_18 undefined4 -18 ;XREF[4,0]: 004143e0,00414404,00414481,0041452a
;local_1c undefined4 -1c ;XREF[3,0]: 004143ea,00414484,0041452d
;local_20 undefined4 -20 ;XREF[1,0]: 0041458d
;local_24 undefined4 -24 ;XREF[1,0]: 0041451e
;local_28 undefined4 -28 ;XREF[3,0]: 0041442c,00414518,00414525
;local_30 undefined1 -30 ;XREF[1,0]: 004144f7
;local_34 undefined4 -34 ;XREF[8,0]: 00414453,0041446d,004144ae,004144c5,004144d9
; 004144ee,00414512,00414515
;XREF[1,0]: 00414344
.text:0041437d 8bff MOV EDI,EDI
.text:0041437f 55 PUSH EBP
.text:00414380 8bec MOV EBP,ESP
.text:00414382 83ec30 SUB ESP,0x30
.text:00414385 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00414388 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0041438b 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0041438e 894df0 MOV dword ptr [EBP + local_14+0x4],ECX
.text:00414391 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00414394 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:00414397 53 PUSH EBX
.text:00414398 8b5d14 MOV EBX,dword ptr [EBP + param_4+0x4]
.text:0041439b 56 PUSH ESI
.text:0041439c 57 PUSH EDI
.text:0041439d 85d2 TEST EDX,EDX
.text:0041439f 0f84ed010000 JZ LAB_00414592
.text:004143a5 85c0 TEST EAX,EAX
.text:004143a7 752a JNZ LAB_004143d3
LAB_004143a9: ;XREF[1,0]: 00414402
.text:004143a9 33c0 XOR EAX,EAX
.text:004143ab c6432401 MOV byte ptr [EBX + 0x24],0x1
.text:004143af 53 PUSH EBX
.text:004143b0 50 PUSH EAX
.text:004143b1 50 PUSH EAX
.text:004143b2 50 PUSH EAX
.text:004143b3 894320 MOV dword ptr [EBX + 0x20],EAX
.text:004143b6 50 PUSH EAX
.text:004143b7 c6431c01 MOV byte ptr [EBX + 0x1c],0x1
.text:004143bb 50 PUSH EAX
.text:004143bc c74318160... MOV dword ptr [EBX + 0x18],0x16
.text:004143c3 e8de9dffff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:004143c8 83c418 ADD ESP,0x18
LAB_004143cb: ;XREF[3,0]: 0041454d,0041455b,00414588
.text:004143cb 83c8ff OR EAX,0xffffffff
.text:004143ce e9c1010000 JMP LAB_00414594
LAB_004143d3: ;XREF[1,0]: 004143a7
.text:004143d3 8bc1 MOV EAX,ECX
.text:004143d5 8bf1 MOV ESI,ECX
.text:004143d7 83e03f AND EAX,0x3f
.text:004143da c1fe06 SAR ESI,0x6
.text:004143dd 6bf838 IMUL EDI,EAX,0x38
.text:004143e0 8975ec MOV dword ptr [EBP + local_18+0x4],ESI
.text:004143e3 8b04b5c84... MOV EAX,dword ptr [ESI*0x4 + .data:DAT_00...;= ??
.text:004143ea 897de8 MOV dword ptr [EBP + local_1c+0x4],EDI
.text:004143ed 8a440729 MOV AL,byte ptr [EDI + EAX*0x1 + 0x29]
.text:004143f1 8845ff MOV byte ptr [EBP + local_5+0x4],AL
.text:004143f4 3c02 CMP AL,0x2
.text:004143f6 7404 JZ LAB_004143fc
.text:004143f8 3c01 CMP AL,0x1
.text:004143fa 7508 JNZ LAB_00414404
LAB_004143fc: ;XREF[1,0]: 004143f6
.text:004143fc 8bc2 MOV EAX,EDX
.text:004143fe f7d0 NOT EAX
.text:00414400 a801 TEST AL,0x1
.text:00414402 74a5 JZ LAB_004143a9
LAB_00414404: ;XREF[1,0]: 004143fa
.text:00414404 8b55ec MOV EDX,dword ptr [EBP + local_18+0x4]
.text:00414407 33f6 XOR ESI,ESI
.text:00414409 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00414410 f644072820 TEST byte ptr [EDI + EAX*0x1 + 0x28],0x20
.text:00414415 7411 JZ LAB_00414428
.text:00414417 53 PUSH EBX
.text:00414418 6a02 PUSH 0x2
.text:0041441a 56 PUSH ESI
.text:0041441b 56 PUSH ESI
.text:0041441c 51 PUSH ECX
.text:0041441d e8f53d0000 CALL FUN_00418217 ;undefined8 FUN_00418217(uint param_1...
.text:00414422 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00414425 83c414 ADD ESP,0x14
LAB_00414428: ;XREF[1,0]: 00414415
.text:00414428 53 PUSH EBX
.text:00414429 8bfe MOV EDI,ESI
.text:0041442b 51 PUSH ECX
.text:0041442c 897ddc MOV dword ptr [EBP + local_28+0x4],EDI
.text:0041442f e8c5faffff CALL FUN_00413ef9 ;bool FUN_00413ef9(uint param_1, __ac...
.text:00414434 59 POP ECX
.text:00414435 59 POP ECX
.text:00414436 84c0 TEST AL,AL
.text:00414438 7447 JZ LAB_00414481
.text:0041443a 0fbe45ff MOVSX EAX,byte ptr [EBP + local_5+0x4]
.text:0041443e 2bc6 SUB EAX,ESI
.text:00414440 7427 JZ LAB_00414469
.text:00414442 83e801 SUB EAX,0x1
.text:00414445 7409 JZ LAB_00414450
.text:00414447 83e801 SUB EAX,0x1
.text:0041444a 0f85da000000 JNZ LAB_0041452a
LAB_00414450: ;XREF[1,0]: 00414445
.text:00414450 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:00414453 8d45d0 LEA EAX=>local_34,[EBP + -0x30]
.text:00414456 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:00414459 50 PUSH EAX
.text:0041445a e832faffff CALL write_double_translated_unicode_nolock ;write_result write_double_translated...
.text:0041445f 83c40c ADD ESP,0xc
LAB_00414462: ;XREF[2,0]: 0041447f,004144c0
.text:00414462 8bf0 MOV ESI,EAX
.text:00414464 e9af000000 JMP LAB_00414518
LAB_00414469: ;XREF[1,0]: 00414440
.text:00414469 53 PUSH EBX
.text:0041446a ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:0041446d 8d45d0 LEA EAX=>local_34,[EBP + -0x30]
.text:00414470 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:00414473 ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:00414476 50 PUSH EAX
.text:00414477 e84ef6ffff CALL FUN_00413aca ;undefined FUN_00413aca(DWORD * param...
.text:0041447c 83c414 ADD ESP,0x14
.text:0041447f ebe1 JMP LAB_00414462
LAB_00414481: ;XREF[1,0]: 00414438
.text:00414481 8b55ec MOV EDX,dword ptr [EBP + local_18+0x4]
.text:00414484 8b4de8 MOV ECX,dword ptr [EBP + local_1c+0x4]
.text:00414487 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:0041448e 807c082800 CMP byte ptr [EAX + ECX*0x1 + 0x28],0x0
.text:00414493 7d55 JGE LAB_004144ea
.text:00414495 0fbe45ff MOVSX EAX,byte ptr [EBP + local_5+0x4]
.text:00414499 2bc6 SUB EAX,ESI
.text:0041449b 7439 JZ LAB_004144d6
.text:0041449d 83e801 SUB EAX,0x1
.text:004144a0 7420 JZ LAB_004144c2
.text:004144a2 83e801 SUB EAX,0x1
.text:004144a5 0f8585000000 JNZ LAB_00414530
.text:004144ab ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:004144ae 8d45d0 LEA EAX=>local_34,[EBP + -0x30]
.text:004144b1 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:004144b4 ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:004144b7 50 PUSH EAX
.text:004144b8 e894fbffff CALL write_text_utf16le_nolock ;write_result write_text_utf16le_nolo...
LAB_004144bd: ;XREF[2,0]: 004144d4,004144e8
.text:004144bd 83c410 ADD ESP,0x10
.text:004144c0 eba0 JMP LAB_00414462
LAB_004144c2: ;XREF[1,0]: 004144a0
.text:004144c2 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:004144c5 8d45d0 LEA EAX=>local_34,[EBP + -0x30]
.text:004144c8 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:004144cb ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:004144ce 50 PUSH EAX
.text:004144cf e866fcffff CALL write_text_utf8_nolock ;write_result write_text_utf8_nolock(...
.text:004144d4 ebe7 JMP LAB_004144bd
LAB_004144d6: ;XREF[1,0]: 0041449b
.text:004144d6 ff75f4 PUSH dword ptr [EBP + local_10+0x4]
.text:004144d9 8d45d0 LEA EAX=>local_34,[EBP + -0x30]
.text:004144dc ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:004144df ff75f0 PUSH dword ptr [EBP + local_14+0x4]
.text:004144e2 50 PUSH EAX
.text:004144e3 e88efaffff CALL write_text_ansi_nolock ;write_result write_text_ansi_nolock(...
.text:004144e8 ebd3 JMP LAB_004144bd
LAB_004144ea: ;XREF[1,0]: 00414493
.text:004144ea 8b4c0818 MOV ECX,dword ptr [EAX + ECX*0x1 + 0x18]
.text:004144ee 8d7dd0 LEA EDI=>local_34,[EBP + -0x30]
.text:004144f1 33c0 XOR EAX,EAX
.text:004144f3 ab STOSD ES:EDI
.text:004144f4 56 PUSH ESI ;LPOVERLAPPED lpOverlapped for WriteFile
.text:004144f5 ab STOSD ES:EDI
.text:004144f6 ab STOSD ES:EDI
.text:004144f7 8d45d4 LEA EAX=>local_30,[EBP + -0x2c]
.text:004144fa 50 PUSH EAX ;LPDWORD lpNumberOfBytesWritten for W...
.text:004144fb ff75f4 PUSH dword ptr [EBP + local_10+0x4] ;DWORD nNumberOfBytesToWrite for Writ...
.text:004144fe ff75f8 PUSH dword ptr [EBP + local_c+0x4] ;LPCVOID lpBuffer for WriteFile
.text:00414501 51 PUSH ECX ;HANDLE hFile for WriteFile
.text:00414502 ff1580b04100 CALL dword ptr [->KERNEL32.DLL::WriteFile] ;= 00022560
.text:00414508 85c0 TEST EAX,EAX
.text:0041450a 7509 JNZ LAB_00414515
.text:0041450c ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00414512 8945d0 MOV dword ptr [EBP + local_34+0x4],EAX
LAB_00414515: ;XREF[1,0]: 0041450a
.text:00414515 8d75d0 LEA ESI=>local_34,[EBP + -0x30]
LAB_00414518: ;XREF[1,0]: 00414464
.text:00414518 8d7ddc LEA EDI=>local_28,[EBP + -0x24]
.text:0041451b a5 MOVSD ES:EDI,ESI
.text:0041451c a5 MOVSD ES:EDI,ESI
.text:0041451d a5 MOVSD ES:EDI,ESI
.text:0041451e 8b45e0 MOV EAX,dword ptr [EBP + local_24+0x4]
.text:00414521 85c0 TEST EAX,EAX
.text:00414523 7568 JNZ LAB_0041458d
.text:00414525 8b7ddc MOV EDI,dword ptr [EBP + local_28+0x4]
.text:00414528 33f6 XOR ESI,ESI
LAB_0041452a: ;XREF[1,0]: 0041444a
.text:0041452a 8b55ec MOV EDX,dword ptr [EBP + local_18+0x4]
.text:0041452d 8b4de8 MOV ECX,dword ptr [EBP + local_1c+0x4]
LAB_00414530: ;XREF[1,0]: 004144a5
.text:00414530 85ff TEST EDI,EDI
.text:00414532 742c JZ LAB_00414560
.text:00414534 6a05 PUSH 0x5
.text:00414536 58 POP EAX
.text:00414537 3bf8 CMP EDI,EAX
.text:00414539 7517 JNZ LAB_00414552
.text:0041453b c6431c01 MOV byte ptr [EBX + 0x1c],0x1
.text:0041453f c74318090... MOV dword ptr [EBX + 0x18],0x9
.text:00414546 c6432401 MOV byte ptr [EBX + 0x24],0x1
.text:0041454a 894320 MOV dword ptr [EBX + 0x20],EAX
.text:0041454d e979feffff JMP LAB_004143cb
LAB_00414552: ;XREF[1,0]: 00414539
.text:00414552 53 PUSH EBX
.text:00414553 57 PUSH EDI
.text:00414554 e8749dffff CALL FUN_0040e2cd ;undefined FUN_0040e2cd(ulong param_1...
.text:00414559 59 POP ECX
.text:0041455a 59 POP ECX
.text:0041455b e96bfeffff JMP LAB_004143cb
LAB_00414560: ;XREF[1,0]: 00414532
.text:00414560 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00414567 f644082840 TEST byte ptr [EAX + ECX*0x1 + 0x28],0x40
.text:0041456c 7408 JZ LAB_00414576
.text:0041456e 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00414571 80381a CMP byte ptr [EAX],0x1a
.text:00414574 741c JZ LAB_00414592
LAB_00414576: ;XREF[1,0]: 0041456c
.text:00414576 c6431c01 MOV byte ptr [EBX + 0x1c],0x1
.text:0041457a c743181c0... MOV dword ptr [EBX + 0x18],0x1c
.text:00414581 c6432401 MOV byte ptr [EBX + 0x24],0x1
.text:00414585 897320 MOV dword ptr [EBX + 0x20],ESI
.text:00414588 e93efeffff JMP LAB_004143cb
LAB_0041458d: ;XREF[1,0]: 00414523
.text:0041458d 2b45e4 SUB EAX,dword ptr [EBP + local_20+0x4]
.text:00414590 eb02 JMP LAB_00414594
LAB_00414592: ;XREF[2,0]: 0041439f,00414574
.text:00414592 33c0 XOR EAX,EAX
LAB_00414594: ;XREF[2,0]: 004143ce,00414590
.text:00414594 5f POP EDI
.text:00414595 5e POP ESI
.text:00414596 5b POP EBX
.text:00414597 c9 LEAVE
.text:00414598 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_00414599(char * param_1, int param_2)
;param_1 char * 4 ;XREF[1,0]: 004145a4
;param_2 int 8 ;XREF[1,0]: 0041459e
;XREF[3,0]: 004145ed,00414615,00414635
.text:00414599 8bff MOV EDI,EDI
.text:0041459b 55 PUSH EBP
.text:0041459c 8bec MOV EBP,ESP
.text:0041459e 837d0c00 CMP dword ptr [EBP + param_2+0x4],0x0
.text:004145a2 7414 JZ LAB_004145b8
.text:004145a4 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004145a7 eb01 JMP LAB_004145aa
LAB_004145a9: ;XREF[1,0]: 004145af
.text:004145a9 40 INC EAX
LAB_004145aa: ;XREF[1,0]: 004145a7
.text:004145aa 8a08 MOV CL,byte ptr [EAX]
.text:004145ac 80f930 CMP CL,0x30
.text:004145af 74f8 JZ LAB_004145a9
.text:004145b1 84c9 TEST CL,CL
.text:004145b3 0f95c0 SETNZ AL
.text:004145b6 5d POP EBP
.text:004145b7 c3 RET
LAB_004145b8: ;XREF[1,0]: 004145a2
.text:004145b8 b001 MOV AL,0x1
.text:004145ba 5d POP EBP
.text:004145bb c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_004145bc(int param_1, char * param_2, int param_3, int param_4, int param_5)
;param_1 int 4 ;XREF[1,0]: 004145f8
;param_2 char * 8 ;XREF[4,0]: 004145c7,004145db,00414612,00414632
;param_3 int c ;XREF[2,0]: 00414620,00414640
;param_4 int 10 ;XREF[3,0]: 004145e6,0041460f,0041462f
;param_5 int 14 ;XREF[1,0]: 004145c1
;XREF[1,0]: 004146f8
.text:004145bc 8bff MOV EDI,EDI
.text:004145be 55 PUSH EBP
.text:004145bf 8bec MOV EBP,ESP
.text:004145c1 837d1800 CMP dword ptr [EBP + param_5+0x4],0x0
.text:004145c5 750b JNZ LAB_004145d2
.text:004145c7 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004145ca 803835 CMP byte ptr [EAX],0x35
.text:004145cd 0f9dc0 SETGE AL
.text:004145d0 5d POP EBP
.text:004145d1 c3 RET
LAB_004145d2: ;XREF[1,0]: 004145c5
.text:004145d2 e87dc4ffff CALL _fegetround ;undefined _fegetround(void)
.text:004145d7 85c0 TEST EAX,EAX
.text:004145d9 752d JNZ LAB_00414608
.text:004145db 8b550c MOV EDX,dword ptr [EBP + param_2+0x4]
.text:004145de 8a02 MOV AL,byte ptr [EDX]
.text:004145e0 3c35 CMP AL,0x35
.text:004145e2 7f20 JG LAB_00414604
.text:004145e4 7c60 JL LAB_00414646
.text:004145e6 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:004145e9 8d4201 LEA EAX,[EDX + 0x1]
.text:004145ec 50 PUSH EAX
.text:004145ed e8a7ffffff CALL FUN_00414599 ;bool FUN_00414599(char * param_1, in...
.text:004145f2 59 POP ECX
.text:004145f3 59 POP ECX
.text:004145f4 84c0 TEST AL,AL
.text:004145f6 750c JNZ LAB_00414604
.text:004145f8 3b5508 CMP EDX,dword ptr [EBP + param_1+0x4]
.text:004145fb 7449 JZ LAB_00414646
.text:004145fd 8a42ff MOV AL,byte ptr [EDX + -0x1]
.text:00414600 2401 AND AL,0x1
.text:00414602 5d POP EBP
.text:00414603 c3 RET
LAB_00414604: ;XREF[4,0]: 004145e2,004145f6,00414626,00414644
.text:00414604 b001 MOV AL,0x1
.text:00414606 5d POP EBP
.text:00414607 c3 RET
LAB_00414608: ;XREF[1,0]: 004145d9
.text:00414608 3d00020000 CMP EAX,0x200
.text:0041460d 7519 JNZ LAB_00414628
.text:0041460f ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00414612 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00414615 e87fffffff CALL FUN_00414599 ;bool FUN_00414599(char * param_1, in...
.text:0041461a 59 POP ECX
.text:0041461b 59 POP ECX
.text:0041461c 84c0 TEST AL,AL
.text:0041461e 7426 JZ LAB_00414646
.text:00414620 837d102d CMP dword ptr [EBP + param_3+0x4],0x2d
.text:00414624 7420 JZ LAB_00414646
.text:00414626 ebdc JMP LAB_00414604
LAB_00414628: ;XREF[1,0]: 0041460d
.text:00414628 3d00010000 CMP EAX,0x100
.text:0041462d 7517 JNZ LAB_00414646
.text:0041462f ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00414632 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00414635 e85fffffff CALL FUN_00414599 ;bool FUN_00414599(char * param_1, in...
.text:0041463a 59 POP ECX
.text:0041463b 59 POP ECX
.text:0041463c 84c0 TEST AL,AL
.text:0041463e 7406 JZ LAB_00414646
.text:00414640 837d102d CMP dword ptr [EBP + param_3+0x4],0x2d
.text:00414644 74be JZ LAB_00414604
LAB_00414646: ;XREF[6,0]: 004145e4,004145fb,0041461e,00414624
; 0041462d,0041463e
.text:00414646 32c0 XOR AL,AL
.text:00414648 5d POP EBP
.text:00414649 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;__acrt_ptd * FUN_0041464a(char * param_1, uint param_2, int param_3, int * param_4, int param_5, int param_6, __acrt_ptd * * param_7)
;param_1 char * 4 ;XREF[1,0]: 00414652
;param_2 uint 8 ;XREF[2,0]: 0041467e,00414691
;param_3 int c ;XREF[1,0]: 00414683
;param_4 int * 10 ;XREF[2,0]: 0041469a,004146e3
;param_5 int 14 ;XREF[1,0]: 004146ef
;param_6 int 18 ;XREF[1,0]: 004146ec
;param_7 __acrt_ptd * * 1c ;XREF[2,0]: 0041465b,004146a3
;local_8 undefined4 -8 ;XREF[2,0]: 004146c6,004146f5
;XREF[3,0]: 0040f652,0040f841,0040f9c3
.text:0041464a 8bff MOV EDI,EDI
.text:0041464c 55 PUSH EBP
.text:0041464d 8bec MOV EBP,ESP
.text:0041464f 51 PUSH ECX
.text:00414650 56 PUSH ESI
.text:00414651 57 PUSH EDI
.text:00414652 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00414655 33c9 XOR ECX,ECX
.text:00414657 85ff TEST EDI,EDI
.text:00414659 7522 JNZ LAB_0041467d
.text:0041465b 8b4520 MOV EAX,dword ptr [EBP + param_7+0x4]
.text:0041465e 6a16 PUSH 0x16
.text:00414660 5e POP ESI
.text:00414661 50 PUSH EAX
.text:00414662 51 PUSH ECX
.text:00414663 51 PUSH ECX
.text:00414664 51 PUSH ECX
.text:00414665 51 PUSH ECX
.text:00414666 51 PUSH ECX
.text:00414667 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:0041466b 897018 MOV dword ptr [EAX + 0x18],ESI
.text:0041466e e8339bffff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00414673 83c418 ADD ESP,0x18
.text:00414676 8bc6 MOV EAX,ESI
.text:00414678 e9c3000000 JMP LAB_00414740
LAB_0041467d: ;XREF[1,0]: 00414659
.text:0041467d 53 PUSH EBX
.text:0041467e 394d0c CMP dword ptr [EBP + param_2+0x4],ECX
.text:00414681 761e JBE LAB_004146a1
.text:00414683 8b5510 MOV EDX,dword ptr [EBP + param_3+0x4]
.text:00414686 8bc2 MOV EAX,EDX
.text:00414688 880f MOV byte ptr [EDI],CL
.text:0041468a 85d2 TEST EDX,EDX
.text:0041468c 7f02 JG LAB_00414690
.text:0041468e 8bc1 MOV EAX,ECX
LAB_00414690: ;XREF[1,0]: 0041468c
.text:00414690 40 INC EAX
.text:00414691 39450c CMP dword ptr [EBP + param_2+0x4],EAX
.text:00414694 7704 JA LAB_0041469a
.text:00414696 6a22 PUSH 0x22
.text:00414698 eb09 JMP LAB_004146a3
LAB_0041469a: ;XREF[1,0]: 00414694
.text:0041469a 8b5d14 MOV EBX,dword ptr [EBP + param_4+0x4]
.text:0041469d 85db TEST EBX,EBX
.text:0041469f 751f JNZ LAB_004146c0
LAB_004146a1: ;XREF[1,0]: 00414681
.text:004146a1 6a16 PUSH 0x16
LAB_004146a3: ;XREF[1,0]: 00414698
.text:004146a3 8b4520 MOV EAX,dword ptr [EBP + param_7+0x4]
.text:004146a6 5e POP ESI
.text:004146a7 50 PUSH EAX
.text:004146a8 51 PUSH ECX
.text:004146a9 51 PUSH ECX
.text:004146aa 51 PUSH ECX
.text:004146ab 51 PUSH ECX
.text:004146ac 897018 MOV dword ptr [EAX + 0x18],ESI
.text:004146af 51 PUSH ECX
.text:004146b0 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:004146b4 e8ed9affff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:004146b9 83c418 ADD ESP,0x18
.text:004146bc 8bc6 MOV EAX,ESI
.text:004146be eb7f JMP LAB_0041473f
LAB_004146c0: ;XREF[1,0]: 0041469f
.text:004146c0 8b4308 MOV EAX,dword ptr [EBX + 0x8]
.text:004146c3 8d7701 LEA ESI,[EDI + 0x1]
.text:004146c6 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004146c9 c60730 MOV byte ptr [EDI],0x30
.text:004146cc 85d2 TEST EDX,EDX
.text:004146ce 7e16 JLE LAB_004146e6
LAB_004146d0: ;XREF[1,0]: 004146e1
.text:004146d0 8a18 MOV BL,byte ptr [EAX]
.text:004146d2 84db TEST BL,BL
.text:004146d4 7403 JZ LAB_004146d9
.text:004146d6 40 INC EAX
.text:004146d7 eb02 JMP LAB_004146db
LAB_004146d9: ;XREF[1,0]: 004146d4
.text:004146d9 b330 MOV BL,0x30
LAB_004146db: ;XREF[1,0]: 004146d7
.text:004146db 881e MOV byte ptr [ESI],BL
.text:004146dd 46 INC ESI
.text:004146de 4a DEC EDX
.text:004146df 85d2 TEST EDX,EDX
.text:004146e1 7fed JG LAB_004146d0
.text:004146e3 8b5d14 MOV EBX,dword ptr [EBP + param_4+0x4]
LAB_004146e6: ;XREF[1,0]: 004146ce
.text:004146e6 880e MOV byte ptr [ESI],CL
.text:004146e8 85d2 TEST EDX,EDX
.text:004146ea 7828 JS LAB_00414714
.text:004146ec ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:004146ef ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:004146f2 ff33 PUSH dword ptr [EBX]
.text:004146f4 50 PUSH EAX
.text:004146f5 ff75fc PUSH dword ptr [EBP + local_8+0x4]
.text:004146f8 e8bffeffff CALL FUN_004145bc ;bool FUN_004145bc(int param_1, char ...
.text:004146fd 83c414 ADD ESP,0x14
.text:00414700 84c0 TEST AL,AL
.text:00414702 7410 JZ LAB_00414714
.text:00414704 eb03 JMP LAB_00414709
LAB_00414706: ;XREF[1,0]: 0041470e
.text:00414706 c60630 MOV byte ptr [ESI],0x30
LAB_00414709: ;XREF[1,0]: 00414704
.text:00414709 4e DEC ESI
.text:0041470a 8a06 MOV AL,byte ptr [ESI]
.text:0041470c 3c39 CMP AL,0x39
.text:0041470e 74f6 JZ LAB_00414706
.text:00414710 fec0 INC AL
.text:00414712 8806 MOV byte ptr [ESI],AL
LAB_00414714: ;XREF[2,0]: 004146ea,00414702
.text:00414714 803f31 CMP byte ptr [EDI],0x31
.text:00414717 7505 JNZ LAB_0041471e
.text:00414719 ff4304 INC dword ptr [EBX + 0x4]
.text:0041471c eb1f JMP LAB_0041473d
LAB_0041471e: ;XREF[1,0]: 00414717
.text:0041471e 8d7701 LEA ESI,[EDI + 0x1]
.text:00414721 8bce MOV ECX,ESI
.text:00414723 8d5101 LEA EDX,[ECX + 0x1]
LAB_00414726: ;XREF[1,0]: 0041472b
.text:00414726 8a01 MOV AL,byte ptr [ECX]
.text:00414728 41 INC ECX
.text:00414729 84c0 TEST AL,AL
.text:0041472b 75f9 JNZ LAB_00414726
.text:0041472d 2bca SUB ECX,EDX
.text:0041472f 8d4101 LEA EAX,[ECX + 0x1]
.text:00414732 50 PUSH EAX
.text:00414733 56 PUSH ESI
.text:00414734 57 PUSH EDI
.text:00414735 e876e9feff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:0041473a 83c40c ADD ESP,0xc
LAB_0041473d: ;XREF[1,0]: 0041471c
.text:0041473d 33c0 XOR EAX,EAX
LAB_0041473f: ;XREF[1,0]: 004146be
.text:0041473f 5b POP EBX
LAB_00414740: ;XREF[1,0]: 00414678
.text:00414740 5f POP EDI
.text:00414741 5e POP ESI
.text:00414742 c9 LEAVE
.text:00414743 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00414744(uint * * * * * * * param_1, uint param_2, int param_3, int param_4, undefined4 * param_5, uint * * * * * * * param_6, int param_7)
;param_1 uint * * * ... 4 ;XREF[6,0]: 004147b3,004147f2,0041481e,0041489f,004148aa
; 004148dc
;param_2 uint 8 ;XREF[2,0]: 004147a6,004148b3
;param_3 int c ;XREF[1,0]: 004148e2
;param_4 int 10
;param_5 undefined4 * 14 ;XREF[1,0]: 00414759
;param_6 uint * * * ... 18 ;XREF[1,0]: 00414762
;param_7 int 1c ;XREF[2,0]: 0041485c,0041487f
;local_8 undefined4 -8 ;XREF[2,0]: 00414756,00415d10
;local_1d0 undefined4 -1d0 ;XREF[1,0]: 0041499e
;local_1d4 undefined4 -1d4 ;XREF[1,0]: 00414995
;local_1d8 undefined4 -1d8 ;XREF[1,0]: 004149ab
;local_570 undefined4 -570 ;XREF[2,0]: 004149c4,00414d66
;local_574 undefined4 -574 ;XREF[2,0]: 004149bd,00414d5f
;local_578 undefined4 -578 ;XREF[2,0]: 004149ce,00414d70
;local_750 undefined4 -750 ;XREF[2,0]: 0041494b,00414985
;local_754 undefined4 -754 ;XREF[6,0]: 00414912,00414921,00414935,004149a5,00414a2d
; 00414bed
;local_758 undefined4 -758 ;XREF[2,0]: 00414a22,00414be2
;local_75c undefined4 -75c ;XREF[2,0]: 00414a18,00414bd8
;local_764 undefined4 -764 ;XREF[4,0]: 00414765,004147cc,0041485f,00414882
;local_768 undefined4 -768 ;XREF[2,0]: 00414a12,00414bd2
;local_770 undefined4 -770 ;XREF[2,0]: 00414a3b,00414bfb
;local_774 undefined4 -774 ;XREF[5,0]: 004148e5,0041493b,0041498d,00414a43,00414c03
;local_780 undefined8 -780 ;XREF[2,5]: 004148ed,00414927,004148cf,004148f3,00414a34
; 00414bf4,00414e7c
;local_788 undefined4 -788 ;XREF[2,0]: 00414967,0041497e
;local_78c undefined4 -78c ;XREF[1,0]: 004148fb
;local_790 undefined4 -790 ;XREF[4,0]: 0041475c,004147c0,0041480d,0041482c
;local_794 undefined4 -794 ;XREF[2,0]: 004148be,004148c9
;local_798 undefined1 -798 ;XREF[1,0]: 004148ad
;local_79c undefined1 -79c ;XREF[3,0]: 00414789,0041479f,00415cf8
;local_7a4 undefined4 -7a4 ;XREF[4,0]: 0041476b,00414778,00414792,00415d03
;local_7a8 undefined4 -7a8 ;XREF[2,0]: 004147d5,00414801
;local_98c undefined8 -98c ;XREF[1,0]: 00414958
;XREF[3,0]: 0040f604,0040f800,0040f985
.text:00414744 8bff MOV EDI,EDI
.text:00414746 55 PUSH EBP
.text:00414747 8bec MOV EBP,ESP
.text:00414749 81ec74090000 SUB ESP,0x974
.text:0041474f a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00414754 33c5 XOR EAX,EBP
.text:00414756 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00414759 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:0041475c 898574f8ffff MOV dword ptr [EBP + local_790+0x4],EAX
.text:00414762 8b451c MOV EAX,dword ptr [EBP + param_6+0x4]
.text:00414765 8985a0f8ffff MOV dword ptr [EBP + local_764+0x4],EAX
.text:0041476b 8d8560f8ffff LEA EAX=>local_7a4,[EBP + 0xfffff860]
.text:00414771 53 PUSH EBX
.text:00414772 50 PUSH EAX
.text:00414773 e8ef3a0000 CALL _fegetenv ;undefined4 _fegetenv(uint * param_1)
.text:00414778 8b8560f8ffff MOV EAX,dword ptr [EBP + local_7a4+0x4]
.text:0041477e 33db XOR EBX,EBX
.text:00414780 83e01f AND EAX,0x1f
.text:00414783 43 INC EBX
.text:00414784 59 POP ECX
.text:00414785 3c1f CMP AL,0x1f
.text:00414787 7509 JNZ LAB_00414792
.text:00414789 c68568f8f... MOV byte ptr [EBP + local_79c+0x4],0x0
.text:00414790 eb13 JMP LAB_004147a5
LAB_00414792: ;XREF[1,0]: 00414787
.text:00414792 8d8560f8ffff LEA EAX=>local_7a4,[EBP + 0xfffff860]
.text:00414798 50 PUSH EAX
.text:00414799 e8323b0000 CALL FUN_004182d0 ;undefined4 FUN_004182d0(uint * param_1)
.text:0041479e 59 POP ECX
.text:0041479f 889d68f8ffff MOV byte ptr [EBP + local_79c+0x4],BL
LAB_004147a5: ;XREF[1,0]: 00414790
.text:004147a5 56 PUSH ESI
.text:004147a6 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:004147a9 57 PUSH EDI
.text:004147aa 6a20 PUSH 0x20
.text:004147ac 5f POP EDI
.text:004147ad 85f6 TEST ESI,ESI
.text:004147af 7f0d JG LAB_004147be
.text:004147b1 7c06 JL LAB_004147b9
.text:004147b3 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:004147b7 7305 JNC LAB_004147be
LAB_004147b9: ;XREF[1,0]: 004147b1
.text:004147b9 6a2d PUSH 0x2d
.text:004147bb 58 POP EAX
.text:004147bc eb02 JMP LAB_004147c0
LAB_004147be: ;XREF[2,0]: 004147af,004147b7
.text:004147be 8bc7 MOV EAX,EDI
LAB_004147c0: ;XREF[1,0]: 004147bc
.text:004147c0 8b8d74f8ffff MOV ECX,dword ptr [EBP + local_790+0x4]
.text:004147c6 6a00 PUSH 0x0
.text:004147c8 6a00 PUSH 0x0
.text:004147ca 8901 MOV dword ptr [ECX],EAX
.text:004147cc 8b85a0f8ffff MOV EAX,dword ptr [EBP + local_764+0x4]
.text:004147d2 894108 MOV dword ptr [ECX + 0x8],EAX
.text:004147d5 8d855cf8ffff LEA EAX=>local_7a8,[EBP + 0xfffff85c]
.text:004147db 50 PUSH EAX
.text:004147dc e87392ffff CALL __controlfp_s ;errno_t __controlfp_s(uint * _Curren...
.text:004147e1 8bce MOV ECX,ESI
.text:004147e3 33c0 XOR EAX,EAX
.text:004147e5 81e10000f07f AND ECX,0x7ff00000
.text:004147eb 83c40c ADD ESP,0xc
.text:004147ee 0bc1 OR EAX,ECX
.text:004147f0 752c JNZ LAB_0041481e
.text:004147f2 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004147f5 8bce MOV ECX,ESI
.text:004147f7 81e1ffff0f00 AND ECX,0xfffff
.text:004147fd 0bc1 OR EAX,ECX
.text:004147ff 740c JZ LAB_0041480d
.text:00414801 f7855cf8f... TEST dword ptr [EBP +...,0x1000000
.text:0041480b 7411 JZ LAB_0041481e
LAB_0041480d: ;XREF[1,0]: 004147ff
.text:0041480d 8b8574f8ffff MOV EAX,dword ptr [EBP + local_790+0x4]
.text:00414813 6818fe4100 PUSH .rdata:DAT_0041fe18 ;= 30h 0
.text:00414818 83600400 AND dword ptr [EAX + 0x4],0x0
.text:0041481c eb3e JMP LAB_0041485c
LAB_0041481e: ;XREF[2,0]: 004147f0,0041480b
.text:0041481e 8d4508 LEA EAX=>param_1,[EBP + 0x8]
.text:00414821 50 PUSH EAX
.text:00414822 e886a9ffff CALL __acrt_fp_classify ;__acrt_fp_class __acrt_fp_classify(d...
.text:00414827 59 POP ECX
.text:00414828 85c0 TEST EAX,EAX
.text:0041482a 7473 JZ LAB_0041489f
.text:0041482c 8b8d74f8ffff MOV ECX,dword ptr [EBP + local_790+0x4]
.text:00414832 895904 MOV dword ptr [ECX + 0x4],EBX
.text:00414835 83e801 SUB EAX,0x1
.text:00414838 7440 JZ LAB_0041487a
.text:0041483a 83e801 SUB EAX,0x1
.text:0041483d 7418 JZ LAB_00414857
.text:0041483f 83e801 SUB EAX,0x1
.text:00414842 740c JZ LAB_00414850
.text:00414844 83e801 SUB EAX,0x1
.text:00414847 7556 JNZ LAB_0041489f
.text:00414849 6834fe4100 PUSH .rdata:s_1#IND_0041fe34 ;= "1#IND"
.text:0041484e eb0c JMP LAB_0041485c
LAB_00414850: ;XREF[1,0]: 00414842
.text:00414850 682cfe4100 PUSH .rdata:s_1#SNAN_0041fe2c ;= "1#SNAN"
.text:00414855 eb05 JMP LAB_0041485c
LAB_00414857: ;XREF[1,0]: 0041483d
.text:00414857 6824fe4100 PUSH .rdata:s_1#QNAN_0041fe24 ;= "1#QNAN"
LAB_0041485c: ;XREF[3,0]: 0041481c,0041484e,00414855
.text:0041485c ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:0041485f ffb5a0f8ffff PUSH dword ptr [EBP + local_764+0x4]
; FWD[4,0]: 0040daef,0041fe18,0041fe2c,0041fe34
.text:00414865 e88592ffff CALL FUN_0040daef ;undefined4 FUN_0040daef(char * param...
;= 30h 0
;= "1#SNAN"
;= "1#IND"
.text:0041486a 83c40c ADD ESP,0xc
.text:0041486d 85c0 TEST EAX,EAX
.text:0041486f 0f85aa140000 JNZ LAB_00415d1f
.text:00414875 e97e140000 JMP LAB_00415cf8
LAB_0041487a: ;XREF[1,0]: 00414838
.text:0041487a 681cfe4100 PUSH .rdata:s_1#INF_0041fe1c ;= "1#INF"
.text:0041487f ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00414882 ffb5a0f8ffff PUSH dword ptr [EBP + local_764+0x4]
.text:00414888 e86292ffff CALL FUN_0040daef ;undefined4 FUN_0040daef(char * param...
.text:0041488d 83c40c ADD ESP,0xc
.text:00414890 85c0 TEST EAX,EAX
.text:00414892 0f8587140000 JNZ LAB_00415d1f
.text:00414898 33db XOR EBX,EBX
.text:0041489a e959140000 JMP LAB_00415cf8
LAB_0041489f: ;XREF[2,0]: 0041482a,00414847
.text:0041489f 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004148a2 81e6ffffff7f AND ESI,0x7fffffff
.text:004148a8 6a00 PUSH 0x0
.text:004148aa 894508 MOV dword ptr [EBP + param_1+0x4],EAX
.text:004148ad 8d856cf8ffff LEA EAX=>local_798,[EBP + 0xfffff86c]
.text:004148b3 89750c MOV dword ptr [EBP + param_2+0x4],ESI
.text:004148b6 be1f000800 MOV ESI,0x8001f
.text:004148bb 6a00 PUSH 0x0
.text:004148bd 50 PUSH EAX
.text:004148be 89b570f8ffff MOV dword ptr [EBP + local_794+0x4],ESI
.text:004148c4 e88b91ffff CALL __controlfp_s ;errno_t __controlfp_s(uint * _Curren...
.text:004148c9 ffb570f8ffff PUSH dword ptr [EBP + local_794+0x4]
.text:004148cf 8d8588f8ffff LEA EAX=>local_780+0x4,[EBP + 0xfffff888]
.text:004148d5 56 PUSH ESI
.text:004148d6 50 PUSH EAX
.text:004148d7 e87891ffff CALL __controlfp_s ;errno_t __controlfp_s(uint * _Curren...
.text:004148dc dd4508 FLD qword ptr [EBP + param_1+0x4]
.text:004148df 83c418 ADD ESP,0x18
.text:004148e2 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:004148e5 83a590f8f... AND dword ptr [EBP + local_774+0x4],0x0
.text:004148ec 40 INC EAX
.text:004148ed dd9584f8ffff FST qword ptr [EBP + local_780+0x4]
.text:004148f3 8bb588f8ffff MOV ESI,dword ptr [EBP + local_780+0x8]
.text:004148f9 8bce MOV ECX,ESI
.text:004148fb 898578f8ffff MOV dword ptr [EBP + local_78c+0x4],EAX
.text:00414901 c1e914 SHR ECX,0x14
.text:00414904 8bc1 MOV EAX,ECX
.text:00414906 25ff070000 AND EAX,0x7ff
.text:0041490b 83c800 OR EAX,0x0
.text:0041490e 750a JNZ LAB_0041491a
.text:00414910 33d2 XOR EDX,EDX
.text:00414912 899db0f8ffff MOV dword ptr [EBP + local_754+0x4],EBX
.text:00414918 eb0d JMP LAB_00414927
LAB_0041491a: ;XREF[1,0]: 0041490e
.text:0041491a 33c0 XOR EAX,EAX
.text:0041491c ba00001000 MOV EDX,0x100000
.text:00414921 2185b0f8ffff AND dword ptr [EBP + local_754+0x4],EAX
LAB_00414927: ;XREF[1,0]: 00414918
.text:00414927 8bbd84f8ffff MOV EDI,dword ptr [EBP + local_780+0x4]
.text:0041492d 81e6ffff0f00 AND ESI,0xfffff
.text:00414933 03f8 ADD EDI,EAX
.text:00414935 8b85b0f8ffff MOV EAX,dword ptr [EBP + local_754+0x4]
.text:0041493b 89bd90f8ffff MOV dword ptr [EBP + local_774+0x4],EDI
.text:00414941 13f2 ADC ESI,EDX
.text:00414943 81e1ff070000 AND ECX,0x7ff
.text:00414949 03c1 ADD EAX,ECX
.text:0041494b 8985b4f8ffff MOV dword ptr [EBP + local_750+0x4],EAX
.text:00414951 e8ca390000 CALL FUN_00418320 ;undefined FUN_00418320(void)
.text:00414956 51 PUSH ECX
.text:00414957 51 PUSH ECX
.text:00414958 dd1c24 FSTP qword ptr [ESP]=>local_98c
.text:0041495b e8d03a0000 CALL FUN_00418430 ;float10 * FUN_00418430(float10 * __r...
.text:00414960 59 POP ECX
.text:00414961 59 POP ECX
.text:00414962 e839600000 CALL thunk_FUN_0041a9b0 ;uint thunk_FUN_0041a9b0(void)
.text:00414967 89857cf8ffff MOV dword ptr [EBP + local_788+0x4],EAX
.text:0041496d 6a20 PUSH 0x20
.text:0041496f 5f POP EDI
.text:00414970 3dffffff7f CMP EAX,0x7fffffff
.text:00414975 7407 JZ LAB_0041497e
.text:00414977 3d00000080 CMP EAX,0x80000000
.text:0041497c 7507 JNZ LAB_00414985
LAB_0041497e: ;XREF[1,0]: 00414975
.text:0041497e 83a57cf8f... AND dword ptr [EBP + local_788+0x4],0x0
LAB_00414985: ;XREF[1,0]: 0041497c
.text:00414985 8b95b4f8ffff MOV EDX,dword ptr [EBP + local_750+0x4]
.text:0041498b 33c9 XOR ECX,ECX
.text:0041498d 8b8590f8ffff MOV EAX,dword ptr [EBP + local_774+0x4]
.text:00414993 85f6 TEST ESI,ESI
.text:00414995 898530feffff MOV dword ptr [EBP + local_1d4+0x4],EAX
.text:0041499b 0f95c1 SETNZ CL
.text:0041499e 89b534feffff MOV dword ptr [EBP + local_1d0+0x4],ESI
.text:004149a4 41 INC ECX
.text:004149a5 898db0f8ffff MOV dword ptr [EBP + local_754+0x4],ECX
.text:004149ab 898d2cfeffff MOV dword ptr [EBP + local_1d8+0x4],ECX
.text:004149b1 81fa33040000 CMP EDX,0x433
.text:004149b7 0f8299030000 JC LAB_00414d56
.text:004149bd 83a590faf... AND dword ptr [EBP + local_574+0x4],0x0
.text:004149c4 c78594faf... MOV dword ptr [EBP + local_570+0x4],0x100000
.text:004149ce c7858cfaf... MOV dword ptr [EBP + local_578+0x4],0x2
.text:004149d8 85f6 TEST ESI,ESI
.text:004149da 0f84de010000 JZ LAB_00414bbe
.text:004149e0 33c9 XOR ECX,ECX
LAB_004149e2: ;XREF[1,0]: 004149fc
.text:004149e2 8b840d90f... MOV EAX,dword ptr [EBP + ECX*0x1 + 0xffff...
.text:004149e9 3b840d30f... CMP EAX,dword ptr [EBP + ECX*0x1 + 0xffff...
.text:004149f0 0f85c8010000 JNZ LAB_00414bbe
.text:004149f6 83c104 ADD ECX,0x4
.text:004149f9 83f908 CMP ECX,0x8
.text:004149fc 75e4 JNZ LAB_004149e2
.text:004149fe 8d8acffbffff LEA ECX,[EDX + 0xfffffbcf]
.text:00414a04 8bf7 MOV ESI,EDI
.text:00414a06 8bc1 MOV EAX,ECX
.text:00414a08 33d2 XOR EDX,EDX
.text:00414a0a 83e11f AND ECX,0x1f
.text:00414a0d c1e805 SHR EAX,0x5
.text:00414a10 2bf1 SUB ESI,ECX
.text:00414a12 89859cf8ffff MOV dword ptr [EBP + local_768+0x4],EAX
.text:00414a18 898da8f8ffff MOV dword ptr [EBP + local_75c+0x4],ECX
.text:00414a1e 8bc3 MOV EAX,EBX
.text:00414a20 8bce MOV ECX,ESI
.text:00414a22 89b5acf8ffff MOV dword ptr [EBP + local_758+0x4],ESI
.text:00414a28 e8635d0000 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:00414a2d 8b95b0f8ffff MOV EDX,dword ptr [EBP + local_754+0x4]
.text:00414a33 48 DEC EAX
.text:00414a34 83a588f8f... AND dword ptr [EBP + local_780+0x8],0x0
.text:00414a3b 898594f8ffff MOV dword ptr [EBP + local_770+0x4],EAX
.text:00414a41 f7d0 NOT EAX
.text:00414a43 898590f8ffff MOV dword ptr [EBP + local_774+0x4],EAX
.text:00414a49 8b8c952cf... MOV ECX,dword ptr [EBP + EDX*0x4 + 0xffff...
.text:00414a50 0fbdc1 BSR EAX,ECX
.text:00414a53 7409 JZ LAB_00414a5e
.text:00414a55 40 INC EAX
.text:00414a56 8985b0f8ffff MOV dword ptr [EBP + 0xfffff8b0],EAX
.text:00414a5c eb07 JMP LAB_00414a65
LAB_00414a5e: ;XREF[1,0]: 00414a53
.text:00414a5e 83a5b0f8f... AND dword ptr [EBP + 0xfffff8b0],0x0
LAB_00414a65: ;XREF[1,0]: 00414a5c
.text:00414a65 8b8d9cf8ffff MOV ECX,dword ptr [EBP + 0xfffff89c]
.text:00414a6b becc010000 MOV ESI,0x1cc
.text:00414a70 8d040a LEA EAX,[EDX + ECX*0x1]
.text:00414a73 83f873 CMP EAX,0x73
.text:00414a76 762b JBE LAB_00414aa3
LAB_00414a78: ;XREF[1,0]: 00414ac0
.text:00414a78 33c0 XOR EAX,EAX
.text:00414a7a 50 PUSH EAX
.text:00414a7b 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:00414a81 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
.text:00414a87 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00414a8d 50 PUSH EAX
.text:00414a8e 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00414a94 56 PUSH ESI
.text:00414a95 50 PUSH EAX
.text:00414a96 e8897fffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00414a9b 83c410 ADD ESP,0x10
.text:00414a9e e9e2000000 JMP LAB_00414b85
LAB_00414aa3: ;XREF[1,0]: 00414a76
.text:00414aa3 2bbdb0f8ffff SUB EDI,dword ptr [EBP + 0xfffff8b0]
.text:00414aa9 3bbda8f8ffff CMP EDI,dword ptr [EBP + 0xfffff8a8]
.text:00414aaf 1bc0 SBB EAX,EAX
.text:00414ab1 f7d8 NEG EAX
.text:00414ab3 03c2 ADD EAX,EDX
.text:00414ab5 03c1 ADD EAX,ECX
.text:00414ab7 8985b8f8ffff MOV dword ptr [EBP + 0xfffff8b8],EAX
.text:00414abd 83f873 CMP EAX,0x73
.text:00414ac0 77b6 JA LAB_00414a78
.text:00414ac2 8d79ff LEA EDI,[ECX + -0x1]
.text:00414ac5 48 DEC EAX
.text:00414ac6 89bd80f8ffff MOV dword ptr [EBP + 0xfffff880],EDI
.text:00414acc 8985b4f8ffff MOV dword ptr [EBP + 0xfffff8b4],EAX
.text:00414ad2 3bc7 CMP EAX,EDI
.text:00414ad4 0f8491000000 JZ LAB_00414b6b
.text:00414ada 8bf8 MOV EDI,EAX
.text:00414adc 2bf9 SUB EDI,ECX
.text:00414ade 8d8d2cfeffff LEA ECX,[EBP + 0xfffffe2c]
.text:00414ae4 8d0cb9 LEA ECX,[ECX + EDI*0x4]
.text:00414ae7 898d98f8ffff MOV dword ptr [EBP + 0xfffff898],ECX
LAB_00414aed: ;XREF[1,0]: 00414b63
.text:00414aed 3bfa CMP EDI,EDX
.text:00414aef 7305 JNC LAB_00414af6
.text:00414af1 8b4104 MOV EAX,dword ptr [ECX + 0x4]
.text:00414af4 eb02 JMP LAB_00414af8
LAB_00414af6: ;XREF[1,0]: 00414aef
.text:00414af6 33c0 XOR EAX,EAX
LAB_00414af8: ;XREF[1,0]: 00414af4
.text:00414af8 8985b0f8ffff MOV dword ptr [EBP + 0xfffff8b0],EAX
.text:00414afe 8d47ff LEA EAX,[EDI + -0x1]
.text:00414b01 3bc2 CMP EAX,EDX
.text:00414b03 7304 JNC LAB_00414b09
.text:00414b05 8b01 MOV EAX,dword ptr [ECX]
.text:00414b07 eb02 JMP LAB_00414b0b
LAB_00414b09: ;XREF[1,0]: 00414b03
.text:00414b09 33c0 XOR EAX,EAX
LAB_00414b0b: ;XREF[1,0]: 00414b07
.text:00414b0b 238590f8ffff AND EAX,dword ptr [EBP + 0xfffff890]
.text:00414b11 8b8dacf8ffff MOV ECX,dword ptr [EBP + 0xfffff8ac]
.text:00414b17 8b95b0f8ffff MOV EDX,dword ptr [EBP + 0xfffff8b0]
.text:00414b1d 239594f8ffff AND EDX,dword ptr [EBP + 0xfffff894]
.text:00414b23 d3e8 SHR EAX,CL
.text:00414b25 8b8da8f8ffff MOV ECX,dword ptr [EBP + 0xfffff8a8]
.text:00414b2b d3e2 SHL EDX,CL
.text:00414b2d 8b8db4f8ffff MOV ECX,dword ptr [EBP + 0xfffff8b4]
.text:00414b33 0bc2 OR EAX,EDX
.text:00414b35 89848d30f... MOV dword ptr [EBP +...,EAX
.text:00414b3c 8bc1 MOV EAX,ECX
.text:00414b3e 8b8d98f8ffff MOV ECX,dword ptr [EBP + 0xfffff898]
.text:00414b44 48 DEC EAX
.text:00414b45 83e904 SUB ECX,0x4
.text:00414b48 8985b4f8ffff MOV dword ptr [EBP + 0xfffff8b4],EAX
.text:00414b4e 4f DEC EDI
.text:00414b4f 898d98f8ffff MOV dword ptr [EBP + 0xfffff898],ECX
.text:00414b55 3b8580f8ffff CMP EAX,dword ptr [EBP + 0xfffff880]
.text:00414b5b 7408 JZ LAB_00414b65
.text:00414b5d 8b952cfeffff MOV EDX,dword ptr [EBP + 0xfffffe2c]
.text:00414b63 eb88 JMP LAB_00414aed
LAB_00414b65: ;XREF[1,0]: 00414b5b
.text:00414b65 8b8d9cf8ffff MOV ECX,dword ptr [EBP + 0xfffff89c]
LAB_00414b6b: ;XREF[1,0]: 00414ad4
.text:00414b6b 85c9 TEST ECX,ECX
.text:00414b6d 740a JZ LAB_00414b79
.text:00414b6f 33c0 XOR EAX,EAX
.text:00414b71 8dbd30feffff LEA EDI,[EBP + 0xfffffe30]
.text:00414b77 f3ab STOSD.REP ES:EDI
LAB_00414b79: ;XREF[1,0]: 00414b6d
.text:00414b79 8b85b8f8ffff MOV EAX,dword ptr [EBP + 0xfffff8b8]
.text:00414b7f 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
LAB_00414b85: ;XREF[1,0]: 00414a9e
.text:00414b85 6a04 PUSH 0x4
.text:00414b87 58 POP EAX
.text:00414b88 898590faffff MOV dword ptr [EBP + 0xfffffa90],EAX
.text:00414b8e 50 PUSH EAX
LAB_00414b8f: ;XREF[1,0]: 00414d51
.text:00414b8f 83a594faf... AND dword ptr [EBP + 0xfffffa94],0x0
.text:00414b96 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00414b9c 50 PUSH EAX
.text:00414b9d 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:00414ba3 899d5cfcffff MOV dword ptr [EBP + 0xfffffc5c],EBX
.text:00414ba9 56 PUSH ESI
.text:00414baa 50 PUSH EAX
.text:00414bab 899d8cfaffff MOV dword ptr [EBP + 0xfffffa8c],EBX
.text:00414bb1 e86e7effff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00414bb6 83c410 ADD ESP,0x10
.text:00414bb9 e9ce030000 JMP LAB_00414f8c
LAB_00414bbe: ;XREF[2,0]: 004149da,004149f0
.text:00414bbe 8d8acefbffff LEA ECX,[EDX + 0xfffffbce]
.text:00414bc4 8bf7 MOV ESI,EDI
.text:00414bc6 8bc1 MOV EAX,ECX
.text:00414bc8 33d2 XOR EDX,EDX
.text:00414bca 83e11f AND ECX,0x1f
.text:00414bcd c1e805 SHR EAX,0x5
.text:00414bd0 2bf1 SUB ESI,ECX
.text:00414bd2 89859cf8ffff MOV dword ptr [EBP + local_768+0x4],EAX
.text:00414bd8 898da8f8ffff MOV dword ptr [EBP + local_75c+0x4],ECX
.text:00414bde 8bc3 MOV EAX,EBX
.text:00414be0 8bce MOV ECX,ESI
.text:00414be2 89b5acf8ffff MOV dword ptr [EBP + local_758+0x4],ESI
.text:00414be8 e8a35b0000 CALL __allshl ;longlong __allshl(byte param_1, int ...
.text:00414bed 8b95b0f8ffff MOV EDX,dword ptr [EBP + local_754+0x4]
.text:00414bf3 48 DEC EAX
.text:00414bf4 83a588f8f... AND dword ptr [EBP + local_780+0x8],0x0
.text:00414bfb 898594f8ffff MOV dword ptr [EBP + local_770+0x4],EAX
.text:00414c01 f7d0 NOT EAX
.text:00414c03 898590f8ffff MOV dword ptr [EBP + local_774+0x4],EAX
.text:00414c09 8b8c952cf... MOV ECX,dword ptr [EBP + EDX*0x4 + 0xffff...
.text:00414c10 0fbdc1 BSR EAX,ECX
.text:00414c13 7409 JZ LAB_00414c1e
.text:00414c15 40 INC EAX
.text:00414c16 8985b0f8ffff MOV dword ptr [EBP + 0xfffff8b0],EAX
.text:00414c1c eb07 JMP LAB_00414c25
LAB_00414c1e: ;XREF[1,0]: 00414c13
.text:00414c1e 83a5b0f8f... AND dword ptr [EBP + 0xfffff8b0],0x0
LAB_00414c25: ;XREF[1,0]: 00414c1c
.text:00414c25 8b8d9cf8ffff MOV ECX,dword ptr [EBP + 0xfffff89c]
.text:00414c2b becc010000 MOV ESI,0x1cc
.text:00414c30 8d040a LEA EAX,[EDX + ECX*0x1]
.text:00414c33 83f873 CMP EAX,0x73
.text:00414c36 762b JBE LAB_00414c63
LAB_00414c38: ;XREF[1,0]: 00414c80
.text:00414c38 33c0 XOR EAX,EAX
.text:00414c3a 50 PUSH EAX
.text:00414c3b 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:00414c41 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
.text:00414c47 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00414c4d 50 PUSH EAX
.text:00414c4e 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00414c54 56 PUSH ESI
.text:00414c55 50 PUSH EAX
.text:00414c56 e8c97dffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00414c5b 83c410 ADD ESP,0x10
.text:00414c5e e9e2000000 JMP LAB_00414d45
LAB_00414c63: ;XREF[1,0]: 00414c36
.text:00414c63 2bbdb0f8ffff SUB EDI,dword ptr [EBP + 0xfffff8b0]
.text:00414c69 3bbda8f8ffff CMP EDI,dword ptr [EBP + 0xfffff8a8]
.text:00414c6f 1bc0 SBB EAX,EAX
.text:00414c71 f7d8 NEG EAX
.text:00414c73 03c2 ADD EAX,EDX
.text:00414c75 03c1 ADD EAX,ECX
.text:00414c77 8985b8f8ffff MOV dword ptr [EBP + 0xfffff8b8],EAX
.text:00414c7d 83f873 CMP EAX,0x73
.text:00414c80 77b6 JA LAB_00414c38
.text:00414c82 8d79ff LEA EDI,[ECX + -0x1]
.text:00414c85 48 DEC EAX
.text:00414c86 89bd80f8ffff MOV dword ptr [EBP + 0xfffff880],EDI
.text:00414c8c 8985b4f8ffff MOV dword ptr [EBP + 0xfffff8b4],EAX
.text:00414c92 3bc7 CMP EAX,EDI
.text:00414c94 0f8491000000 JZ LAB_00414d2b
.text:00414c9a 8bf8 MOV EDI,EAX
.text:00414c9c 2bf9 SUB EDI,ECX
.text:00414c9e 8d8d2cfeffff LEA ECX,[EBP + 0xfffffe2c]
.text:00414ca4 8d0cb9 LEA ECX,[ECX + EDI*0x4]
.text:00414ca7 898d98f8ffff MOV dword ptr [EBP + 0xfffff898],ECX
LAB_00414cad: ;XREF[1,0]: 00414d23
.text:00414cad 3bfa CMP EDI,EDX
.text:00414caf 7305 JNC LAB_00414cb6
.text:00414cb1 8b4104 MOV EAX,dword ptr [ECX + 0x4]
.text:00414cb4 eb02 JMP LAB_00414cb8
LAB_00414cb6: ;XREF[1,0]: 00414caf
.text:00414cb6 33c0 XOR EAX,EAX
LAB_00414cb8: ;XREF[1,0]: 00414cb4
.text:00414cb8 8985b0f8ffff MOV dword ptr [EBP + 0xfffff8b0],EAX
.text:00414cbe 8d47ff LEA EAX,[EDI + -0x1]
.text:00414cc1 3bc2 CMP EAX,EDX
.text:00414cc3 7304 JNC LAB_00414cc9
.text:00414cc5 8b01 MOV EAX,dword ptr [ECX]
.text:00414cc7 eb02 JMP LAB_00414ccb
LAB_00414cc9: ;XREF[1,0]: 00414cc3
.text:00414cc9 33c0 XOR EAX,EAX
LAB_00414ccb: ;XREF[1,0]: 00414cc7
.text:00414ccb 238590f8ffff AND EAX,dword ptr [EBP + 0xfffff890]
.text:00414cd1 8b8dacf8ffff MOV ECX,dword ptr [EBP + 0xfffff8ac]
.text:00414cd7 8b95b0f8ffff MOV EDX,dword ptr [EBP + 0xfffff8b0]
.text:00414cdd 239594f8ffff AND EDX,dword ptr [EBP + 0xfffff894]
.text:00414ce3 d3e8 SHR EAX,CL
.text:00414ce5 8b8da8f8ffff MOV ECX,dword ptr [EBP + 0xfffff8a8]
.text:00414ceb d3e2 SHL EDX,CL
.text:00414ced 8b8db4f8ffff MOV ECX,dword ptr [EBP + 0xfffff8b4]
.text:00414cf3 0bc2 OR EAX,EDX
.text:00414cf5 89848d30f... MOV dword ptr [EBP +...,EAX
.text:00414cfc 8bc1 MOV EAX,ECX
.text:00414cfe 8b8d98f8ffff MOV ECX,dword ptr [EBP + 0xfffff898]
.text:00414d04 48 DEC EAX
.text:00414d05 83e904 SUB ECX,0x4
.text:00414d08 8985b4f8ffff MOV dword ptr [EBP + 0xfffff8b4],EAX
.text:00414d0e 4f DEC EDI
.text:00414d0f 898d98f8ffff MOV dword ptr [EBP + 0xfffff898],ECX
.text:00414d15 3b8580f8ffff CMP EAX,dword ptr [EBP + 0xfffff880]
.text:00414d1b 7408 JZ LAB_00414d25
.text:00414d1d 8b952cfeffff MOV EDX,dword ptr [EBP + 0xfffffe2c]
.text:00414d23 eb88 JMP LAB_00414cad
LAB_00414d25: ;XREF[1,0]: 00414d1b
.text:00414d25 8b8d9cf8ffff MOV ECX,dword ptr [EBP + 0xfffff89c]
LAB_00414d2b: ;XREF[1,0]: 00414c94
.text:00414d2b 85c9 TEST ECX,ECX
.text:00414d2d 740a JZ LAB_00414d39
.text:00414d2f 33c0 XOR EAX,EAX
.text:00414d31 8dbd30feffff LEA EDI,[EBP + 0xfffffe30]
.text:00414d37 f3ab STOSD.REP ES:EDI
LAB_00414d39: ;XREF[1,0]: 00414d2d
.text:00414d39 8b85b8f8ffff MOV EAX,dword ptr [EBP + 0xfffff8b8]
.text:00414d3f 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
LAB_00414d45: ;XREF[1,0]: 00414c5e
.text:00414d45 c78590faf... MOV dword ptr [EBP + 0xfffffa90],0x2
.text:00414d4f 6a04 PUSH 0x4
.text:00414d51 e939feffff JMP LAB_00414b8f
LAB_00414d56: ;XREF[1,0]: 004149b7
.text:00414d56 83fa35 CMP EDX,0x35
.text:00414d59 0f8416010000 JZ LAB_00414e75
.text:00414d5f 83a590faf... AND dword ptr [EBP + local_574+0x4],0x0
.text:00414d66 c78594faf... MOV dword ptr [EBP + local_570+0x4],0x100000
.text:00414d70 c7858cfaf... MOV dword ptr [EBP + local_578+0x4],0x2
.text:00414d7a 85f6 TEST ESI,ESI
.text:00414d7c 0f84f3000000 JZ LAB_00414e75
.text:00414d82 33d2 XOR EDX,EDX
LAB_00414d84: ;XREF[1,0]: 00414d9e
.text:00414d84 8b841590f... MOV EAX,dword ptr [EBP + EDX*0x1 + 0xffff...
.text:00414d8b 3b841530f... CMP EAX,dword ptr [EBP + EDX*0x1 + 0xffff...
.text:00414d92 0f85dd000000 JNZ LAB_00414e75
.text:00414d98 83c204 ADD EDX,0x4
.text:00414d9b 83fa08 CMP EDX,0x8
.text:00414d9e 75e4 JNZ LAB_00414d84
.text:00414da0 33d2 XOR EDX,EDX
.text:00414da2 0fbdc6 BSR EAX,ESI
.text:00414da5 899588f8ffff MOV dword ptr [EBP + 0xfffff888],EDX
.text:00414dab 7403 JZ LAB_00414db0
.text:00414dad 40 INC EAX
.text:00414dae eb02 JMP LAB_00414db2
LAB_00414db0: ;XREF[1,0]: 00414dab
.text:00414db0 8bc2 MOV EAX,EDX
LAB_00414db2: ;XREF[1,0]: 00414dae
.text:00414db2 2bf8 SUB EDI,EAX
.text:00414db4 83ff02 CMP EDI,0x2
.text:00414db7 1bf6 SBB ESI,ESI
.text:00414db9 f7de NEG ESI
.text:00414dbb 03f1 ADD ESI,ECX
.text:00414dbd 83fe73 CMP ESI,0x73
.text:00414dc0 762a JBE LAB_00414dec
.text:00414dc2 52 PUSH EDX
.text:00414dc3 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00414dc9 89958cfaffff MOV dword ptr [EBP + 0xfffffa8c],EDX
.text:00414dcf 50 PUSH EAX
.text:00414dd0 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00414dd6 89952cfeffff MOV dword ptr [EBP + 0xfffffe2c],EDX
.text:00414ddc 68cc010000 PUSH 0x1cc
.text:00414de1 50 PUSH EAX
.text:00414de2 e83d7cffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00414de7 83c410 ADD ESP,0x10
.text:00414dea eb4f JMP LAB_00414e3b
LAB_00414dec: ;XREF[1,0]: 00414dc0
.text:00414dec 8d56ff LEA EDX,[ESI + -0x1]
.text:00414def 83faff CMP EDX,-0x1
.text:00414df2 7441 JZ LAB_00414e35
.text:00414df4 8d5aff LEA EBX,[EDX + -0x1]
LAB_00414df7: ;XREF[1,0]: 00414e33
.text:00414df7 8bfa MOV EDI,EDX
.text:00414df9 3bd1 CMP EDX,ECX
.text:00414dfb 7309 JNC LAB_00414e06
.text:00414dfd 8b84bd30f... MOV EAX,dword ptr [EBP + EDI*0x4 + 0xffff...
.text:00414e04 eb02 JMP LAB_00414e08
LAB_00414e06: ;XREF[1,0]: 00414dfb
.text:00414e06 33c0 XOR EAX,EAX
LAB_00414e08: ;XREF[1,0]: 00414e04
.text:00414e08 3bd9 CMP EBX,ECX
.text:00414e0a 7309 JNC LAB_00414e15
.text:00414e0c 8b8cbd2cf... MOV ECX,dword ptr [EBP + EDI*0x4 + 0xffff...
.text:00414e13 eb02 JMP LAB_00414e17
LAB_00414e15: ;XREF[1,0]: 00414e0a
.text:00414e15 33c9 XOR ECX,ECX
LAB_00414e17: ;XREF[1,0]: 00414e13
.text:00414e17 c1e91e SHR ECX,0x1e
.text:00414e1a c1e002 SHL EAX,0x2
.text:00414e1d 0bc8 OR ECX,EAX
.text:00414e1f 4a DEC EDX
.text:00414e20 4b DEC EBX
.text:00414e21 898cbd30f... MOV dword ptr [EBP +...,ECX
.text:00414e28 83faff CMP EDX,-0x1
.text:00414e2b 7408 JZ LAB_00414e35
.text:00414e2d 8b8d2cfeffff MOV ECX,dword ptr [EBP + 0xfffffe2c]
.text:00414e33 ebc2 JMP LAB_00414df7
LAB_00414e35: ;XREF[2,0]: 00414df2,00414e2b
.text:00414e35 89b52cfeffff MOV dword ptr [EBP + 0xfffffe2c],ESI
LAB_00414e3b: ;XREF[1,0]: 00414dea
.text:00414e3b bb35040000 MOV EBX,0x435
.text:00414e40 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00414e46 2b9db4f8ffff SUB EBX,dword ptr [EBP + 0xfffff8b4]
.text:00414e4c 8bfb MOV EDI,EBX
.text:00414e4e c1ef05 SHR EDI,0x5
.text:00414e51 8bf7 MOV ESI,EDI
.text:00414e53 c1e602 SHL ESI,0x2
.text:00414e56 56 PUSH ESI
.text:00414e57 6a00 PUSH 0x0
.text:00414e59 50 PUSH EAX
.text:00414e5a e8d1d7feff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:00414e5f 83e31f AND EBX,0x1f
.text:00414e62 33c0 XOR EAX,EAX
.text:00414e64 40 INC EAX
.text:00414e65 8bcb MOV ECX,EBX
.text:00414e67 d3e0 SHL EAX,CL
.text:00414e69 89843590f... MOV dword ptr [EBP +...,EAX
.text:00414e70 e9e5000000 JMP LAB_00414f5a
LAB_00414e75: ;XREF[3,0]: 00414d59,00414d7c,00414d92
.text:00414e75 33c0 XOR EAX,EAX
.text:00414e77 85f6 TEST ESI,ESI
.text:00414e79 0f95c0 SETNZ AL
.text:00414e7c 83a588f8f... AND dword ptr [EBP + local_780+0x8],0x0
.text:00414e83 8d0485040... LEA EAX,[EAX*0x4 + 0x4]
.text:00414e8a 8b84052cf... MOV EAX,dword ptr [EBP + EAX*0x1 + 0xffff...
.text:00414e91 0fbdc0 BSR EAX,EAX
.text:00414e94 7403 JZ LAB_00414e99
.text:00414e96 40 INC EAX
.text:00414e97 eb02 JMP LAB_00414e9b
LAB_00414e99: ;XREF[1,0]: 00414e94
.text:00414e99 33c0 XOR EAX,EAX
LAB_00414e9b: ;XREF[1,0]: 00414e97
.text:00414e9b 2bf8 SUB EDI,EAX
.text:00414e9d 3bfb CMP EDI,EBX
.text:00414e9f 1bf6 SBB ESI,ESI
.text:00414ea1 f7de NEG ESI
.text:00414ea3 03f1 ADD ESI,ECX
.text:00414ea5 83fe73 CMP ESI,0x73
.text:00414ea8 762d JBE LAB_00414ed7
.text:00414eaa 83a58cfaf... AND dword ptr [EBP + 0xfffffa8c],0x0
.text:00414eb1 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00414eb7 83a52cfef... AND dword ptr [EBP + 0xfffffe2c],0x0
.text:00414ebe 6a00 PUSH 0x0
.text:00414ec0 50 PUSH EAX
.text:00414ec1 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00414ec7 68cc010000 PUSH 0x1cc
.text:00414ecc 50 PUSH EAX
.text:00414ecd e8527bffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00414ed2 83c410 ADD ESP,0x10
.text:00414ed5 eb4e JMP LAB_00414f25
LAB_00414ed7: ;XREF[1,0]: 00414ea8
.text:00414ed7 8d56ff LEA EDX,[ESI + -0x1]
.text:00414eda 83faff CMP EDX,-0x1
.text:00414edd 7440 JZ LAB_00414f1f
.text:00414edf 8d5aff LEA EBX,[EDX + -0x1]
LAB_00414ee2: ;XREF[1,0]: 00414f1d
.text:00414ee2 8bfa MOV EDI,EDX
.text:00414ee4 3bd1 CMP EDX,ECX
.text:00414ee6 7309 JNC LAB_00414ef1
.text:00414ee8 8b84bd30f... MOV EAX,dword ptr [EBP + EDI*0x4 + 0xffff...
.text:00414eef eb02 JMP LAB_00414ef3
LAB_00414ef1: ;XREF[1,0]: 00414ee6
.text:00414ef1 33c0 XOR EAX,EAX
LAB_00414ef3: ;XREF[1,0]: 00414eef
.text:00414ef3 3bd9 CMP EBX,ECX
.text:00414ef5 7309 JNC LAB_00414f00
.text:00414ef7 8b8cbd2cf... MOV ECX,dword ptr [EBP + EDI*0x4 + 0xffff...
.text:00414efe eb02 JMP LAB_00414f02
LAB_00414f00: ;XREF[1,0]: 00414ef5
.text:00414f00 33c9 XOR ECX,ECX
LAB_00414f02: ;XREF[1,0]: 00414efe
.text:00414f02 c1e91f SHR ECX,0x1f
.text:00414f05 03c0 ADD EAX,EAX
.text:00414f07 0bc8 OR ECX,EAX
.text:00414f09 4a DEC EDX
.text:00414f0a 4b DEC EBX
.text:00414f0b 898cbd30f... MOV dword ptr [EBP +...,ECX
.text:00414f12 83faff CMP EDX,-0x1
.text:00414f15 7408 JZ LAB_00414f1f
.text:00414f17 8b8d2cfeffff MOV ECX,dword ptr [EBP + 0xfffffe2c]
.text:00414f1d ebc3 JMP LAB_00414ee2
LAB_00414f1f: ;XREF[2,0]: 00414edd,00414f15
.text:00414f1f 89b52cfeffff MOV dword ptr [EBP + 0xfffffe2c],ESI
LAB_00414f25: ;XREF[1,0]: 00414ed5
.text:00414f25 bb34040000 MOV EBX,0x434
.text:00414f2a 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00414f30 2b9db4f8ffff SUB EBX,dword ptr [EBP + 0xfffff8b4]
.text:00414f36 8bfb MOV EDI,EBX
.text:00414f38 c1ef05 SHR EDI,0x5
.text:00414f3b 8bf7 MOV ESI,EDI
.text:00414f3d c1e602 SHL ESI,0x2
.text:00414f40 56 PUSH ESI
.text:00414f41 6a00 PUSH 0x0
.text:00414f43 50 PUSH EAX
.text:00414f44 e8e7d6feff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:00414f49 83e31f AND EBX,0x1f
.text:00414f4c 33c0 XOR EAX,EAX
.text:00414f4e 40 INC EAX
.text:00414f4f 8bcb MOV ECX,EBX
.text:00414f51 d3e0 SHL EAX,CL
.text:00414f53 89843590f... MOV dword ptr [EBP +...,EAX
LAB_00414f5a: ;XREF[1,0]: 00414e70
.text:00414f5a 8d4701 LEA EAX,[EDI + 0x1]
.text:00414f5d becc010000 MOV ESI,0x1cc
.text:00414f62 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:00414f68 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:00414f6e c1e002 SHL EAX,0x2
.text:00414f71 50 PUSH EAX
.text:00414f72 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00414f78 50 PUSH EAX
.text:00414f79 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:00414f7f 56 PUSH ESI
.text:00414f80 50 PUSH EAX
.text:00414f81 e89e7affff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00414f86 33db XOR EBX,EBX
.text:00414f88 83c41c ADD ESP,0x1c
.text:00414f8b 43 INC EBX
LAB_00414f8c: ;XREF[1,0]: 00414bb9
.text:00414f8c 8b857cf8ffff MOV EAX,dword ptr [EBP + 0xfffff87c]
.text:00414f92 33d2 XOR EDX,EDX
.text:00414f94 6a0a PUSH 0xa
.text:00414f96 59 POP ECX
.text:00414f97 898db0f8ffff MOV dword ptr [EBP + 0xfffff8b0],ECX
.text:00414f9d 85c0 TEST EAX,EAX
.text:00414f9f 0f8814050000 JS LAB_004154b9
.text:00414fa5 f7f1 DIV ECX
.text:00414fa7 8985acf8ffff MOV dword ptr [EBP + 0xfffff8ac],EAX
.text:00414fad 85c0 TEST EAX,EAX
.text:00414faf 0f840c040000 JZ LAB_004153c1
LAB_00414fb5: ;XREF[1,0]: 004153b8
.text:00414fb5 83f826 CMP EAX,0x26
.text:00414fb8 7603 JBE LAB_00414fbd
.text:00414fba 6a26 PUSH 0x26
.text:00414fbc 58 POP EAX
LAB_00414fbd: ;XREF[1,0]: 00414fb8
; FWD[2,0]: 0041c6ce,0041c766
.text:00414fbd 0fb60c85c... MOVZX ECX,byte ptr [EAX*0x4 + 0x41c6ce]=>.r...;= 0Bh
; FWD[2,0]: 0041c6cf,0041c767
.text:00414fc5 0fb63485c... MOVZX ESI,byte ptr [EAX*0x4 + 0x41c6cf]=>.r...;= 1Dh
.text:00414fcd 8bf9 MOV EDI,ECX
.text:00414fcf 898598f8ffff MOV dword ptr [EBP + 0xfffff898],EAX
.text:00414fd5 c1e702 SHL EDI,0x2
.text:00414fd8 57 PUSH EDI
.text:00414fd9 8d0431 LEA EAX,[ECX + ESI*0x1]
.text:00414fdc 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:00414fe2 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00414fe8 6a00 PUSH 0x0
.text:00414fea 50 PUSH EAX
.text:00414feb e840d6feff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:00414ff0 8bc6 MOV EAX,ESI
.text:00414ff2 c1e002 SHL EAX,0x2
.text:00414ff5 50 PUSH EAX
.text:00414ff6 8b8598f8ffff MOV EAX,dword ptr [EBP + 0xfffff898]
.text:00414ffc 0fb70485c... MOVZX EAX,word ptr [EAX*0x4 + 0x41c6cc]=>.r...;= 0225h
.text:00415004 8d0485c8b... LEA EAX,[EAX*0x4 + 0x41bdc8]=>.rdata:DAT_...
.text:0041500b 50 PUSH EAX=>.rdata:DAT_0041c65c
.text:0041500c 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00415012 03c7 ADD EAX,EDI
.text:00415014 50 PUSH EAX
.text:00415015 e896e0feff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:0041501a 8b958cfaffff MOV EDX,dword ptr [EBP + 0xfffffa8c]
.text:00415020 83c418 ADD ESP,0x18
.text:00415023 899580f8ffff MOV dword ptr [EBP + 0xfffff880],EDX
.text:00415029 3bd3 CMP EDX,EBX
.text:0041502b 0f87cc000000 JA LAB_004150fd
.text:00415031 8bbd90faffff MOV EDI,dword ptr [EBP + 0xfffffa90]
.text:00415037 85ff TEST EDI,EDI
.text:00415039 7536 JNZ LAB_00415071
.text:0041503b 33c0 XOR EAX,EAX
.text:0041503d 50 PUSH EAX
.text:0041503e 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
.text:00415044 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0041504a 8d85c0f8ffff LEA EAX,[EBP + 0xfffff8c0]
.text:00415050 50 PUSH EAX
.text:00415051 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:00415057 68cc010000 PUSH 0x1cc
.text:0041505c 50 PUSH EAX
.text:0041505d e8c279ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00415062 83c410 ADD ESP,0x10
LAB_00415065: ;XREF[4,0]: 00415073,0041507c,004150b0,004150ca
.text:00415065 8ac3 MOV AL,BL
LAB_00415067: ;XREF[1,0]: 004150f8
.text:00415067 becc010000 MOV ESI,0x1cc
.text:0041506c e92d030000 JMP LAB_0041539e
LAB_00415071: ;XREF[1,0]: 00415039
.text:00415071 3bfb CMP EDI,EBX
.text:00415073 74f0 JZ LAB_00415065
.text:00415075 83bd5cfcf... CMP dword ptr [EBP + 0xfffffc5c],0x0
.text:0041507c 74e7 JZ LAB_00415065
.text:0041507e 8b855cfcffff MOV EAX,dword ptr [EBP + 0xfffffc5c]
.text:00415084 33c9 XOR ECX,ECX
.text:00415086 898590f8ffff MOV dword ptr [EBP + 0xfffff890],EAX
.text:0041508c 33f6 XOR ESI,ESI
LAB_0041508e: ;XREF[1,0]: 004150ac
.text:0041508e 8bc7 MOV EAX,EDI
.text:00415090 f7a4b560f... MUL dword ptr [EBP + ESI*0x4 + 0xfffffc60]
.text:00415097 03c1 ADD EAX,ECX
.text:00415099 8984b560f... MOV dword ptr [EBP +...,EAX
.text:004150a0 83d200 ADC EDX,0x0
.text:004150a3 46 INC ESI
.text:004150a4 8bca MOV ECX,EDX
.text:004150a6 3bb590f8ffff CMP ESI,dword ptr [EBP + 0xfffff890]
.text:004150ac 75e0 JNZ LAB_0041508e
.text:004150ae 85c9 TEST ECX,ECX
.text:004150b0 74b3 JZ LAB_00415065
.text:004150b2 8b855cfcffff MOV EAX,dword ptr [EBP + 0xfffffc5c]
.text:004150b8 83f873 CMP EAX,0x73
.text:004150bb 730f JNC LAB_004150cc
.text:004150bd 898c8560f... MOV dword ptr [EBP +...,ECX
.text:004150c4 ff855cfcffff INC dword ptr [EBP + 0xfffffc5c]
.text:004150ca eb99 JMP LAB_00415065
LAB_004150cc: ;XREF[1,0]: 004150bb
.text:004150cc 33c0 XOR EAX,EAX
.text:004150ce 50 PUSH EAX
.text:004150cf 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:004150d5 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:004150db 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:004150e1 50 PUSH EAX
.text:004150e2 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:004150e8 68cc010000 PUSH 0x1cc
.text:004150ed 50 PUSH EAX
.text:004150ee e83179ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:004150f3 83c410 ADD ESP,0x10
.text:004150f6 32c0 XOR AL,AL
.text:004150f8 e96affffff JMP LAB_00415067
LAB_004150fd: ;XREF[1,0]: 0041502b
.text:004150fd 399d5cfcffff CMP dword ptr [EBP + 0xfffffc5c],EBX
.text:00415103 0f87da000000 JA LAB_004151e3
.text:00415109 8bbd60fcffff MOV EDI,dword ptr [EBP + 0xfffffc60]
.text:0041510f 8bc2 MOV EAX,EDX
.text:00415111 c1e002 SHL EAX,0x2
.text:00415114 becc010000 MOV ESI,0x1cc
.text:00415119 50 PUSH EAX
.text:0041511a 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00415120 89bd90f8ffff MOV dword ptr [EBP + 0xfffff890],EDI
.text:00415126 50 PUSH EAX
.text:00415127 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:0041512d 89955cfcffff MOV dword ptr [EBP + 0xfffffc5c],EDX
.text:00415133 56 PUSH ESI
.text:00415134 50 PUSH EAX
.text:00415135 e8ea78ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0041513a 83c410 ADD ESP,0x10
.text:0041513d 85ff TEST EDI,EDI
.text:0041513f 751a JNZ LAB_0041515b
.text:00415141 33c0 XOR EAX,EAX
.text:00415143 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:00415149 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0041514f 50 PUSH EAX
.text:00415150 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00415156 e930020000 JMP LAB_0041538b
LAB_0041515b: ;XREF[1,0]: 0041513f
.text:0041515b 3bfb CMP EDI,EBX
.text:0041515d 0f8439020000 JZ LAB_0041539c
.text:00415163 83bd5cfcf... CMP dword ptr [EBP + 0xfffffc5c],0x0
.text:0041516a 0f842c020000 JZ LAB_0041539c
.text:00415170 8b855cfcffff MOV EAX,dword ptr [EBP + 0xfffffc5c]
.text:00415176 33c9 XOR ECX,ECX
.text:00415178 898594f8ffff MOV dword ptr [EBP + 0xfffff894],EAX
.text:0041517e 33ff XOR EDI,EDI
LAB_00415180: ;XREF[1,0]: 004151a2
.text:00415180 8b8590f8ffff MOV EAX,dword ptr [EBP + 0xfffff890]
.text:00415186 f7a4bd60f... MUL dword ptr [EBP + EDI*0x4 + 0xfffffc60]
.text:0041518d 03c1 ADD EAX,ECX
.text:0041518f 8984bd60f... MOV dword ptr [EBP +...,EAX
.text:00415196 83d200 ADC EDX,0x0
.text:00415199 47 INC EDI
.text:0041519a 8bca MOV ECX,EDX
.text:0041519c 3bbd94f8ffff CMP EDI,dword ptr [EBP + 0xfffff894]
.text:004151a2 75dc JNZ LAB_00415180
.text:004151a4 85c9 TEST ECX,ECX
.text:004151a6 0f84f0010000 JZ LAB_0041539c
.text:004151ac 8b855cfcffff MOV EAX,dword ptr [EBP + 0xfffffc5c]
.text:004151b2 83f873 CMP EAX,0x73
.text:004151b5 7312 JNC LAB_004151c9
.text:004151b7 898c8560f... MOV dword ptr [EBP +...,ECX
.text:004151be ff855cfcffff INC dword ptr [EBP + 0xfffffc5c]
.text:004151c4 e9d3010000 JMP LAB_0041539c
LAB_004151c9: ;XREF[1,0]: 004151b5
.text:004151c9 33c0 XOR EAX,EAX
.text:004151cb 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:004151d1 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:004151d7 50 PUSH EAX
.text:004151d8 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:004151de e92c020000 JMP LAB_0041540f
LAB_004151e3: ;XREF[1,0]: 00415103
.text:004151e3 3b955cfcffff CMP EDX,dword ptr [EBP + 0xfffffc5c]
.text:004151e9 8db590faffff LEA ESI,[EBP + 0xfffffa90]
.text:004151ef 0f92c0 SETC AL
.text:004151f2 7206 JC LAB_004151fa
.text:004151f4 8db560fcffff LEA ESI,[EBP + 0xfffffc60]
LAB_004151fa: ;XREF[1,0]: 004151f2
.text:004151fa 89b59cf8ffff MOV dword ptr [EBP + 0xfffff89c],ESI
.text:00415200 84c0 TEST AL,AL
.text:00415202 741c JZ LAB_00415220
.text:00415204 8bca MOV ECX,EDX
.text:00415206 899594f8ffff MOV dword ptr [EBP + 0xfffff894],EDX
.text:0041520c 8b955cfcffff MOV EDX,dword ptr [EBP + 0xfffffc5c]
.text:00415212 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:00415218 899580f8ffff MOV dword ptr [EBP + 0xfffff880],EDX
.text:0041521e eb12 JMP LAB_00415232
LAB_00415220: ;XREF[1,0]: 00415202
.text:00415220 8b8d5cfcffff MOV ECX,dword ptr [EBP + 0xfffffc5c]
.text:00415226 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:0041522c 898d94f8ffff MOV dword ptr [EBP + 0xfffff894],ECX
LAB_00415232: ;XREF[1,0]: 0041521e
.text:00415232 8985a8f8ffff MOV dword ptr [EBP + 0xfffff8a8],EAX
.text:00415238 33ff XOR EDI,EDI
.text:0041523a 33c0 XOR EAX,EAX
.text:0041523c 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
.text:00415242 85c9 TEST ECX,ECX
.text:00415244 0f842c010000 JZ LAB_00415376
LAB_0041524a: ;XREF[1,0]: 00415370
.text:0041524a 833cbe00 CMP dword ptr [ESI + EDI*0x4],0x0
.text:0041524e 751e JNZ LAB_0041526e
.text:00415250 3bf8 CMP EDI,EAX
.text:00415252 0f8515010000 JNZ LAB_0041536d
.text:00415258 83a4bdc0f... AND dword ptr [EBP +...,0x0
.text:00415260 8d4701 LEA EAX,[EDI + 0x1]
.text:00415263 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
.text:00415269 e9ff000000 JMP LAB_0041536d
LAB_0041526e: ;XREF[1,0]: 0041524e
.text:0041526e 83a5b8f8f... AND dword ptr [EBP + 0xfffff8b8],0x0
.text:00415275 8bf7 MOV ESI,EDI
.text:00415277 83a5b4f8f... AND dword ptr [EBP + 0xfffff8b4],0x0
.text:0041527e 85d2 TEST EDX,EDX
.text:00415280 0f84d2000000 JZ LAB_00415358
LAB_00415286: ;XREF[1,0]: 004152f4
.text:00415286 83fe73 CMP ESI,0x73
.text:00415289 746b JZ LAB_004152f6
.text:0041528b 8b95b4f8ffff MOV EDX,dword ptr [EBP + 0xfffff8b4]
.text:00415291 8bce MOV ECX,ESI
.text:00415293 c1e102 SHL ECX,0x2
.text:00415296 3bf0 CMP ESI,EAX
.text:00415298 7513 JNZ LAB_004152ad
.text:0041529a 83a40dc0f... AND dword ptr [EBP +...,0x0
.text:004152a2 8d4201 LEA EAX,[EDX + 0x1]
.text:004152a5 03c7 ADD EAX,EDI
.text:004152a7 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
LAB_004152ad: ;XREF[1,0]: 00415298
.text:004152ad 8b85a8f8ffff MOV EAX,dword ptr [EBP + 0xfffff8a8]
.text:004152b3 8b0490 MOV EAX,dword ptr [EAX + EDX*0x4]
.text:004152b6 8b959cf8ffff MOV EDX,dword ptr [EBP + 0xfffff89c]
.text:004152bc f724ba MUL dword ptr [EDX + EDI*0x4]
.text:004152bf 0385b8f8ffff ADD EAX,dword ptr [EBP + 0xfffff8b8]
.text:004152c5 83d200 ADC EDX,0x0
.text:004152c8 01840dc0f... ADD dword ptr [EBP +...,EAX
.text:004152cf 8b8db4f8ffff MOV ECX,dword ptr [EBP + 0xfffff8b4]
.text:004152d5 8b85bcf8ffff MOV EAX,dword ptr [EBP + 0xfffff8bc]
.text:004152db 83d200 ADC EDX,0x0
.text:004152de 41 INC ECX
.text:004152df 8995b8f8ffff MOV dword ptr [EBP + 0xfffff8b8],EDX
.text:004152e5 8b9580f8ffff MOV EDX,dword ptr [EBP + 0xfffff880]
.text:004152eb 46 INC ESI
.text:004152ec 898db4f8ffff MOV dword ptr [EBP + 0xfffff8b4],ECX
.text:004152f2 3bca CMP ECX,EDX
.text:004152f4 7590 JNZ LAB_00415286
LAB_004152f6: ;XREF[1,0]: 00415289
.text:004152f6 83bdb8f8f... CMP dword ptr [EBP + 0xfffff8b8],0x0
.text:004152fd 7459 JZ LAB_00415358
.text:004152ff 8d8dc0f8ffff LEA ECX,[EBP + 0xfffff8c0]
.text:00415305 8d0cb1 LEA ECX,[ECX + ESI*0x4]
.text:00415308 898db4f8ffff MOV dword ptr [EBP + 0xfffff8b4],ECX
LAB_0041530e: ;XREF[1,0]: 00415356
.text:0041530e 83fe73 CMP ESI,0x73
.text:00415311 0f84de000000 JZ LAB_004153f5
.text:00415317 8d4e01 LEA ECX,[ESI + 0x1]
.text:0041531a 3bf0 CMP ESI,EAX
.text:0041531c 8b85b4f8ffff MOV EAX,dword ptr [EBP + 0xfffff8b4]
.text:00415322 8bf1 MOV ESI,ECX
.text:00415324 7509 JNZ LAB_0041532f
.text:00415326 832000 AND dword ptr [EAX],0x0
.text:00415329 898dbcf8ffff MOV dword ptr [EBP + 0xfffff8bc],ECX
LAB_0041532f: ;XREF[1,0]: 00415324
.text:0041532f 8bc8 MOV ECX,EAX
.text:00415331 83c004 ADD EAX,0x4
.text:00415334 8985b4f8ffff MOV dword ptr [EBP + 0xfffff8b4],EAX
.text:0041533a 8b85b8f8ffff MOV EAX,dword ptr [EBP + 0xfffff8b8]
.text:00415340 83a5b8f8f... AND dword ptr [EBP + 0xfffff8b8],0x0
.text:00415347 0101 ADD dword ptr [ECX],EAX
.text:00415349 8b85bcf8ffff MOV EAX,dword ptr [EBP + 0xfffff8bc]
.text:0041534f 8395b8f8f... ADC dword ptr [EBP + 0xfffff8b8],0x0
.text:00415356 75b6 JNZ LAB_0041530e
LAB_00415358: ;XREF[2,0]: 00415280,004152fd
.text:00415358 83fe73 CMP ESI,0x73
.text:0041535b 0f8494000000 JZ LAB_004153f5
.text:00415361 8b8d94f8ffff MOV ECX,dword ptr [EBP + 0xfffff894]
.text:00415367 8bb59cf8ffff MOV ESI,dword ptr [EBP + 0xfffff89c]
LAB_0041536d: ;XREF[2,0]: 00415252,00415269
.text:0041536d 47 INC EDI
.text:0041536e 3bf9 CMP EDI,ECX
.text:00415370 0f85d4feffff JNZ LAB_0041524a
LAB_00415376: ;XREF[1,0]: 00415244
.text:00415376 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:0041537c becc010000 MOV ESI,0x1cc
.text:00415381 c1e002 SHL EAX,0x2
.text:00415384 50 PUSH EAX
.text:00415385 8d85c0f8ffff LEA EAX,[EBP + 0xfffff8c0]
LAB_0041538b: ;XREF[1,0]: 00415156
.text:0041538b 50 PUSH EAX
.text:0041538c 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:00415392 56 PUSH ESI
.text:00415393 50 PUSH EAX
.text:00415394 e88b76ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00415399 83c410 ADD ESP,0x10
LAB_0041539c: ;XREF[4,0]: 0041515d,0041516a,004151a6,004151c4
.text:0041539c 8ac3 MOV AL,BL
LAB_0041539e: ;XREF[2,0]: 0041506c,00415422
.text:0041539e 84c0 TEST AL,AL
.text:004153a0 0f8481000000 JZ LAB_00415427
.text:004153a6 8b85acf8ffff MOV EAX,dword ptr [EBP + 0xfffff8ac]
.text:004153ac 2b8598f8ffff SUB EAX,dword ptr [EBP + 0xfffff898]
.text:004153b2 8985acf8ffff MOV dword ptr [EBP + 0xfffff8ac],EAX
.text:004153b8 0f85f7fbffff JNZ LAB_00414fb5
.text:004153be 6a0a PUSH 0xa
.text:004153c0 59 POP ECX
LAB_004153c1: ;XREF[1,0]: 00414faf
.text:004153c1 8b857cf8ffff MOV EAX,dword ptr [EBP + 0xfffff87c]
.text:004153c7 33d2 XOR EDX,EDX
.text:004153c9 f7f1 DIV ECX
.text:004153cb 85d2 TEST EDX,EDX
.text:004153cd 0f84ee050000 JZ LAB_004159c1
.text:004153d3 8b049564c... MOV EAX,dword ptr [EDX*0x4 + .rdata:DAT_0...;= 0225h
.text:004153da 898590f8ffff MOV dword ptr [EBP + 0xfffff890],EAX
.text:004153e0 85c0 TEST EAX,EAX
.text:004153e2 7565 JNZ LAB_00415449
LAB_004153e4: ;XREF[1,0]: 004154a1
.text:004153e4 33c0 XOR EAX,EAX
.text:004153e6 89858cf6ffff MOV dword ptr [EBP + 0xfffff68c],EAX
.text:004153ec 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:004153f2 50 PUSH EAX
.text:004153f3 eb42 JMP LAB_00415437
LAB_004153f5: ;XREF[2,0]: 00415311,0041535b
.text:004153f5 33c0 XOR EAX,EAX
.text:004153f7 becc010000 MOV ESI,0x1cc
.text:004153fc 89858cf6ffff MOV dword ptr [EBP + 0xfffff68c],EAX
.text:00415402 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:00415408 50 PUSH EAX
.text:00415409 8d8590f6ffff LEA EAX,[EBP + 0xfffff690]
LAB_0041540f: ;XREF[1,0]: 004151de
.text:0041540f 50 PUSH EAX
.text:00415410 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:00415416 56 PUSH ESI
.text:00415417 50 PUSH EAX
.text:00415418 e80776ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0041541d 83c410 ADD ESP,0x10
.text:00415420 32c0 XOR AL,AL
.text:00415422 e977ffffff JMP LAB_0041539e
LAB_00415427: ;XREF[1,0]: 004153a0
.text:00415427 83a58cf6f... AND dword ptr [EBP + 0xfffff68c],0x0
.text:0041542e 83a55cfcf... AND dword ptr [EBP + 0xfffffc5c],0x0
.text:00415435 6a00 PUSH 0x0
LAB_00415437: ;XREF[1,0]: 004153f3
.text:00415437 8d8590f6ffff LEA EAX,[EBP + 0xfffff690]
.text:0041543d 50 PUSH EAX
.text:0041543e 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:00415444 e96e050000 JMP LAB_004159b7
LAB_00415449: ;XREF[1,0]: 004153e2
.text:00415449 3bc3 CMP EAX,EBX
.text:0041544b 0f8470050000 JZ LAB_004159c1
.text:00415451 8b8d5cfcffff MOV ECX,dword ptr [EBP + 0xfffffc5c]
.text:00415457 85c9 TEST ECX,ECX
.text:00415459 0f8462050000 JZ LAB_004159c1
.text:0041545f 83a5acf8f... AND dword ptr [EBP + 0xfffff8ac],0x0
.text:00415466 33ff XOR EDI,EDI
LAB_00415468: ;XREF[1,0]: 0041548e
.text:00415468 f7a4bd60f... MUL dword ptr [EBP + EDI*0x4 + 0xfffffc60]
.text:0041546f 0385acf8ffff ADD EAX,dword ptr [EBP + 0xfffff8ac]
.text:00415475 8984bd60f... MOV dword ptr [EBP +...,EAX
.text:0041547c 8b8590f8ffff MOV EAX,dword ptr [EBP + 0xfffff890]
.text:00415482 83d200 ADC EDX,0x0
.text:00415485 47 INC EDI
.text:00415486 8995acf8ffff MOV dword ptr [EBP + 0xfffff8ac],EDX
.text:0041548c 3bf9 CMP EDI,ECX
.text:0041548e 75d8 JNZ LAB_00415468
.text:00415490 85d2 TEST EDX,EDX
.text:00415492 0f8429050000 JZ LAB_004159c1
.text:00415498 8b855cfcffff MOV EAX,dword ptr [EBP + 0xfffffc5c]
.text:0041549e 83f873 CMP EAX,0x73
.text:004154a1 0f833dffffff JNC LAB_004153e4
.text:004154a7 89948560f... MOV dword ptr [EBP +...,EDX
.text:004154ae ff855cfcffff INC dword ptr [EBP + 0xfffffc5c]
.text:004154b4 e908050000 JMP LAB_004159c1
LAB_004154b9: ;XREF[1,0]: 00414f9f
.text:004154b9 f7d8 NEG EAX
.text:004154bb 898588f8ffff MOV dword ptr [EBP + 0xfffff888],EAX
.text:004154c1 f7f1 DIV ECX
.text:004154c3 898590f8ffff MOV dword ptr [EBP + 0xfffff890],EAX
.text:004154c9 85c0 TEST EAX,EAX
.text:004154cb 0f84f6030000 JZ LAB_004158c7
LAB_004154d1: ;XREF[1,0]: 004158be
.text:004154d1 83f826 CMP EAX,0x26
.text:004154d4 7603 JBE LAB_004154d9
.text:004154d6 6a26 PUSH 0x26
.text:004154d8 58 POP EAX
LAB_004154d9: ;XREF[1,0]: 004154d4
; FWD[2,0]: 0041c6ce,0041c766
.text:004154d9 0fb60c85c... MOVZX ECX,byte ptr [EAX*0x4 + 0x41c6ce]=>.r...;= 0Bh
; FWD[2,0]: 0041c6cf,0041c767
.text:004154e1 0fb63485c... MOVZX ESI,byte ptr [EAX*0x4 + 0x41c6cf]=>.r...;= 1Dh
.text:004154e9 8bf9 MOV EDI,ECX
.text:004154eb 8985a8f8ffff MOV dword ptr [EBP + 0xfffff8a8],EAX
.text:004154f1 c1e702 SHL EDI,0x2
.text:004154f4 57 PUSH EDI
.text:004154f5 8d0431 LEA EAX,[ECX + ESI*0x1]
.text:004154f8 89858cfaffff MOV dword ptr [EBP + 0xfffffa8c],EAX
.text:004154fe 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00415504 6a00 PUSH 0x0
.text:00415506 50 PUSH EAX
.text:00415507 e824d1feff CALL _memset ;void * _memset(void * _Dst, int _Val...
.text:0041550c 8bc6 MOV EAX,ESI
.text:0041550e c1e002 SHL EAX,0x2
.text:00415511 50 PUSH EAX
.text:00415512 8b85a8f8ffff MOV EAX,dword ptr [EBP + 0xfffff8a8]
.text:00415518 0fb70485c... MOVZX EAX,word ptr [EAX*0x4 + 0x41c6cc]=>.r...;= 0225h
.text:00415520 8d0485c8b... LEA EAX,[EAX*0x4 + 0x41bdc8]=>.rdata:DAT_...
.text:00415527 50 PUSH EAX=>.rdata:DAT_0041c65c
.text:00415528 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:0041552e 03c7 ADD EAX,EDI
.text:00415530 50 PUSH EAX
.text:00415531 e87adbfeff CALL FID_conflict:_memcpy ;void * FID_conflict:_memcpy(void * _...
.text:00415536 8b958cfaffff MOV EDX,dword ptr [EBP + 0xfffffa8c]
.text:0041553c 83c418 ADD ESP,0x18
.text:0041553f 899594f8ffff MOV dword ptr [EBP + 0xfffff894],EDX
.text:00415545 3bd3 CMP EDX,EBX
.text:00415547 0f87cc000000 JA LAB_00415619
.text:0041554d 8bbd90faffff MOV EDI,dword ptr [EBP + 0xfffffa90]
.text:00415553 85ff TEST EDI,EDI
.text:00415555 7536 JNZ LAB_0041558d
.text:00415557 33c0 XOR EAX,EAX
.text:00415559 50 PUSH EAX
.text:0041555a 89858cf6ffff MOV dword ptr [EBP + 0xfffff68c],EAX
.text:00415560 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
.text:00415566 8d8590f6ffff LEA EAX,[EBP + 0xfffff690]
.text:0041556c 50 PUSH EAX
.text:0041556d 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00415573 68cc010000 PUSH 0x1cc
.text:00415578 50 PUSH EAX
.text:00415579 e8a674ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0041557e 83c410 ADD ESP,0x10
LAB_00415581: ;XREF[4,0]: 0041558f,00415598,004155cc,004155e6
.text:00415581 8ac3 MOV AL,BL
LAB_00415583: ;XREF[1,0]: 00415614
.text:00415583 becc010000 MOV ESI,0x1cc
.text:00415588 e917030000 JMP LAB_004158a4
LAB_0041558d: ;XREF[1,0]: 00415555
.text:0041558d 3bfb CMP EDI,EBX
.text:0041558f 74f0 JZ LAB_00415581
.text:00415591 83bd2cfef... CMP dword ptr [EBP + 0xfffffe2c],0x0
.text:00415598 74e7 JZ LAB_00415581
.text:0041559a 8b852cfeffff MOV EAX,dword ptr [EBP + 0xfffffe2c]
.text:004155a0 33c9 XOR ECX,ECX
.text:004155a2 8985acf8ffff MOV dword ptr [EBP + 0xfffff8ac],EAX
.text:004155a8 33f6 XOR ESI,ESI
LAB_004155aa: ;XREF[1,0]: 004155c8
.text:004155aa 8bc7 MOV EAX,EDI
.text:004155ac f7a4b530f... MUL dword ptr [EBP + ESI*0x4 + 0xfffffe30]
.text:004155b3 03c1 ADD EAX,ECX
.text:004155b5 8984b530f... MOV dword ptr [EBP +...,EAX
.text:004155bc 83d200 ADC EDX,0x0
.text:004155bf 46 INC ESI
.text:004155c0 8bca MOV ECX,EDX
.text:004155c2 3bb5acf8ffff CMP ESI,dword ptr [EBP + 0xfffff8ac]
.text:004155c8 75e0 JNZ LAB_004155aa
.text:004155ca 85c9 TEST ECX,ECX
.text:004155cc 74b3 JZ LAB_00415581
.text:004155ce 8b852cfeffff MOV EAX,dword ptr [EBP + 0xfffffe2c]
.text:004155d4 83f873 CMP EAX,0x73
.text:004155d7 730f JNC LAB_004155e8
.text:004155d9 898c8530f... MOV dword ptr [EBP +...,ECX
.text:004155e0 ff852cfeffff INC dword ptr [EBP + 0xfffffe2c]
.text:004155e6 eb99 JMP LAB_00415581
LAB_004155e8: ;XREF[1,0]: 004155d7
.text:004155e8 33c0 XOR EAX,EAX
.text:004155ea 50 PUSH EAX
.text:004155eb 89858cf6ffff MOV dword ptr [EBP + 0xfffff68c],EAX
.text:004155f1 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
.text:004155f7 8d8590f6ffff LEA EAX,[EBP + 0xfffff690]
.text:004155fd 50 PUSH EAX
.text:004155fe 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00415604 68cc010000 PUSH 0x1cc
.text:00415609 50 PUSH EAX
.text:0041560a e81574ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0041560f 83c410 ADD ESP,0x10
.text:00415612 32c0 XOR AL,AL
.text:00415614 e96affffff JMP LAB_00415583
LAB_00415619: ;XREF[1,0]: 00415547
.text:00415619 399d2cfeffff CMP dword ptr [EBP + 0xfffffe2c],EBX
.text:0041561f 0f87c4000000 JA LAB_004156e9
.text:00415625 8bbd30feffff MOV EDI,dword ptr [EBP + 0xfffffe30]
.text:0041562b 8bc2 MOV EAX,EDX
.text:0041562d c1e002 SHL EAX,0x2
.text:00415630 becc010000 MOV ESI,0x1cc
.text:00415635 50 PUSH EAX
.text:00415636 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:0041563c 89bdacf8ffff MOV dword ptr [EBP + 0xfffff8ac],EDI
.text:00415642 50 PUSH EAX
.text:00415643 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00415649 89952cfeffff MOV dword ptr [EBP + 0xfffffe2c],EDX
.text:0041564f 56 PUSH ESI
.text:00415650 50 PUSH EAX
.text:00415651 e8ce73ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00415656 83c410 ADD ESP,0x10
.text:00415659 85ff TEST EDI,EDI
.text:0041565b 751a JNZ LAB_00415677
.text:0041565d 33c0 XOR EAX,EAX
.text:0041565f 89858cf6ffff MOV dword ptr [EBP + 0xfffff68c],EAX
.text:00415665 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
.text:0041566b 50 PUSH EAX
.text:0041566c 8d8590f6ffff LEA EAX,[EBP + 0xfffff690]
.text:00415672 e91a020000 JMP LAB_00415891
LAB_00415677: ;XREF[1,0]: 0041565b
.text:00415677 3bfb CMP EDI,EBX
.text:00415679 0f8423020000 JZ LAB_004158a2
.text:0041567f 83bd2cfef... CMP dword ptr [EBP + 0xfffffe2c],0x0
.text:00415686 0f8416020000 JZ LAB_004158a2
.text:0041568c 8b852cfeffff MOV EAX,dword ptr [EBP + 0xfffffe2c]
.text:00415692 33c9 XOR ECX,ECX
.text:00415694 898594f8ffff MOV dword ptr [EBP + 0xfffff894],EAX
.text:0041569a 33ff XOR EDI,EDI
LAB_0041569c: ;XREF[1,0]: 004156be
.text:0041569c 8b85acf8ffff MOV EAX,dword ptr [EBP + 0xfffff8ac]
.text:004156a2 f7a4bd30f... MUL dword ptr [EBP + EDI*0x4 + 0xfffffe30]
.text:004156a9 03c1 ADD EAX,ECX
.text:004156ab 8984bd30f... MOV dword ptr [EBP +...,EAX
.text:004156b2 83d200 ADC EDX,0x0
.text:004156b5 47 INC EDI
.text:004156b6 8bca MOV ECX,EDX
.text:004156b8 3bbd94f8ffff CMP EDI,dword ptr [EBP + 0xfffff894]
.text:004156be 75dc JNZ LAB_0041569c
.text:004156c0 85c9 TEST ECX,ECX
.text:004156c2 0f84da010000 JZ LAB_004158a2
.text:004156c8 8b852cfeffff MOV EAX,dword ptr [EBP + 0xfffffe2c]
.text:004156ce 83f873 CMP EAX,0x73
.text:004156d1 0f8385020000 JNC LAB_0041595c
.text:004156d7 898c8530f... MOV dword ptr [EBP +...,ECX
.text:004156de ff852cfeffff INC dword ptr [EBP + 0xfffffe2c]
.text:004156e4 e9b9010000 JMP LAB_004158a2
LAB_004156e9: ;XREF[1,0]: 0041561f
.text:004156e9 3b952cfeffff CMP EDX,dword ptr [EBP + 0xfffffe2c]
.text:004156ef 8db590faffff LEA ESI,[EBP + 0xfffffa90]
.text:004156f5 0f92c0 SETC AL
.text:004156f8 7206 JC LAB_00415700
.text:004156fa 8db530feffff LEA ESI,[EBP + 0xfffffe30]
LAB_00415700: ;XREF[1,0]: 004156f8
.text:00415700 89b59cf8ffff MOV dword ptr [EBP + 0xfffff89c],ESI
.text:00415706 84c0 TEST AL,AL
.text:00415708 741c JZ LAB_00415726
.text:0041570a 8bca MOV ECX,EDX
.text:0041570c 899580f8ffff MOV dword ptr [EBP + 0xfffff880],EDX
.text:00415712 8b952cfeffff MOV EDX,dword ptr [EBP + 0xfffffe2c]
.text:00415718 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:0041571e 899594f8ffff MOV dword ptr [EBP + 0xfffff894],EDX
.text:00415724 eb12 JMP LAB_00415738
LAB_00415726: ;XREF[1,0]: 00415708
.text:00415726 8b8d2cfeffff MOV ECX,dword ptr [EBP + 0xfffffe2c]
.text:0041572c 8d8590faffff LEA EAX,[EBP + 0xfffffa90]
.text:00415732 898d80f8ffff MOV dword ptr [EBP + 0xfffff880],ECX
LAB_00415738: ;XREF[1,0]: 00415724
.text:00415738 8985acf8ffff MOV dword ptr [EBP + 0xfffff8ac],EAX
.text:0041573e 33ff XOR EDI,EDI
.text:00415740 33c0 XOR EAX,EAX
.text:00415742 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
.text:00415748 85c9 TEST ECX,ECX
.text:0041574a 0f842c010000 JZ LAB_0041587c
LAB_00415750: ;XREF[1,0]: 00415876
.text:00415750 833cbe00 CMP dword ptr [ESI + EDI*0x4],0x0
.text:00415754 751e JNZ LAB_00415774
.text:00415756 3bf8 CMP EDI,EAX
.text:00415758 0f8515010000 JNZ LAB_00415873
.text:0041575e 83a4bdc0f... AND dword ptr [EBP +...,0x0
.text:00415766 8d4701 LEA EAX,[EDI + 0x1]
.text:00415769 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
.text:0041576f e9ff000000 JMP LAB_00415873
LAB_00415774: ;XREF[1,0]: 00415754
.text:00415774 83a5b8f8f... AND dword ptr [EBP + 0xfffff8b8],0x0
.text:0041577b 8bf7 MOV ESI,EDI
.text:0041577d 83a5b4f8f... AND dword ptr [EBP + 0xfffff8b4],0x0
.text:00415784 85d2 TEST EDX,EDX
.text:00415786 0f84d2000000 JZ LAB_0041585e
LAB_0041578c: ;XREF[1,0]: 004157fa
.text:0041578c 83fe73 CMP ESI,0x73
.text:0041578f 746b JZ LAB_004157fc
.text:00415791 8b95b4f8ffff MOV EDX,dword ptr [EBP + 0xfffff8b4]
.text:00415797 8bce MOV ECX,ESI
.text:00415799 c1e102 SHL ECX,0x2
.text:0041579c 3bf0 CMP ESI,EAX
.text:0041579e 7513 JNZ LAB_004157b3
.text:004157a0 83a40dc0f... AND dword ptr [EBP +...,0x0
.text:004157a8 8d4201 LEA EAX,[EDX + 0x1]
.text:004157ab 03c7 ADD EAX,EDI
.text:004157ad 8985bcf8ffff MOV dword ptr [EBP + 0xfffff8bc],EAX
LAB_004157b3: ;XREF[1,0]: 0041579e
.text:004157b3 8b85acf8ffff MOV EAX,dword ptr [EBP + 0xfffff8ac]
.text:004157b9 8b0490 MOV EAX,dword ptr [EAX + EDX*0x4]
.text:004157bc 8b959cf8ffff MOV EDX,dword ptr [EBP + 0xfffff89c]
.text:004157c2 f724ba MUL dword ptr [EDX + EDI*0x4]
.text:004157c5 0385b8f8ffff ADD EAX,dword ptr [EBP + 0xfffff8b8]
.text:004157cb 83d200 ADC EDX,0x0
.text:004157ce 01840dc0f... ADD dword ptr [EBP +...,EAX
.text:004157d5 8b8db4f8ffff MOV ECX,dword ptr [EBP + 0xfffff8b4]
.text:004157db 8b85bcf8ffff MOV EAX,dword ptr [EBP + 0xfffff8bc]
.text:004157e1 83d200 ADC EDX,0x0
.text:004157e4 41 INC ECX
.text:004157e5 8995b8f8ffff MOV dword ptr [EBP + 0xfffff8b8],EDX
.text:004157eb 8b9594f8ffff MOV EDX,dword ptr [EBP + 0xfffff894]
.text:004157f1 46 INC ESI
.text:004157f2 898db4f8ffff MOV dword ptr [EBP + 0xfffff8b4],ECX
.text:004157f8 3bca CMP ECX,EDX
.text:004157fa 7590 JNZ LAB_0041578c
LAB_004157fc: ;XREF[1,0]: 0041578f
.text:004157fc 83bdb8f8f... CMP dword ptr [EBP + 0xfffff8b8],0x0
.text:00415803 7459 JZ LAB_0041585e
.text:00415805 8d8dc0f8ffff LEA ECX,[EBP + 0xfffff8c0]
.text:0041580b 8d0cb1 LEA ECX,[ECX + ESI*0x4]
.text:0041580e 898d98f8ffff MOV dword ptr [EBP + 0xfffff898],ECX
LAB_00415814: ;XREF[1,0]: 0041585c
.text:00415814 83fe73 CMP ESI,0x73
.text:00415817 0f843a010000 JZ LAB_00415957
.text:0041581d 8d4e01 LEA ECX,[ESI + 0x1]
.text:00415820 3bf0 CMP ESI,EAX
.text:00415822 8b8598f8ffff MOV EAX,dword ptr [EBP + 0xfffff898]
.text:00415828 8bf1 MOV ESI,ECX
.text:0041582a 7509 JNZ LAB_00415835
.text:0041582c 832000 AND dword ptr [EAX],0x0
.text:0041582f 898dbcf8ffff MOV dword ptr [EBP + 0xfffff8bc],ECX
LAB_00415835: ;XREF[1,0]: 0041582a
.text:00415835 8bc8 MOV ECX,EAX
.text:00415837 83c004 ADD EAX,0x4
.text:0041583a 898598f8ffff MOV dword ptr [EBP + 0xfffff898],EAX
.text:00415840 8b85b8f8ffff MOV EAX,dword ptr [EBP + 0xfffff8b8]
.text:00415846 83a5b8f8f... AND dword ptr [EBP + 0xfffff8b8],0x0
.text:0041584d 0101 ADD dword ptr [ECX],EAX
.text:0041584f 8b85bcf8ffff MOV EAX,dword ptr [EBP + 0xfffff8bc]
.text:00415855 8395b8f8f... ADC dword ptr [EBP + 0xfffff8b8],0x0
.text:0041585c 75b6 JNZ LAB_00415814
LAB_0041585e: ;XREF[2,0]: 00415786,00415803
.text:0041585e 83fe73 CMP ESI,0x73
.text:00415861 0f84f0000000 JZ LAB_00415957
.text:00415867 8b8d80f8ffff MOV ECX,dword ptr [EBP + 0xfffff880]
.text:0041586d 8bb59cf8ffff MOV ESI,dword ptr [EBP + 0xfffff89c]
LAB_00415873: ;XREF[2,0]: 00415758,0041576f
.text:00415873 47 INC EDI
.text:00415874 3bf9 CMP EDI,ECX
.text:00415876 0f85d4feffff JNZ LAB_00415750
LAB_0041587c: ;XREF[1,0]: 0041574a
.text:0041587c 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
.text:00415882 becc010000 MOV ESI,0x1cc
.text:00415887 c1e002 SHL EAX,0x2
.text:0041588a 50 PUSH EAX
.text:0041588b 8d85c0f8ffff LEA EAX,[EBP + 0xfffff8c0]
LAB_00415891: ;XREF[1,0]: 00415672
.text:00415891 50 PUSH EAX
.text:00415892 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00415898 56 PUSH ESI
.text:00415899 50 PUSH EAX
.text:0041589a e88571ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0041589f 83c410 ADD ESP,0x10
LAB_004158a2: ;XREF[4,0]: 00415679,00415686,004156c2,004156e4
.text:004158a2 8ac3 MOV AL,BL
LAB_004158a4: ;XREF[2,0]: 00415588,00415984
.text:004158a4 84c0 TEST AL,AL
.text:004158a6 0f84dd000000 JZ LAB_00415989
.text:004158ac 8b8590f8ffff MOV EAX,dword ptr [EBP + 0xfffff890]
.text:004158b2 2b85a8f8ffff SUB EAX,dword ptr [EBP + 0xfffff8a8]
.text:004158b8 898590f8ffff MOV dword ptr [EBP + 0xfffff890],EAX
.text:004158be 0f850dfcffff JNZ LAB_004154d1
.text:004158c4 6a0a PUSH 0xa
.text:004158c6 59 POP ECX
LAB_004158c7: ;XREF[1,0]: 004154cb
.text:004158c7 8b8588f8ffff MOV EAX,dword ptr [EBP + 0xfffff888]
.text:004158cd 33d2 XOR EDX,EDX
.text:004158cf f7f1 DIV ECX
.text:004158d1 85d2 TEST EDX,EDX
.text:004158d3 0f84e8000000 JZ LAB_004159c1
.text:004158d9 8b049564c... MOV EAX,dword ptr [EDX*0x4 + .rdata:DAT_0...;= 0225h
.text:004158e0 898588f8ffff MOV dword ptr [EBP + 0xfffff888],EAX
.text:004158e6 85c0 TEST EAX,EAX
.text:004158e8 0f84ad000000 JZ LAB_0041599b
.text:004158ee 3bc3 CMP EAX,EBX
.text:004158f0 0f84cb000000 JZ LAB_004159c1
.text:004158f6 8b8d2cfeffff MOV ECX,dword ptr [EBP + 0xfffffe2c]
.text:004158fc 85c9 TEST ECX,ECX
.text:004158fe 0f84bd000000 JZ LAB_004159c1
.text:00415904 83a590f8f... AND dword ptr [EBP + 0xfffff890],0x0
.text:0041590b 33ff XOR EDI,EDI
LAB_0041590d: ;XREF[1,0]: 00415933
.text:0041590d f7a4bd30f... MUL dword ptr [EBP + EDI*0x4 + 0xfffffe30]
.text:00415914 038590f8ffff ADD EAX,dword ptr [EBP + 0xfffff890]
.text:0041591a 8984bd30f... MOV dword ptr [EBP +...,EAX
.text:00415921 8b8588f8ffff MOV EAX,dword ptr [EBP + 0xfffff888]
.text:00415927 83d200 ADC EDX,0x0
.text:0041592a 47 INC EDI
.text:0041592b 899590f8ffff MOV dword ptr [EBP + 0xfffff890],EDX
.text:00415931 3bf9 CMP EDI,ECX
.text:00415933 75d8 JNZ LAB_0041590d
.text:00415935 85d2 TEST EDX,EDX
.text:00415937 0f8484000000 JZ LAB_004159c1
.text:0041593d 8b852cfeffff MOV EAX,dword ptr [EBP + 0xfffffe2c]
.text:00415943 83f873 CMP EAX,0x73
.text:00415946 7353 JNC LAB_0041599b
.text:00415948 89948530f... MOV dword ptr [EBP +...,EDX
.text:0041594f ff852cfeffff INC dword ptr [EBP + 0xfffffe2c]
.text:00415955 eb6a JMP LAB_004159c1
LAB_00415957: ;XREF[2,0]: 00415817,00415861
.text:00415957 becc010000 MOV ESI,0x1cc
LAB_0041595c: ;XREF[1,0]: 004156d1
.text:0041595c 33c0 XOR EAX,EAX
.text:0041595e 50 PUSH EAX
.text:0041595f 89858cf6ffff MOV dword ptr [EBP + 0xfffff68c],EAX
.text:00415965 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
.text:0041596b 8d8590f6ffff LEA EAX,[EBP + 0xfffff690]
.text:00415971 50 PUSH EAX
.text:00415972 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00415978 56 PUSH ESI
.text:00415979 50 PUSH EAX
.text:0041597a e8a570ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:0041597f 83c410 ADD ESP,0x10
.text:00415982 32c0 XOR AL,AL
.text:00415984 e91bffffff JMP LAB_004158a4
LAB_00415989: ;XREF[1,0]: 004158a6
.text:00415989 83a58cf6f... AND dword ptr [EBP + 0xfffff68c],0x0
.text:00415990 83a52cfef... AND dword ptr [EBP + 0xfffffe2c],0x0
.text:00415997 6a00 PUSH 0x0
.text:00415999 eb0f JMP LAB_004159aa
LAB_0041599b: ;XREF[2,0]: 004158e8,00415946
.text:0041599b 33c0 XOR EAX,EAX
.text:0041599d 50 PUSH EAX
.text:0041599e 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
.text:004159a4 89858cf6ffff MOV dword ptr [EBP + 0xfffff68c],EAX
LAB_004159aa: ;XREF[1,0]: 00415999
.text:004159aa 8d8590f6ffff LEA EAX,[EBP + 0xfffff690]
.text:004159b0 50 PUSH EAX
.text:004159b1 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
LAB_004159b7: ;XREF[1,0]: 00415444
.text:004159b7 56 PUSH ESI
.text:004159b8 50 PUSH EAX
.text:004159b9 e86670ffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:004159be 83c410 ADD ESP,0x10
LAB_004159c1: ;XREF[10,0]: 004153cd,0041544b,00415459,00415492
; 004154b4,004158d3,004158f0,004158fe
; 00415937,00415955
.text:004159c1 8b8d2cfeffff MOV ECX,dword ptr [EBP + 0xfffffe2c]
.text:004159c7 8bbda0f8ffff MOV EDI,dword ptr [EBP + 0xfffff8a0]
.text:004159cd 89bdb8f8ffff MOV dword ptr [EBP + 0xfffff8b8],EDI
.text:004159d3 85c9 TEST ECX,ECX
.text:004159d5 747a JZ LAB_00415a51
.text:004159d7 83a590f8f... AND dword ptr [EBP + 0xfffff890],0x0
.text:004159de 33ff XOR EDI,EDI
LAB_004159e0: ;XREF[1,0]: 00415a05
.text:004159e0 8b84bd30f... MOV EAX,dword ptr [EBP + EDI*0x4 + 0xffff...
.text:004159e7 6a0a PUSH 0xa
.text:004159e9 5a POP EDX
.text:004159ea f7e2 MUL EDX
.text:004159ec 038590f8ffff ADD EAX,dword ptr [EBP + 0xfffff890]
.text:004159f2 8984bd30f... MOV dword ptr [EBP +...,EAX
.text:004159f9 83d200 ADC EDX,0x0
.text:004159fc 47 INC EDI
.text:004159fd 899590f8ffff MOV dword ptr [EBP + 0xfffff890],EDX
.text:00415a03 3bf9 CMP EDI,ECX
.text:00415a05 75d9 JNZ LAB_004159e0
.text:00415a07 8bbdb8f8ffff MOV EDI,dword ptr [EBP + 0xfffff8b8]
.text:00415a0d 85d2 TEST EDX,EDX
.text:00415a0f 7440 JZ LAB_00415a51
.text:00415a11 8b852cfeffff MOV EAX,dword ptr [EBP + 0xfffffe2c]
.text:00415a17 83f873 CMP EAX,0x73
.text:00415a1a 730f JNC LAB_00415a2b
.text:00415a1c 89948530f... MOV dword ptr [EBP +...,EDX
.text:00415a23 ff852cfeffff INC dword ptr [EBP + 0xfffffe2c]
.text:00415a29 eb26 JMP LAB_00415a51
LAB_00415a2b: ;XREF[1,0]: 00415a1a
.text:00415a2b 33c0 XOR EAX,EAX
.text:00415a2d 50 PUSH EAX
.text:00415a2e 89858cf6ffff MOV dword ptr [EBP + 0xfffff68c],EAX
.text:00415a34 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
.text:00415a3a 8d8590f6ffff LEA EAX,[EBP + 0xfffff690]
.text:00415a40 50 PUSH EAX
.text:00415a41 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00415a47 56 PUSH ESI
.text:00415a48 50 PUSH EAX
.text:00415a49 e8d66fffff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00415a4e 83c410 ADD ESP,0x10
LAB_00415a51: ;XREF[3,0]: 004159d5,00415a0f,00415a29
.text:00415a51 8d855cfcffff LEA EAX,[EBP + 0xfffffc5c]
.text:00415a57 50 PUSH EAX
.text:00415a58 8d852cfeffff LEA EAX,[EBP + 0xfffffe2c]
.text:00415a5e 50 PUSH EAX
.text:00415a5f e80c5affff CALL FUN_0040b470 ;ulonglong FUN_0040b470(uint * param_...
.text:00415a64 59 POP ECX
.text:00415a65 59 POP ECX
.text:00415a66 8b8da0f8ffff MOV ECX,dword ptr [EBP + 0xfffff8a0]
.text:00415a6c 6a0a PUSH 0xa
.text:00415a6e 5a POP EDX
.text:00415a6f 3bc2 CMP EAX,EDX
.text:00415a71 0f8564010000 JNZ LAB_00415bdb
.text:00415a77 8b855cfcffff MOV EAX,dword ptr [EBP + 0xfffffc5c]
.text:00415a7d 8d7901 LEA EDI,[ECX + 0x1]
.text:00415a80 ff857cf8ffff INC dword ptr [EBP + 0xfffff87c]
.text:00415a86 c60131 MOV byte ptr [ECX],0x31
.text:00415a89 89bdb8f8ffff MOV dword ptr [EBP + 0xfffff8b8],EDI
.text:00415a8f 898588f8ffff MOV dword ptr [EBP + 0xfffff888],EAX
.text:00415a95 85c0 TEST EAX,EAX
.text:00415a97 745f JZ LAB_00415af8
.text:00415a99 33ff XOR EDI,EDI
.text:00415a9b 33c9 XOR ECX,ECX
LAB_00415a9d: ;XREF[1,0]: 00415abe
.text:00415a9d 8b848d60f... MOV EAX,dword ptr [EBP + ECX*0x4 + 0xffff...
.text:00415aa4 f7e2 MUL EDX
.text:00415aa6 6a0a PUSH 0xa
.text:00415aa8 03c7 ADD EAX,EDI
.text:00415aaa 89848d60f... MOV dword ptr [EBP +...,EAX
.text:00415ab1 83d200 ADC EDX,0x0
.text:00415ab4 41 INC ECX
.text:00415ab5 8bfa MOV EDI,EDX
.text:00415ab7 5a POP EDX
.text:00415ab8 3b8d88f8ffff CMP ECX,dword ptr [EBP + 0xfffff888]
.text:00415abe 75dd JNZ LAB_00415a9d
.text:00415ac0 89bd88f8ffff MOV dword ptr [EBP + 0xfffff888],EDI
.text:00415ac6 85ff TEST EDI,EDI
.text:00415ac8 8bbdb8f8ffff MOV EDI,dword ptr [EBP + 0xfffff8b8]
.text:00415ace 7422 JZ LAB_00415af2
.text:00415ad0 8b8d5cfcffff MOV ECX,dword ptr [EBP + 0xfffffc5c]
.text:00415ad6 83f973 CMP ECX,0x73
.text:00415ad9 0f83d1000000 JNC LAB_00415bb0
.text:00415adf 8b8588f8ffff MOV EAX,dword ptr [EBP + 0xfffff888]
.text:00415ae5 89848d60f... MOV dword ptr [EBP +...,EAX
.text:00415aec ff855cfcffff INC dword ptr [EBP + 0xfffffc5c]
LAB_00415af2: ;XREF[2,0]: 00415ace,00415bd6
.text:00415af2 8b8da0f8ffff MOV ECX,dword ptr [EBP + 0xfffff8a0]
LAB_00415af8: ;XREF[3,0]: 00415a97,00415be5,00415bf7
.text:00415af8 8b9574f8ffff MOV EDX,dword ptr [EBP + 0xfffff874]
.text:00415afe 8b857cf8ffff MOV EAX,dword ptr [EBP + 0xfffff87c]
.text:00415b04 894204 MOV dword ptr [EDX + 0x4],EAX
.text:00415b07 8b9578f8ffff MOV EDX,dword ptr [EBP + 0xfffff878]
.text:00415b0d 85c0 TEST EAX,EAX
.text:00415b0f 7810 JS LAB_00415b21
.text:00415b11 81faffffff7f CMP EDX,0x7fffffff
.text:00415b17 7708 JA LAB_00415b21
.text:00415b19 837d1400 CMP dword ptr [EBP + 0x14],0x0
.text:00415b1d 7502 JNZ LAB_00415b21
.text:00415b1f 03d0 ADD EDX,EAX
LAB_00415b21: ;XREF[3,0]: 00415b0f,00415b17,00415b1d
.text:00415b21 8b4520 MOV EAX,dword ptr [EBP + 0x20]
.text:00415b24 48 DEC EAX
.text:00415b25 3bc2 CMP EAX,EDX
.text:00415b27 7202 JC LAB_00415b2b
.text:00415b29 8bc2 MOV EAX,EDX
LAB_00415b2b: ;XREF[1,0]: 00415b27
.text:00415b2b 03c1 ADD EAX,ECX
.text:00415b2d 32d2 XOR DL,DL
.text:00415b2f 8985acf8ffff MOV dword ptr [EBP + 0xfffff8ac],EAX
.text:00415b35 8895a7f8ffff MOV byte ptr [EBP + 0xfffff8a7],DL
.text:00415b3b 3bf8 CMP EDI,EAX
.text:00415b3d 0f8488010000 JZ LAB_00415ccb
LAB_00415b43: ;XREF[1,0]: 00415cc5
.text:00415b43 8b852cfeffff MOV EAX,dword ptr [EBP + 0xfffffe2c]
.text:00415b49 898588f8ffff MOV dword ptr [EBP + 0xfffff888],EAX
.text:00415b4f 85c0 TEST EAX,EAX
.text:00415b51 0f8474010000 JZ LAB_00415ccb
.text:00415b57 33ff XOR EDI,EDI
.text:00415b59 33c9 XOR ECX,ECX
LAB_00415b5b: ;XREF[1,0]: 00415b7e
.text:00415b5b 8b848d30f... MOV EAX,dword ptr [EBP + ECX*0x4 + 0xffff...
.text:00415b62 ba00ca9a3b MOV EDX,0x3b9aca00
.text:00415b67 f7e2 MUL EDX
.text:00415b69 03c7 ADD EAX,EDI
.text:00415b6b 89848d30f... MOV dword ptr [EBP +...,EAX
.text:00415b72 83d200 ADC EDX,0x0
.text:00415b75 41 INC ECX
.text:00415b76 8bfa MOV EDI,EDX
.text:00415b78 3b8d88f8ffff CMP ECX,dword ptr [EBP + 0xfffff888]
.text:00415b7e 75db JNZ LAB_00415b5b
.text:00415b80 89bd88f8ffff MOV dword ptr [EBP + 0xfffff888],EDI
.text:00415b86 85ff TEST EDI,EDI
.text:00415b88 8bbdb8f8ffff MOV EDI,dword ptr [EBP + 0xfffff8b8]
.text:00415b8e 0f848e000000 JZ LAB_00415c22
.text:00415b94 8b8d2cfeffff MOV ECX,dword ptr [EBP + 0xfffffe2c]
.text:00415b9a 83f973 CMP ECX,0x73
.text:00415b9d 735d JNC LAB_00415bfc
.text:00415b9f 8bc2 MOV EAX,EDX
.text:00415ba1 89848d30f... MOV dword ptr [EBP +...,EAX
.text:00415ba8 ff852cfeffff INC dword ptr [EBP + 0xfffffe2c]
.text:00415bae eb72 JMP LAB_00415c22
LAB_00415bb0: ;XREF[1,0]: 00415ad9
.text:00415bb0 33c0 XOR EAX,EAX
.text:00415bb2 50 PUSH EAX
.text:00415bb3 89858cf6ffff MOV dword ptr [EBP + 0xfffff68c],EAX
.text:00415bb9 89855cfcffff MOV dword ptr [EBP + 0xfffffc5c],EAX
.text:00415bbf 8d8590f6ffff LEA EAX,[EBP + 0xfffff690]
.text:00415bc5 50 PUSH EAX
.text:00415bc6 8d8560fcffff LEA EAX,[EBP + 0xfffffc60]
.text:00415bcc 56 PUSH ESI
.text:00415bcd 50 PUSH EAX
.text:00415bce e8516effff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00415bd3 83c410 ADD ESP,0x10
.text:00415bd6 e917ffffff JMP LAB_00415af2
LAB_00415bdb: ;XREF[1,0]: 00415a71
.text:00415bdb 85c0 TEST EAX,EAX
.text:00415bdd 750b JNZ LAB_00415bea
.text:00415bdf ff8d7cf8ffff DEC dword ptr [EBP + 0xfffff87c]
.text:00415be5 e90effffff JMP LAB_00415af8
LAB_00415bea: ;XREF[1,0]: 00415bdd
.text:00415bea 0430 ADD AL,0x30
.text:00415bec 8d7901 LEA EDI,[ECX + 0x1]
.text:00415bef 8801 MOV byte ptr [ECX],AL
.text:00415bf1 89bdb8f8ffff MOV dword ptr [EBP + 0xfffff8b8],EDI
.text:00415bf7 e9fcfeffff JMP LAB_00415af8
LAB_00415bfc: ;XREF[1,0]: 00415b9d
.text:00415bfc 33c0 XOR EAX,EAX
.text:00415bfe 50 PUSH EAX
.text:00415bff 89858cf6ffff MOV dword ptr [EBP + 0xfffff68c],EAX
.text:00415c05 89852cfeffff MOV dword ptr [EBP + 0xfffffe2c],EAX
.text:00415c0b 8d8590f6ffff LEA EAX,[EBP + 0xfffff690]
.text:00415c11 50 PUSH EAX
.text:00415c12 8d8530feffff LEA EAX,[EBP + 0xfffffe30]
.text:00415c18 56 PUSH ESI
.text:00415c19 50 PUSH EAX
.text:00415c1a e8056effff CALL _memcpy_s ;errno_t _memcpy_s(void * _Dst, rsize...
.text:00415c1f 83c410 ADD ESP,0x10
LAB_00415c22: ;XREF[2,0]: 00415b8e,00415bae
.text:00415c22 8d855cfcffff LEA EAX,[EBP + 0xfffffc5c]
.text:00415c28 50 PUSH EAX
.text:00415c29 8d852cfeffff LEA EAX,[EBP + 0xfffffe2c]
.text:00415c2f 50 PUSH EAX
.text:00415c30 e83b58ffff CALL FUN_0040b470 ;ulonglong FUN_0040b470(uint * param_...
.text:00415c35 59 POP ECX
.text:00415c36 59 POP ECX
.text:00415c37 8b8dacf8ffff MOV ECX,dword ptr [EBP + 0xfffff8ac]
.text:00415c3d 8985a8f8ffff MOV dword ptr [EBP + 0xfffff8a8],EAX
.text:00415c43 2bcf SUB ECX,EDI
.text:00415c45 c78590f8f... MOV dword ptr [EBP + 0xfffff890],0x8
LAB_00415c4f: ;XREF[1,0]: 00415cad
.text:00415c4f 33d2 XOR EDX,EDX
.text:00415c51 f7b5b0f8ffff DIV dword ptr [EBP + 0xfffff8b0]
.text:00415c57 8bc2 MOV EAX,EDX
.text:00415c59 33d2 XOR EDX,EDX
.text:00415c5b 0430 ADD AL,0x30
.text:00415c5d 898578f8ffff MOV dword ptr [EBP + 0xfffff878],EAX
.text:00415c63 8b85a8f8ffff MOV EAX,dword ptr [EBP + 0xfffff8a8]
.text:00415c69 f7b5b0f8ffff DIV dword ptr [EBP + 0xfffff8b0]
.text:00415c6f 8b9578f8ffff MOV EDX,dword ptr [EBP + 0xfffff878]
.text:00415c75 8985a8f8ffff MOV dword ptr [EBP + 0xfffff8a8],EAX
.text:00415c7b 8b8590f8ffff MOV EAX,dword ptr [EBP + 0xfffff890]
.text:00415c81 3bc8 CMP ECX,EAX
.text:00415c83 770f JA LAB_00415c94
.text:00415c85 80fa30 CMP DL,0x30
.text:00415c88 740d JZ LAB_00415c97
.text:00415c8a 8ad3 MOV DL,BL
.text:00415c8c 8895a7f8ffff MOV byte ptr [EBP + 0xfffff8a7],DL
.text:00415c92 eb09 JMP LAB_00415c9d
LAB_00415c94: ;XREF[1,0]: 00415c83
.text:00415c94 881438 MOV byte ptr [EAX + EDI*0x1],DL
LAB_00415c97: ;XREF[1,0]: 00415c88
.text:00415c97 8a95a7f8ffff MOV DL,byte ptr [EBP + 0xfffff8a7]
LAB_00415c9d: ;XREF[1,0]: 00415c92
.text:00415c9d 48 DEC EAX
.text:00415c9e 898590f8ffff MOV dword ptr [EBP + 0xfffff890],EAX
.text:00415ca4 83f8ff CMP EAX,-0x1
.text:00415ca7 8b85a8f8ffff MOV EAX,dword ptr [EBP + 0xfffff8a8]
.text:00415cad 75a0 JNZ LAB_00415c4f
.text:00415caf 83f909 CMP ECX,0x9
.text:00415cb2 7603 JBE LAB_00415cb7
.text:00415cb4 6a09 PUSH 0x9
.text:00415cb6 59 POP ECX
LAB_00415cb7: ;XREF[1,0]: 00415cb2
.text:00415cb7 03f9 ADD EDI,ECX
.text:00415cb9 89bdb8f8ffff MOV dword ptr [EBP + 0xfffff8b8],EDI
.text:00415cbf 3bbdacf8ffff CMP EDI,dword ptr [EBP + 0xfffff8ac]
.text:00415cc5 0f8578feffff JNZ LAB_00415b43
LAB_00415ccb: ;XREF[2,0]: 00415b3d,00415b51
.text:00415ccb c60700 MOV byte ptr [EDI],0x0
.text:00415cce 83bd2cfef... CMP dword ptr [EBP + 0xfffffe2c],0x0
.text:00415cd5 7504 JNZ LAB_00415cdb
.text:00415cd7 84d2 TEST DL,DL
.text:00415cd9 7402 JZ LAB_00415cdd
LAB_00415cdb: ;XREF[1,0]: 00415cd5
.text:00415cdb 33db XOR EBX,EBX
LAB_00415cdd: ;XREF[1,0]: 00415cd9
.text:00415cdd ffb570f8ffff PUSH dword ptr [EBP + 0xfffff870]
.text:00415ce3 8d8588f8ffff LEA EAX,[EBP + 0xfffff888]
.text:00415ce9 ffb56cf8ffff PUSH dword ptr [EBP + 0xfffff86c]
.text:00415cef 50 PUSH EAX
.text:00415cf0 e85f7dffff CALL __controlfp_s ;errno_t __controlfp_s(uint * _Curren...
.text:00415cf5 83c40c ADD ESP,0xc
LAB_00415cf8: ;XREF[2,0]: 00414875,0041489a
.text:00415cf8 80bd68f8f... CMP byte ptr [EBP + local_79c+0x4],0x0
.text:00415cff 5f POP EDI
.text:00415d00 5e POP ESI
.text:00415d01 740d JZ LAB_00415d10
.text:00415d03 8d8560f8ffff LEA EAX=>local_7a4,[EBP + 0xfffff860]
.text:00415d09 50 PUSH EAX
.text:00415d0a e875250000 CALL FUN_00418284 ;bool FUN_00418284(uint * param_1)
.text:00415d0f 59 POP ECX
LAB_00415d10: ;XREF[1,0]: 00415d01
.text:00415d10 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00415d13 8bc3 MOV EAX,EBX
.text:00415d15 33cd XOR ECX,EBP
.text:00415d17 5b POP EBX
.text:00415d18 e808c4feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00415d1d c9 LEAVE
.text:00415d1e c3 RET
LAB_00415d1f: ;XREF[2,0]: 0041486f,00414892
.text:00415d1f 33c0 XOR EAX,EAX
.text:00415d21 50 PUSH EAX
.text:00415d22 50 PUSH EAX
.text:00415d23 50 PUSH EAX
.text:00415d24 50 PUSH EAX
.text:00415d25 50 PUSH EAX
.text:00415d26 e80885ffff CALL __invoke_watson ;void __invoke_watson(wchar_t * param...
.text:00415d2b cc align align(1)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00415d2c(byte * param_1, uint param_2, undefined4 * param_3, int param_4)
;param_1 byte * 4 ;XREF[1,0]: 00415d31
;param_2 uint 8 ;XREF[1,0]: 00415d47
;param_3 undefined4 * c ;XREF[3,0]: 00415d3a,00415db6,00415dce
;param_4 int 10 ;XREF[1,0]: 00415dcb
;XREF[1,0]: 0040fd89
.text:00415d2c 8bff MOV EDI,EDI
.text:00415d2e 55 PUSH EBP
.text:00415d2f 8bec MOV EBP,ESP
.text:00415d31 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00415d34 85d2 TEST EDX,EDX
.text:00415d36 750f JNZ LAB_00415d47
.text:00415d38 33c9 XOR ECX,ECX
LAB_00415d3a: ;XREF[1,0]: 00415d50
.text:00415d3a 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00415d3d 8908 MOV dword ptr [EAX],ECX
.text:00415d3f 894804 MOV dword ptr [EAX + 0x4],ECX
LAB_00415d42: ;XREF[1,0]: 00415d5c
.text:00415d42 33c0 XOR EAX,EAX
.text:00415d44 40 INC EAX
.text:00415d45 5d POP EBP
.text:00415d46 c3 RET
LAB_00415d47: ;XREF[1,0]: 00415d36
.text:00415d47 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00415d4a 85c9 TEST ECX,ECX
.text:00415d4c 7504 JNZ LAB_00415d52
.text:00415d4e 880a MOV byte ptr [EDX],CL
.text:00415d50 ebe8 JMP LAB_00415d3a
LAB_00415d52: ;XREF[1,0]: 00415d4c
.text:00415d52 f7c180ffffff TEST ECX,0xffffff80
.text:00415d58 7504 JNZ LAB_00415d5e
.text:00415d5a 880a MOV byte ptr [EDX],CL
.text:00415d5c ebe4 JMP LAB_00415d42
LAB_00415d5e: ;XREF[1,0]: 00415d58
.text:00415d5e 53 PUSH EBX
.text:00415d5f 56 PUSH ESI
.text:00415d60 f7c100f8ffff TEST ECX,0xfffff800
.text:00415d66 7507 JNZ LAB_00415d6f
.text:00415d68 33f6 XOR ESI,ESI
.text:00415d6a b3c0 MOV BL,0xc0
.text:00415d6c 46 INC ESI
.text:00415d6d eb33 JMP LAB_00415da2
LAB_00415d6f: ;XREF[1,0]: 00415d66
.text:00415d6f f7c10000ffff TEST ECX,0xffff0000
.text:00415d75 7516 JNZ LAB_00415d8d
.text:00415d77 81f900d80000 CMP ECX,0xd800
.text:00415d7d 7208 JC LAB_00415d87
.text:00415d7f 81f9ffdf0000 CMP ECX,0xdfff
.text:00415d85 7644 JBE LAB_00415dcb
LAB_00415d87: ;XREF[1,0]: 00415d7d
.text:00415d87 6a02 PUSH 0x2
.text:00415d89 b3e0 MOV BL,0xe0
.text:00415d8b eb14 JMP LAB_00415da1
LAB_00415d8d: ;XREF[1,0]: 00415d75
.text:00415d8d f7c10000e0ff TEST ECX,0xffe00000
.text:00415d93 7536 JNZ LAB_00415dcb
.text:00415d95 81f9ffff1000 CMP ECX,0x10ffff
.text:00415d9b 772e JA LAB_00415dcb
.text:00415d9d 6a03 PUSH 0x3
.text:00415d9f b3f0 MOV BL,0xf0
LAB_00415da1: ;XREF[1,0]: 00415d8b
.text:00415da1 5e POP ESI
LAB_00415da2: ;XREF[1,0]: 00415d6d
.text:00415da2 57 PUSH EDI
.text:00415da3 8bfe MOV EDI,ESI
LAB_00415da5: ;XREF[1,0]: 00415db4
.text:00415da5 8ac1 MOV AL,CL
.text:00415da7 c1e906 SHR ECX,0x6
.text:00415daa 243f AND AL,0x3f
.text:00415dac 0c80 OR AL,0x80
.text:00415dae 880417 MOV byte ptr [EDI + EDX*0x1],AL
.text:00415db1 83ef01 SUB EDI,0x1
.text:00415db4 75ef JNZ LAB_00415da5
.text:00415db6 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00415db9 8d4601 LEA EAX,[ESI + 0x1]
.text:00415dbc 0acb OR CL,BL
.text:00415dbe 50 PUSH EAX
.text:00415dbf 880a MOV byte ptr [EDX],CL
.text:00415dc1 e887270000 CALL FUN_0041854d ;undefined4 FUN_0041854d(undefined4 p...
.text:00415dc6 59 POP ECX
.text:00415dc7 59 POP ECX
.text:00415dc8 5f POP EDI
.text:00415dc9 eb0d JMP LAB_00415dd8
LAB_00415dcb: ;XREF[3,0]: 00415d85,00415d93,00415d9b
.text:00415dcb ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00415dce ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00415dd1 e88b270000 CALL FUN_00418561 ;undefined4 FUN_00418561(undefined4 *...
.text:00415dd6 59 POP ECX
.text:00415dd7 59 POP ECX
LAB_00415dd8: ;XREF[1,0]: 00415dc9
.text:00415dd8 5e POP ESI
.text:00415dd9 5b POP EBX
.text:00415dda 5d POP EBP
.text:00415ddb c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;char FUN_00415ddc(char * param_1)
;param_1 char * 4 ;XREF[1,0]: 00415de1
;XREF[3,0]: 00415e72,00415f0e,00415f29
.text:00415ddc 8bff MOV EDI,EDI
.text:00415dde 55 PUSH EBP
.text:00415ddf 8bec MOV EBP,ESP
.text:00415de1 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00415de4 803900 CMP byte ptr [ECX],0x0
.text:00415de7 7505 JNZ LAB_00415dee
.text:00415de9 33c0 XOR EAX,EAX
.text:00415deb 40 INC EAX
.text:00415dec eb16 JMP LAB_00415e04
LAB_00415dee: ;XREF[1,0]: 00415de7
.text:00415dee 80790100 CMP byte ptr [ECX + 0x1],0x0
.text:00415df2 7505 JNZ LAB_00415df9
.text:00415df4 6a02 PUSH 0x2
.text:00415df6 58 POP EAX
.text:00415df7 eb0b JMP LAB_00415e04
LAB_00415df9: ;XREF[1,0]: 00415df2
.text:00415df9 33c0 XOR EAX,EAX
.text:00415dfb 384102 CMP byte ptr [ECX + 0x2],AL
.text:00415dfe 0f95c0 SETNZ AL
.text:00415e01 83c003 ADD EAX,0x3
LAB_00415e04: ;XREF[2,0]: 00415dec,00415df7
.text:00415e04 5d POP EBP
.text:00415e05 c20400 RET 0x4
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00415e08(undefined2 * param_1, byte * param_2, uint param_3, uint * param_4, int param_5)
;param_1 undefined2 * 4 ;XREF[1,0]: 00415e3d
;param_2 byte * 8 ;XREF[1,0]: 00415e1a
;param_3 uint c ;XREF[1,0]: 00415e17
;param_4 uint * 10 ;XREF[1,0]: 00415e14
;param_5 int 14 ;XREF[1,0]: 00415e0e
;local_8 undefined4 -8 ;XREF[2,0]: 00415e11,00415e2d
;XREF[1,0]: 0040fed5
.text:00415e08 8bff MOV EDI,EDI
.text:00415e0a 55 PUSH EBP
.text:00415e0b 8bec MOV EBP,ESP
.text:00415e0d 51 PUSH ECX
.text:00415e0e ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00415e11 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:00415e14 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00415e17 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00415e1a ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00415e1d 50 PUSH EAX
.text:00415e1e e860270000 CALL FUN_00418583 ;undefined FUN_00418583(uint * * para...
.text:00415e23 8bd0 MOV EDX,EAX
.text:00415e25 83c414 ADD ESP,0x14
.text:00415e28 83fa04 CMP EDX,0x4
.text:00415e2b 771a JA LAB_00415e47
.text:00415e2d 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00415e30 81f9ffff0000 CMP ECX,0xffff
.text:00415e36 7605 JBE LAB_00415e3d
.text:00415e38 b9fdff0000 MOV ECX,0xfffd
LAB_00415e3d: ;XREF[1,0]: 00415e36
.text:00415e3d 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00415e40 85c0 TEST EAX,EAX
.text:00415e42 7403 JZ LAB_00415e47
.text:00415e44 668908 MOV word ptr [EAX],CX
LAB_00415e47: ;XREF[2,0]: 00415e2b,00415e42
.text:00415e47 8bc2 MOV EAX,EDX
.text:00415e49 c9 LEAVE
.text:00415e4a c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00415e4b(void * this, ushort * param_1, byte * * param_2, uint param_3, uint * param_4, int param_5)
;this void * ECX
;param_1 ushort * 4 ;XREF[3,0]: 00415e52,00415e67,00415edc
;param_2 byte * * 8 ;XREF[3,0]: 00415e59,00415ed9,00415ef0
;param_3 uint c ;XREF[1,0]: 00415e64
;param_4 uint * 10 ;XREF[2,0]: 00415e7a,00415f2f
;param_5 int 14 ;XREF[3,0]: 00415e77,00415ef5,00415f13
;local_5 undefined1 -5 ;XREF[3,0]: 00415e6f,00415f09,00415f24
;local_c undefined4 -c ;XREF[3,0]: 00415e7e,00415e96,00415eaf
;XREF[2,0]: 00413c4b,00413c99
.text:00415e4b 8bff MOV EDI,EDI
.text:00415e4d 55 PUSH EBP
.text:00415e4e 8bec MOV EBP,ESP
.text:00415e50 51 PUSH this
.text:00415e51 51 PUSH this
.text:00415e52 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:00415e56 53 PUSH EBX
.text:00415e57 56 PUSH ESI
.text:00415e58 57 PUSH EDI
.text:00415e59 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00415e5c 8b3f MOV EDI,dword ptr [EDI]
.text:00415e5e 0f84a4000000 JZ LAB_00415f08
.text:00415e64 8b5d10 MOV EBX,dword ptr [EBP + param_3+0x4]
.text:00415e67 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00415e6a 85db TEST EBX,EBX
.text:00415e6c 746b JZ LAB_00415ed9
LAB_00415e6e: ;XREF[1,0]: 00415ed7
.text:00415e6e 57 PUSH EDI
.text:00415e6f 8d4dff LEA this=>local_5,[EBP + -0x1]
.text:00415e72 e865ffffff CALL FUN_00415ddc ;char FUN_00415ddc(char * param_1)
.text:00415e77 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00415e7a ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00415e7d 50 PUSH EAX
.text:00415e7e 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00415e81 57 PUSH EDI
.text:00415e82 50 PUSH EAX
.text:00415e83 e8fb260000 CALL FUN_00418583 ;undefined FUN_00418583(uint * * para...
.text:00415e88 8bd0 MOV EDX,EAX
.text:00415e8a 83c414 ADD ESP,0x14
.text:00415e8d 83faff CMP EDX,-0x1
.text:00415e90 745e JZ LAB_00415ef0
.text:00415e92 85d2 TEST EDX,EDX
.text:00415e94 7451 JZ LAB_00415ee7
.text:00415e96 8b4df8 MOV this,dword ptr [EBP + local_c+0x4]
.text:00415e99 81f9ffff0000 CMP this,0xffff
.text:00415e9f 762b JBE LAB_00415ecc
.text:00415ea1 83fb01 CMP EBX,0x1
.text:00415ea4 7633 JBE LAB_00415ed9
.text:00415ea6 81e900000100 SUB this,0x10000
.text:00415eac 4b DEC EBX
.text:00415ead 8bc1 MOV EAX,this
.text:00415eaf 894df8 MOV dword ptr [EBP + local_c+0x4],this
.text:00415eb2 c1e80a SHR EAX,0xa
.text:00415eb5 81e1ff030000 AND this,0x3ff
.text:00415ebb 0d00d80000 OR EAX,0xd800
.text:00415ec0 668906 MOV word ptr [ESI],AX
.text:00415ec3 83c602 ADD ESI,0x2
.text:00415ec6 81c900dc0000 OR this,0xdc00
LAB_00415ecc: ;XREF[1,0]: 00415e9f
.text:00415ecc 66890e MOV word ptr [ESI],this
.text:00415ecf 03fa ADD EDI,EDX
.text:00415ed1 83c602 ADD ESI,0x2
.text:00415ed4 83eb01 SUB EBX,0x1
.text:00415ed7 7595 JNZ LAB_00415e6e
LAB_00415ed9: ;XREF[3,0]: 00415e6c,00415ea4,00415eee
.text:00415ed9 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:00415edc 2b7508 SUB ESI,dword ptr [EBP + param_1+0x4]
.text:00415edf d1fe SAR ESI,0x1
.text:00415ee1 893b MOV dword ptr [EBX],EDI
LAB_00415ee3: ;XREF[1,0]: 00415f1a
.text:00415ee3 8bc6 MOV EAX,ESI
.text:00415ee5 eb67 JMP LAB_00415f4e
LAB_00415ee7: ;XREF[1,0]: 00415e94
.text:00415ee7 33ff XOR EDI,EDI
.text:00415ee9 33c0 XOR EAX,EAX
.text:00415eeb 668906 MOV word ptr [ESI],AX
.text:00415eee ebe9 JMP LAB_00415ed9
LAB_00415ef0: ;XREF[1,0]: 00415e90
.text:00415ef0 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00415ef3 8938 MOV dword ptr [EAX],EDI
.text:00415ef5 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:00415ef8 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00415efc c740182a0... MOV dword ptr [EAX + 0x18],0x2a
.text:00415f03 83c8ff OR EAX,0xffffffff
.text:00415f06 eb46 JMP LAB_00415f4e
LAB_00415f08: ;XREF[1,0]: 00415e5e
.text:00415f08 57 PUSH EDI
.text:00415f09 8d4dff LEA this=>local_5,[EBP + -0x1]
.text:00415f0c 33f6 XOR ESI,ESI
.text:00415f0e e8c9feffff CALL FUN_00415ddc ;char FUN_00415ddc(char * param_1)
.text:00415f13 8b5d18 MOV EBX,dword ptr [EBP + param_5+0x4]
.text:00415f16 eb16 JMP LAB_00415f2e
LAB_00415f18: ;XREF[1,0]: 00415f41
.text:00415f18 85c0 TEST EAX,EAX
.text:00415f1a 74c7 JZ LAB_00415ee3
.text:00415f1c 83f804 CMP EAX,0x4
.text:00415f1f 7501 JNZ LAB_00415f22
.text:00415f21 46 INC ESI
LAB_00415f22: ;XREF[1,0]: 00415f1f
.text:00415f22 03f8 ADD EDI,EAX
.text:00415f24 8d4dff LEA this=>local_5,[EBP + -0x1]
.text:00415f27 57 PUSH EDI
.text:00415f28 46 INC ESI
.text:00415f29 e8aefeffff CALL FUN_00415ddc ;char FUN_00415ddc(char * param_1)
LAB_00415f2e: ;XREF[1,0]: 00415f16
.text:00415f2e 53 PUSH EBX
.text:00415f2f ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00415f32 50 PUSH EAX
.text:00415f33 57 PUSH EDI
.text:00415f34 6a00 PUSH 0x0
.text:00415f36 e848260000 CALL FUN_00418583 ;undefined FUN_00418583(uint * * para...
.text:00415f3b 83c414 ADD ESP,0x14
.text:00415f3e 83f8ff CMP EAX,-0x1
.text:00415f41 75d5 JNZ LAB_00415f18
.text:00415f43 c6431c01 MOV byte ptr [EBX + 0x1c],0x1
.text:00415f47 c743182a0... MOV dword ptr [EBX + 0x18],0x2a
LAB_00415f4e: ;XREF[2,0]: 00415ee5,00415f06
.text:00415f4e 5f POP EDI
.text:00415f4f 5e POP ESI
.text:00415f50 5b POP EBX
.text:00415f51 c9 LEAVE
.text:00415f52 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00415f53(byte param_1, FILE * param_2, __acrt_ptd * * param_3)
;param_1 byte 4 ;XREF[1,0]: 0041601f
;param_2 FILE * 8 ;XREF[17,0]: 00415f58,00415f60,00415f7a,00415f8b,00415fa5
; 00415fb0,00415fb9,00415fc2,00415fcc,00415fd8
; 00415fe4,00415ff0,00415ff7,00416005,00416012
; 00416022,00416032
;param_3 __acrt_ptd * * c ;XREF[3,0]: 00415f6c,00415f99,0041601c
;XREF[1,0]: 004161a6
.text:00415f53 8bff MOV EDI,EDI
.text:00415f55 55 PUSH EBP
.text:00415f56 8bec MOV EBP,ESP
.text:00415f58 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00415f5b e87ba0ffff CALL __fileno ;int __fileno(FILE * _File)
.text:00415f60 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00415f63 59 POP ECX
.text:00415f64 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00415f67 90 NOP
.text:00415f68 a806 TEST AL,0x6
.text:00415f6a 751f JNZ LAB_00415f8b
.text:00415f6c 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00415f6f c74018090... MOV dword ptr [EAX + 0x18],0x9
LAB_00415f76: ;XREF[1,0]: 00415fa3
.text:00415f76 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00415f7a 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
LAB_00415f7d: ;XREF[1,0]: 00415fc5
.text:00415f7d 6a10 PUSH 0x10
.text:00415f7f 59 POP ECX
.text:00415f80 83c00c ADD EAX,0xc
.text:00415f83 f00908 OR.LOCK dword ptr [EAX],ECX
.text:00415f86 83c8ff OR EAX,0xffffffff
.text:00415f89 5d POP EBP
.text:00415f8a c3 RET
LAB_00415f8b: ;XREF[1,0]: 00415f6a
.text:00415f8b 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00415f8e 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00415f91 90 NOP
.text:00415f92 c1e80c SHR EAX,0xc
.text:00415f95 a801 TEST AL,0x1
.text:00415f97 740c JZ LAB_00415fa5
.text:00415f99 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00415f9c c74018220... MOV dword ptr [EAX + 0x18],0x22
.text:00415fa3 ebd1 JMP LAB_00415f76
LAB_00415fa5: ;XREF[1,0]: 00415f97
.text:00415fa5 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00415fa8 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00415fab 90 NOP
.text:00415fac a801 TEST AL,0x1
.text:00415fae 7428 JZ LAB_00415fd8
.text:00415fb0 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00415fb3 e863010000 CALL stream_is_at_end_of_file_nolock ;bool stream_is_at_end_of_file_nolock...
.text:00415fb8 59 POP ECX
.text:00415fb9 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00415fbc 83610800 AND dword ptr [ECX + 0x8],0x0
.text:00415fc0 84c0 TEST AL,AL
.text:00415fc2 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00415fc5 74b6 JZ LAB_00415f7d
.text:00415fc7 8b4804 MOV ECX,dword ptr [EAX + 0x4]
.text:00415fca 8908 MOV dword ptr [EAX],ECX
.text:00415fcc 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00415fcf 6afe PUSH -0x2
.text:00415fd1 59 POP ECX
.text:00415fd2 83c00c ADD EAX,0xc
.text:00415fd5 f02108 AND.LOCK dword ptr [EAX],ECX
LAB_00415fd8: ;XREF[1,0]: 00415fae
.text:00415fd8 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00415fdb 6a02 PUSH 0x2
.text:00415fdd 59 POP ECX
.text:00415fde 83c00c ADD EAX,0xc
.text:00415fe1 f00908 OR.LOCK dword ptr [EAX],ECX
.text:00415fe4 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00415fe7 6af7 PUSH -0x9
.text:00415fe9 59 POP ECX
.text:00415fea 83c00c ADD EAX,0xc
.text:00415fed f02108 AND.LOCK dword ptr [EAX],ECX
.text:00415ff0 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00415ff3 83600800 AND dword ptr [EAX + 0x8],0x0
.text:00415ff7 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00415ffa 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00415ffd 90 NOP
.text:00415ffe a9c0040000 TEST EAX,0x4c0
.text:00416003 7516 JNZ LAB_0041601b
.text:00416005 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00416008 e837a0ffff CALL FUN_00410044 ;undefined4 FUN_00410044(FILE * param_1)
.text:0041600d 59 POP ECX
.text:0041600e 84c0 TEST AL,AL
.text:00416010 7509 JNZ LAB_0041601b
.text:00416012 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00416015 e8e7010000 CALL ___acrt_stdio_allocate_buffer_nolock ;undefined ___acrt_stdio_allocate_buf...
.text:0041601a 59 POP ECX
LAB_0041601b: ;XREF[2,0]: 00416003,00416010
.text:0041601b 53 PUSH EBX
.text:0041601c ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0041601f 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:00416022 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00416025 53 PUSH EBX
.text:00416026 e81e000000 CALL FUN_00416049 ;char FUN_00416049(byte param_1, FILE...
.text:0041602b 83c40c ADD ESP,0xc
.text:0041602e 84c0 TEST AL,AL
.text:00416030 7511 JNZ LAB_00416043
.text:00416032 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00416035 6a10 PUSH 0x10
.text:00416037 59 POP ECX
.text:00416038 83c00c ADD EAX,0xc
.text:0041603b f00908 OR.LOCK dword ptr [EAX],ECX
.text:0041603e 83c8ff OR EAX,0xffffffff
.text:00416041 eb03 JMP LAB_00416046
LAB_00416043: ;XREF[1,0]: 00416030
.text:00416043 0fb6c3 MOVZX EAX,BL
LAB_00416046: ;XREF[1,0]: 00416041
.text:00416046 5b POP EBX
.text:00416047 5d POP EBP
.text:00416048 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;char FUN_00416049(byte param_1, FILE * param_2, __acrt_ptd * * param_3)
;param_1 byte 4 ;XREF[2,0]: 004160a2,00416101
;param_2 FILE * 8 ;XREF[7,0]: 00416050,00416059,0041606b,0041607a,0041608b
; 0041609d,004160ee
;param_3 __acrt_ptd * * c ;XREF[2,0]: 00416088,004160fe
;XREF[1,0]: 00416026
.text:00416049 8bff MOV EDI,EDI
.text:0041604b 55 PUSH EBP
.text:0041604c 8bec MOV EBP,ESP
.text:0041604e 56 PUSH ESI
.text:0041604f 57 PUSH EDI
.text:00416050 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00416053 e8839fffff CALL __fileno ;int __fileno(FILE * _File)
.text:00416058 59 POP ECX
.text:00416059 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0041605c 8bd0 MOV EDX,EAX
.text:0041605e 8b490c MOV ECX,dword ptr [ECX + 0xc]
.text:00416061 90 NOP
.text:00416062 f6c1c0 TEST CL,0xc0
.text:00416065 0f8493000000 JZ LAB_004160fe
.text:0041606b 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0041606e 33ff XOR EDI,EDI
.text:00416070 8b4104 MOV EAX,dword ptr [ECX + 0x4]
.text:00416073 8b31 MOV ESI,dword ptr [ECX]
.text:00416075 2bf0 SUB ESI,EAX
.text:00416077 40 INC EAX
.text:00416078 8901 MOV dword ptr [ECX],EAX
.text:0041607a 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0041607d 8b4818 MOV ECX,dword ptr [EAX + 0x18]
.text:00416080 49 DEC ECX
.text:00416081 894808 MOV dword ptr [EAX + 0x8],ECX
.text:00416084 85f6 TEST ESI,ESI
.text:00416086 7e27 JLE LAB_004160af
.text:00416088 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0041608b 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0041608e 56 PUSH ESI
.text:0041608f ff7004 PUSH dword ptr [EAX + 0x4]
.text:00416092 52 PUSH EDX
.text:00416093 e8d4e1ffff CALL FUN_0041426c ;int FUN_0041426c(char * param_1, byt...
.text:00416098 83c410 ADD ESP,0x10
.text:0041609b 8bf8 MOV EDI,EAX
LAB_0041609d: ;XREF[2,0]: 004160d8,004160ec
.text:0041609d 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:004160a0 3bfe CMP EDI,ESI
.text:004160a2 8a4508 MOV AL,byte ptr [EBP + param_1+0x4]
.text:004160a5 8b4904 MOV ECX,dword ptr [ECX + 0x4]
.text:004160a8 8801 MOV byte ptr [ECX],AL
.text:004160aa 0f94c0 SETZ AL
.text:004160ad eb68 JMP LAB_00416117
LAB_004160af: ;XREF[1,0]: 00416086
.text:004160af 83faff CMP EDX,-0x1
.text:004160b2 741b JZ LAB_004160cf
.text:004160b4 83fafe CMP EDX,-0x2
.text:004160b7 7416 JZ LAB_004160cf
.text:004160b9 8bc2 MOV EAX,EDX
.text:004160bb 8bca MOV ECX,EDX
.text:004160bd 83e03f AND EAX,0x3f
.text:004160c0 c1f906 SAR ECX,0x6
.text:004160c3 6bc038 IMUL EAX,EAX,0x38
.text:004160c6 03048dc84... ADD EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:004160cd eb05 JMP LAB_004160d4
LAB_004160cf: ;XREF[2,0]: 004160b2,004160b7
.text:004160cf b8f8304200 MOV EAX,.data:DAT_004230f8
LAB_004160d4: ;XREF[1,0]: 004160cd
.text:004160d4 f6402820 TEST byte ptr [EAX + ...,0x20 ;= 80h
.text:004160d8 74c3 JZ LAB_0041609d
.text:004160da 6a02 PUSH 0x2
.text:004160dc 57 PUSH EDI
.text:004160dd 57 PUSH EDI
.text:004160de 52 PUSH EDX
.text:004160df e8b3200000 CALL FUN_00418197 ;undefined8 FUN_00418197(uint param_1...
.text:004160e4 23c2 AND EAX,EDX
.text:004160e6 83c410 ADD ESP,0x10
.text:004160e9 83f8ff CMP EAX,-0x1
.text:004160ec 75af JNZ LAB_0041609d
.text:004160ee 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004160f1 6a10 PUSH 0x10
.text:004160f3 59 POP ECX
.text:004160f4 83c00c ADD EAX,0xc
.text:004160f7 f00908 OR.LOCK dword ptr [EAX],ECX
.text:004160fa b001 MOV AL,0x1
.text:004160fc eb19 JMP LAB_00416117
LAB_004160fe: ;XREF[1,0]: 00416065
.text:004160fe ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00416101 8d4508 LEA EAX=>param_1,[EBP + 0x8]
.text:00416104 6a01 PUSH 0x1
.text:00416106 50 PUSH EAX
.text:00416107 52 PUSH EDX
.text:00416108 e85fe1ffff CALL FUN_0041426c ;int FUN_0041426c(char * param_1, byt...
.text:0041610d 83c410 ADD ESP,0x10
.text:00416110 48 DEC EAX
.text:00416111 f7d8 NEG EAX
.text:00416113 1ac0 SBB AL,AL
.text:00416115 fec0 INC AL
LAB_00416117: ;XREF[2,0]: 004160ad,004160fc
.text:00416117 5f POP EDI
.text:00416118 5e POP ESI
.text:00416119 5d POP EBP
.text:0041611a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* bool __cdecl stream_is_at_end_of_file_nolock(class __crt_stdio_stream) *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;bool stream_is_at_end_of_file_nolock(__crt_stdio_stream param_1)
;param_1 __crt_stdio... 4 ;XREF[3,0]: 00416120,00416135,00416140
;local_8 undefined4 -8 ;XREF[1,0]: 0041618c
;local_c undefined4 -c ;XREF[2,0]: 00416160,00416184
;local_10 undefined4 -10 ;XREF[1,0]: 0041618f
;local_14 undefined4 -14 ;XREF[2,0]: 00416175,00416187
;XREF[1,0]: 00415fb3
.text:0041611b 8bff MOV EDI,EDI
.text:0041611d 55 PUSH EBP
.text:0041611e 8bec MOV EBP,ESP
.text:00416120 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00416123 83ec10 SUB ESP,0x10
.text:00416126 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:00416129 90 NOP
.text:0041612a c1e803 SHR EAX,0x3
.text:0041612d a801 TEST AL,0x1
.text:0041612f 7404 JZ LAB_00416135
.text:00416131 b001 MOV AL,0x1
.text:00416133 c9 LEAVE
.text:00416134 c3 RET
LAB_00416135: ;XREF[1,0]: 0041612f
.text:00416135 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00416138 53 PUSH EBX
.text:00416139 56 PUSH ESI
.text:0041613a 8b400c MOV EAX,dword ptr [EAX + 0xc]
.text:0041613d 90 NOP
.text:0041613e a8c0 TEST AL,0xc0
.text:00416140 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00416143 7407 JZ LAB_0041614c
.text:00416145 8b08 MOV ECX,dword ptr [EAX]
.text:00416147 3b4804 CMP ECX,dword ptr [EAX + 0x4]
.text:0041614a 744e JZ LAB_0041619a
LAB_0041614c: ;XREF[1,0]: 00416143
.text:0041614c 8b4010 MOV EAX,dword ptr [EAX + 0x10]
.text:0041614f 90 NOP
.text:00416150 50 PUSH EAX
.text:00416151 e8f9c4ffff CALL FUN_0041264f ;undefined4 FUN_0041264f(uint param_1)
.text:00416156 8bf0 MOV ESI,EAX
.text:00416158 59 POP ECX
.text:00416159 83feff CMP ESI,-0x1
.text:0041615c 743c JZ LAB_0041619a
.text:0041615e 33db XOR EBX,EBX
.text:00416160 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00416163 43 INC EBX
.text:00416164 53 PUSH EBX
.text:00416165 50 PUSH EAX ;DWORD dwMoveMethod for SetFilePointerEx
.text:00416166 6a00 PUSH 0x0 ;PLARGE_INTEGER lpNewFilePointer for ...
.text:00416168 6a00 PUSH 0x0 ;LARGE_INTEGER liDistanceToMove for S...
.text:0041616a 56 PUSH ESI ;HANDLE hFile for SetFilePointerEx
.text:0041616b ff15f0b04100 CALL dword ptr [->KERNEL32.DLL::SetFilePoi...;= 0002274c
.text:00416171 85c0 TEST EAX,EAX
.text:00416173 7425 JZ LAB_0041619a
.text:00416175 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:00416178 50 PUSH EAX ;PLARGE_INTEGER lpFileSize for GetFil...
.text:00416179 56 PUSH ESI ;HANDLE hFile for GetFileSizeEx
.text:0041617a ff15ecb04100 CALL dword ptr [->KERNEL32.DLL::GetFileSiz...;= 0002273c
.text:00416180 85c0 TEST EAX,EAX
.text:00416182 7416 JZ LAB_0041619a
.text:00416184 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00416187 3b45f0 CMP EAX,dword ptr [EBP + local_14+0x4]
.text:0041618a 7508 JNZ LAB_00416194
.text:0041618c 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:0041618f 3b45f4 CMP EAX,dword ptr [EBP + local_10+0x4]
.text:00416192 7402 JZ LAB_00416196
LAB_00416194: ;XREF[1,0]: 0041618a
.text:00416194 32db XOR BL,BL
LAB_00416196: ;XREF[1,0]: 00416192
.text:00416196 8ac3 MOV AL,BL
.text:00416198 eb02 JMP LAB_0041619c
LAB_0041619a: ;XREF[4,0]: 0041614a,0041615c,00416173,00416182
.text:0041619a 32c0 XOR AL,AL
LAB_0041619c: ;XREF[1,0]: 00416198
.text:0041619c 5e POP ESI
.text:0041619d 5b POP EBX
.text:0041619e c9 LEAVE
.text:0041619f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004161a0(byte param_1, FILE * param_2, __acrt_ptd * * param_3)
;param_1 byte 4
;param_2 FILE * 8
;param_3 __acrt_ptd * * c
;XREF[1,0]: 0041002c
.text:004161a0 8bff MOV EDI,EDI
.text:004161a2 55 PUSH EBP
.text:004161a3 8bec MOV EBP,ESP
.text:004161a5 5d POP EBP
.text:004161a6 e9a8fdffff JMP FUN_00415f53 ;uint FUN_00415f53(byte param_1, FILE...
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;byte FUN_004161ab(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 004161b0
;XREF[3,0]: 0041006c,00413f06,00417021
.text:004161ab 8bff MOV EDI,EDI
.text:004161ad 55 PUSH EBP
.text:004161ae 8bec MOV EBP,ESP
.text:004161b0 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:004161b3 83f9fe CMP ECX,-0x2
.text:004161b6 750d JNZ LAB_004161c5
.text:004161b8 e84781ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004161bd c70009000000 MOV dword ptr [EAX],0x9
.text:004161c3 eb38 JMP LAB_004161fd
LAB_004161c5: ;XREF[1,0]: 004161b6
.text:004161c5 85c9 TEST ECX,ECX
.text:004161c7 7824 JS LAB_004161ed
.text:004161c9 3b0dc8424200 CMP ECX,dword ptr [.data:DAT_004242c8] ;= ??
.text:004161cf 731c JNC LAB_004161ed
.text:004161d1 8bc1 MOV EAX,ECX
.text:004161d3 83e13f AND ECX,0x3f
.text:004161d6 c1e806 SHR EAX,0x6
.text:004161d9 6bc938 IMUL ECX,ECX,0x38
.text:004161dc 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:004161e3 0fb6440828 MOVZX EAX,byte ptr [EAX + ECX*0x1 + 0x28]
.text:004161e8 83e040 AND EAX,0x40
.text:004161eb 5d POP EBP
.text:004161ec c3 RET
LAB_004161ed: ;XREF[2,0]: 004161c7,004161cf
.text:004161ed e81281ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004161f2 c70009000000 MOV dword ptr [EAX],0x9
.text:004161f8 e82680ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_004161fd: ;XREF[1,0]: 004161c3
.text:004161fd 33c0 XOR EAX,EAX
.text:004161ff 5d POP EBP
.text:00416200 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_stdio_allocate_buffer_nolock *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_stdio_allocate_buffer_nolock(undefined4 * param_1)
;param_1 undefined4 * 4 ;XREF[1,0]: 0041620d
;XREF[3,0]: 00410a0c,00410ae0,00416015
.text:00416201 8bff MOV EDI,EDI
.text:00416203 55 PUSH EBP
.text:00416204 8bec MOV EBP,ESP
.text:00416206 ff05203d4200 INC dword ptr [.data:DAT_00423d20] ;= ??
.text:0041620c 56 PUSH ESI
.text:0041620d 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00416210 57 PUSH EDI
.text:00416211 6a01 PUSH 0x1
.text:00416213 bf00100000 MOV EDI,0x1000
.text:00416218 57 PUSH EDI
.text:00416219 e8f980ffff CALL __calloc_base ;LPVOID __calloc_base(uint param_1, u...
.text:0041621e 6a00 PUSH 0x0
.text:00416220 894604 MOV dword ptr [ESI + 0x4],EAX
.text:00416223 e84c81ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00416228 83c40c ADD ESP,0xc
.text:0041622b 8d460c LEA EAX,[ESI + 0xc]
.text:0041622e 837e0400 CMP dword ptr [ESI + 0x4],0x0
.text:00416232 7408 JZ LAB_0041623c
.text:00416234 6a40 PUSH 0x40
.text:00416236 59 POP ECX
.text:00416237 f00908 OR.LOCK dword ptr [EAX],ECX
.text:0041623a eb11 JMP LAB_0041624d
LAB_0041623c: ;XREF[1,0]: 00416232
.text:0041623c b900040000 MOV ECX,0x400
.text:00416241 f00908 OR.LOCK dword ptr [EAX],ECX
.text:00416244 8d4614 LEA EAX,[ESI + 0x14]
.text:00416247 6a02 PUSH 0x2
.text:00416249 894604 MOV dword ptr [ESI + 0x4],EAX
.text:0041624c 5f POP EDI
LAB_0041624d: ;XREF[1,0]: 0041623a
.text:0041624d 897e18 MOV dword ptr [ESI + 0x18],EDI
.text:00416250 8b4604 MOV EAX,dword ptr [ESI + 0x4]
.text:00416253 83660800 AND dword ptr [ESI + 0x8],0x0
.text:00416257 5f POP EDI
.text:00416258 8906 MOV dword ptr [ESI],EAX
.text:0041625a 5e POP ESI
.text:0041625b 5d POP EBP
.text:0041625c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0041625d(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 0041626c
;XREF[1,0]: 0041658e
.text:0041625d 8bff MOV EDI,EDI
.text:0041625f 55 PUSH EBP
.text:00416260 8bec MOV EBP,ESP
.text:00416262 53 PUSH EBX
.text:00416263 56 PUSH ESI
.text:00416264 ba40800000 MOV EDX,0x8040
.text:00416269 33f6 XOR ESI,ESI
.text:0041626b 57 PUSH EDI
.text:0041626c 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:0041626f 8bc7 MOV EAX,EDI
.text:00416271 23c2 AND EAX,EDX
.text:00416273 8d4ac0 LEA ECX,[EDX + -0x40]
.text:00416276 663bc1 CMP AX,CX
.text:00416279 7507 JNZ LAB_00416282
.text:0041627b bb000c0000 MOV EBX,0xc00
.text:00416280 eb19 JMP LAB_0041629b
LAB_00416282: ;XREF[1,0]: 00416279
.text:00416282 6683f840 CMP AX,0x40
.text:00416286 7507 JNZ LAB_0041628f
.text:00416288 bb00080000 MOV EBX,0x800
.text:0041628d eb0c JMP LAB_0041629b
LAB_0041628f: ;XREF[1,0]: 00416286
.text:0041628f bb00040000 MOV EBX,0x400
.text:00416294 663bc2 CMP AX,DX
.text:00416297 7402 JZ LAB_0041629b
.text:00416299 8bde MOV EBX,ESI
LAB_0041629b: ;XREF[3,0]: 00416280,0041628d,00416297
.text:0041629b 8bc7 MOV EAX,EDI
.text:0041629d b900600000 MOV ECX,0x6000
.text:004162a2 23c1 AND EAX,ECX
.text:004162a4 7425 JZ LAB_004162cb
.text:004162a6 3d00200000 CMP EAX,0x2000
.text:004162ab 7419 JZ LAB_004162c6
.text:004162ad 3d00400000 CMP EAX,0x4000
.text:004162b2 740b JZ LAB_004162bf
.text:004162b4 3bc1 CMP EAX,ECX
.text:004162b6 7513 JNZ LAB_004162cb
.text:004162b8 be00030000 MOV ESI,0x300
.text:004162bd eb0c JMP LAB_004162cb
LAB_004162bf: ;XREF[1,0]: 004162b2
.text:004162bf be00020000 MOV ESI,0x200
.text:004162c4 eb05 JMP LAB_004162cb
LAB_004162c6: ;XREF[1,0]: 004162ab
.text:004162c6 be00010000 MOV ESI,0x100
LAB_004162cb: ;XREF[4,0]: 004162a4,004162b6,004162bd,004162c4
.text:004162cb 8bd7 MOV EDX,EDI
.text:004162cd b900040000 MOV ECX,0x400
.text:004162d2 c1ea02 SHR EDX,0x2
.text:004162d5 8bc7 MOV EAX,EDI
.text:004162d7 2500080000 AND EAX,0x800
.text:004162dc 23d1 AND EDX,ECX
.text:004162de 0bd0 OR EDX,EAX
.text:004162e0 8bc7 MOV EAX,EDI
.text:004162e2 23c1 AND EAX,ECX
.text:004162e4 c1ea02 SHR EDX,0x2
.text:004162e7 0bc2 OR EAX,EDX
.text:004162e9 8bcf MOV ECX,EDI
.text:004162eb c1e802 SHR EAX,0x2
.text:004162ee 81e100020000 AND ECX,0x200
.text:004162f4 0bc1 OR EAX,ECX
.text:004162f6 81e780010000 AND EDI,0x180
.text:004162fc c1e803 SHR EAX,0x3
.text:004162ff 0bc7 OR EAX,EDI
.text:00416301 c1e803 SHR EAX,0x3
.text:00416304 0bc3 OR EAX,EBX
.text:00416306 5f POP EDI
.text:00416307 0bc6 OR EAX,ESI
.text:00416309 5e POP ESI
.text:0041630a 5b POP EBX
.text:0041630b 5d POP EBP
.text:0041630c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0041630d(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 00416316
;local_8 undefined4 -8 ;XREF[4,0]: 00416323,00416341,00416346,004163b0
;XREF[1,0]: 0041656b
.text:0041630d 8bff MOV EDI,EDI
.text:0041630f 55 PUSH EBP
.text:00416310 8bec MOV EBP,ESP
.text:00416312 51 PUSH ECX
.text:00416313 53 PUSH EBX
.text:00416314 56 PUSH ESI
.text:00416315 57 PUSH EDI
.text:00416316 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00416319 ba00100000 MOV EDX,0x1000
.text:0041631e 0fb7c7 MOVZX EAX,DI
.text:00416321 8bd8 MOV EBX,EAX
.text:00416323 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:00416326 23da AND EBX,EDX
.text:00416328 8bc8 MOV ECX,EAX
.text:0041632a c1e302 SHL EBX,0x2
.text:0041632d ba00020000 MOV EDX,0x200
.text:00416332 6a00 PUSH 0x0
.text:00416334 5e POP ESI
.text:00416335 81e100030000 AND ECX,0x300
.text:0041633b 7409 JZ LAB_00416346
.text:0041633d 3bca CMP ECX,EDX
.text:0041633f 740c JZ LAB_0041634d
.text:00416341 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
.text:00416344 eb07 JMP LAB_0041634d
LAB_00416346: ;XREF[1,0]: 0041633b
.text:00416346 c745fc002... MOV dword ptr [EBP + local_8+0x4],0x2000
LAB_0041634d: ;XREF[2,0]: 0041633f,00416344
.text:0041634d b9000c0000 MOV ECX,0xc00
.text:00416352 23c1 AND EAX,ECX
.text:00416354 7422 JZ LAB_00416378
.text:00416356 3d00040000 CMP EAX,0x400
.text:0041635b 7416 JZ LAB_00416373
.text:0041635d 3d00080000 CMP EAX,0x800
.text:00416362 740b JZ LAB_0041636f
.text:00416364 3bc1 CMP EAX,ECX
.text:00416366 7510 JNZ LAB_00416378
.text:00416368 be00030000 MOV ESI,0x300
.text:0041636d eb09 JMP LAB_00416378
LAB_0041636f: ;XREF[1,0]: 00416362
.text:0041636f 8bf2 MOV ESI,EDX
.text:00416371 eb05 JMP LAB_00416378
LAB_00416373: ;XREF[1,0]: 0041635b
.text:00416373 be00010000 MOV ESI,0x100
LAB_00416378: ;XREF[4,0]: 00416354,00416366,0041636d,00416371
.text:00416378 8bd7 MOV EDX,EDI
.text:0041637a 8bc7 MOV EAX,EDI
.text:0041637c 83e010 AND EAX,0x10
.text:0041637f c1ea02 SHR EDX,0x2
.text:00416382 83e208 AND EDX,0x8
.text:00416385 8bcf MOV ECX,EDI
.text:00416387 0bd0 OR EDX,EAX
.text:00416389 83e102 AND ECX,0x2
.text:0041638c 8bc7 MOV EAX,EDI
.text:0041638e c1ea02 SHR EDX,0x2
.text:00416391 83e008 AND EAX,0x8
.text:00416394 c1e103 SHL ECX,0x3
.text:00416397 0bd0 OR EDX,EAX
.text:00416399 8bc7 MOV EAX,EDI
.text:0041639b 83e004 AND EAX,0x4
.text:0041639e d1ea SHR EDX,0x1
.text:004163a0 0bc1 OR EAX,ECX
.text:004163a2 83e701 AND EDI,0x1
.text:004163a5 03c0 ADD EAX,EAX
.text:004163a7 c1e704 SHL EDI,0x4
.text:004163aa 0bc2 OR EAX,EDX
.text:004163ac 0bc7 OR EAX,EDI
.text:004163ae 0bc3 OR EAX,EBX
.text:004163b0 0b45fc OR EAX,dword ptr [EBP + local_8+0x4]
.text:004163b3 5f POP EDI
.text:004163b4 0bc6 OR EAX,ESI
.text:004163b6 5e POP ESI
.text:004163b7 5b POP EBX
.text:004163b8 c9 LEAVE
.text:004163b9 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004163ba(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 004163bf
;XREF[1,0]: 004166b3
.text:004163ba 8bff MOV EDI,EDI
.text:004163bc 55 PUSH EBP
.text:004163bd 8bec MOV EBP,ESP
.text:004163bf 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:004163c2 8bc1 MOV EAX,ECX
.text:004163c4 53 PUSH EBX
.text:004163c5 56 PUSH ESI
.text:004163c6 8bf1 MOV ESI,ECX
.text:004163c8 c1e802 SHR EAX,0x2
.text:004163cb 81e6ffff3fc0 AND ESI,0xc03fffff
.text:004163d1 0bf0 OR ESI,EAX
.text:004163d3 b8000c0000 MOV EAX,0xc00
.text:004163d8 57 PUSH EDI
.text:004163d9 23c8 AND ECX,EAX
.text:004163db c1ee16 SHR ESI,0x16
.text:004163de 33ff XOR EDI,EDI
.text:004163e0 81f900040000 CMP ECX,0x400
.text:004163e6 741c JZ LAB_00416404
.text:004163e8 81f900080000 CMP ECX,0x800
.text:004163ee 740f JZ LAB_004163ff
.text:004163f0 3bc8 CMP ECX,EAX
.text:004163f2 7404 JZ LAB_004163f8
.text:004163f4 8bdf MOV EBX,EDI
.text:004163f6 eb11 JMP LAB_00416409
LAB_004163f8: ;XREF[1,0]: 004163f2
.text:004163f8 bb00800000 MOV EBX,0x8000
.text:004163fd eb0a JMP LAB_00416409
LAB_004163ff: ;XREF[1,0]: 004163ee
.text:004163ff 6a40 PUSH 0x40
.text:00416401 5b POP EBX
.text:00416402 eb05 JMP LAB_00416409
LAB_00416404: ;XREF[1,0]: 004163e6
.text:00416404 bb40800000 MOV EBX,0x8040
LAB_00416409: ;XREF[3,0]: 004163f6,004163fd,00416402
.text:00416409 8bc6 MOV EAX,ESI
.text:0041640b b900030000 MOV ECX,0x300
.text:00416410 23c1 AND EAX,ECX
.text:00416412 7425 JZ LAB_00416439
.text:00416414 3d00010000 CMP EAX,0x100
.text:00416419 7419 JZ LAB_00416434
.text:0041641b 3d00020000 CMP EAX,0x200
.text:00416420 740b JZ LAB_0041642d
.text:00416422 3bc1 CMP EAX,ECX
.text:00416424 7513 JNZ LAB_00416439
.text:00416426 bf00600000 MOV EDI,0x6000
.text:0041642b eb0c JMP LAB_00416439
LAB_0041642d: ;XREF[1,0]: 00416420
.text:0041642d bf00400000 MOV EDI,0x4000
.text:00416432 eb05 JMP LAB_00416439
LAB_00416434: ;XREF[1,0]: 00416419
.text:00416434 bf00200000 MOV EDI,0x2000
LAB_00416439: ;XREF[4,0]: 00416412,00416424,0041642b,00416432
.text:00416439 8bd6 MOV EDX,ESI
.text:0041643b 8bc6 MOV EAX,ESI
.text:0041643d 83e002 AND EAX,0x2
.text:00416440 83e201 AND EDX,0x1
.text:00416443 c1e202 SHL EDX,0x2
.text:00416446 8bce MOV ECX,ESI
.text:00416448 0bd0 OR EDX,EAX
.text:0041644a 83e108 AND ECX,0x8
.text:0041644d 8bc6 MOV EAX,ESI
.text:0041644f c1e202 SHL EDX,0x2
.text:00416452 83e004 AND EAX,0x4
.text:00416455 83e630 AND ESI,0x30
.text:00416458 0bc2 OR EAX,EDX
.text:0041645a c1e002 SHL EAX,0x2
.text:0041645d 0bc1 OR EAX,ECX
.text:0041645f c1e003 SHL EAX,0x3
.text:00416462 0bc6 OR EAX,ESI
.text:00416464 c1e003 SHL EAX,0x3
.text:00416467 0bc3 OR EAX,EBX
.text:00416469 0bc7 OR EAX,EDI
.text:0041646b 5f POP EDI
.text:0041646c 5e POP ESI
.text:0041646d 5b POP EBX
.text:0041646e 5d POP EBP
.text:0041646f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00416470(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 00416476
;local_8 undefined4 -8 ;XREF[2,0]: 004164a4,0041651a
;XREF[1,0]: 0041667e
.text:00416470 8bff MOV EDI,EDI
.text:00416472 55 PUSH EBP
.text:00416473 8bec MOV EBP,ESP
.text:00416475 51 PUSH ECX
.text:00416476 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00416479 ba00030000 MOV EDX,0x300
.text:0041647e 53 PUSH EBX
.text:0041647f 56 PUSH ESI
.text:00416480 8bf1 MOV ESI,ECX
.text:00416482 8bc1 MOV EAX,ECX
.text:00416484 c1ee02 SHR ESI,0x2
.text:00416487 250000c000 AND EAX,0xc00000
.text:0041648c 81e600c00f00 AND ESI,0xfc000
.text:00416492 bb00100000 MOV EBX,0x1000
.text:00416497 0bf0 OR ESI,EAX
.text:00416499 8bc1 MOV EAX,ECX
.text:0041649b 57 PUSH EDI
.text:0041649c c1e802 SHR EAX,0x2
.text:0041649f 23c3 AND EAX,EBX
.text:004164a1 c1ee0e SHR ESI,0xe
.text:004164a4 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004164a7 6a00 PUSH 0x0
.text:004164a9 5f POP EDI
.text:004164aa 81e100300000 AND ECX,0x3000
.text:004164b0 740f JZ LAB_004164c1
.text:004164b2 3bcb CMP ECX,EBX
.text:004164b4 7404 JZ LAB_004164ba
.text:004164b6 8bdf MOV EBX,EDI
.text:004164b8 eb09 JMP LAB_004164c3
LAB_004164ba: ;XREF[1,0]: 004164b4
.text:004164ba bb00020000 MOV EBX,0x200
.text:004164bf eb02 JMP LAB_004164c3
LAB_004164c1: ;XREF[1,0]: 004164b0
.text:004164c1 8bda MOV EBX,EDX
LAB_004164c3: ;XREF[2,0]: 004164b8,004164bf
.text:004164c3 8bc6 MOV EAX,ESI
.text:004164c5 23c2 AND EAX,EDX
.text:004164c7 7425 JZ LAB_004164ee
.text:004164c9 3d00010000 CMP EAX,0x100
.text:004164ce 7419 JZ LAB_004164e9
.text:004164d0 3d00020000 CMP EAX,0x200
.text:004164d5 740b JZ LAB_004164e2
.text:004164d7 3bc2 CMP EAX,EDX
.text:004164d9 7513 JNZ LAB_004164ee
.text:004164db bf000c0000 MOV EDI,0xc00
.text:004164e0 eb0c JMP LAB_004164ee
LAB_004164e2: ;XREF[1,0]: 004164d5
.text:004164e2 bf00080000 MOV EDI,0x800
.text:004164e7 eb05 JMP LAB_004164ee
LAB_004164e9: ;XREF[1,0]: 004164ce
.text:004164e9 bf00040000 MOV EDI,0x400
LAB_004164ee: ;XREF[4,0]: 004164c7,004164d9,004164e0,004164e7
.text:004164ee 8bd6 MOV EDX,ESI
.text:004164f0 8bc6 MOV EAX,ESI
.text:004164f2 83e002 AND EAX,0x2
.text:004164f5 83e201 AND EDX,0x1
.text:004164f8 c1e202 SHL EDX,0x2
.text:004164fb 8bce MOV ECX,ESI
.text:004164fd 0bd0 OR EDX,EAX
.text:004164ff c1e904 SHR ECX,0x4
.text:00416502 8bc6 MOV EAX,ESI
.text:00416504 c1e202 SHL EDX,0x2
.text:00416507 83e004 AND EAX,0x4
.text:0041650a d1ee SHR ESI,0x1
.text:0041650c 0bc2 OR EAX,EDX
.text:0041650e 83e103 AND ECX,0x3
.text:00416511 03c0 ADD EAX,EAX
.text:00416513 83e604 AND ESI,0x4
.text:00416516 0bc1 OR EAX,ECX
.text:00416518 0bc6 OR EAX,ESI
.text:0041651a 0b45fc OR EAX,dword ptr [EBP + local_8+0x4]
.text:0041651d 0bc3 OR EAX,EBX
.text:0041651f 0bc7 OR EAX,EDI
.text:00416521 5f POP EDI
.text:00416522 5e POP ESI
.text:00416523 5b POP EBX
.text:00416524 c9 LEAVE
.text:00416525 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_fenv_get_common_round_control *
;* *
;* Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release *
;************************************************************************************************
;uint ___acrt_fenv_get_common_round_control(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 0041652b
;XREF[1,0]: 00410a5a
.text:00416526 8bff MOV EDI,EDI
.text:00416528 55 PUSH EBP
.text:00416529 8bec MOV EBP,ESP
.text:0041652b 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0041652e ba00030000 MOV EDX,0x300
.text:00416533 8bc1 MOV EAX,ECX
.text:00416535 c1e916 SHR ECX,0x16
.text:00416538 c1e80e SHR EAX,0xe
.text:0041653b 23ca AND ECX,EDX
.text:0041653d 23c2 AND EAX,EDX
.text:0041653f 3bc1 CMP EAX,ECX
.text:00416541 7403 JZ LAB_00416546
.text:00416543 83c8ff OR EAX,0xffffffff
LAB_00416546: ;XREF[1,0]: 00416541
.text:00416546 5d POP EBP
.text:00416547 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_fenv_get_control *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;uint ___acrt_fenv_get_control(void)
;local_8 undefined4 -8 ;XREF[2,0]: 00416580,00416584
;local_24 undefined4 -24 ;XREF[4,0]: 00416557,0041655c,0041655f,00416562
;XREF[2,0]: 00410a54,0041826d
.text:00416548 8bff MOV EDI,EDI
.text:0041654a 55 PUSH EBP
.text:0041654b 8bec MOV EBP,ESP
.text:0041654d 83ec20 SUB ESP,0x20
.text:00416550 56 PUSH ESI
.text:00416551 57 PUSH EDI
.text:00416552 6a07 PUSH 0x7
.text:00416554 59 POP ECX
.text:00416555 33c0 XOR EAX,EAX
.text:00416557 8d7de0 LEA EDI=>local_24,[EBP + -0x20]
.text:0041655a f3ab STOSD.REP ES:EDI
.text:0041655c d975e0 FNSTENV [EBP + local_24+0x4]
.text:0041655f d965e0 FLDENV [EBP + local_24+0x4]
.text:00416562 8b45e0 MOV EAX,dword ptr [EBP + local_24+0x4]
.text:00416565 253f1f0000 AND EAX,0x1f3f
.text:0041656a 50 PUSH EAX
.text:0041656b e89dfdffff CALL FUN_0041630d ;uint FUN_0041630d(uint param_1)
.text:00416570 833d3c394... CMP dword ptr [.data:DAT_0042393c],0x1
.text:00416577 8bf0 MOV ESI,EAX
.text:00416579 59 POP ECX
.text:0041657a 7d04 JGE LAB_00416580
.text:0041657c 33c9 XOR ECX,ECX
.text:0041657e eb0d JMP LAB_0041658d
LAB_00416580: ;XREF[1,0]: 0041657a
.text:00416580 0fae5dfc STMXCSR dword ptr [EBP + local_8+0x4]
.text:00416584 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00416587 81e1c0ff0000 AND ECX,0xffc0
LAB_0041658d: ;XREF[1,0]: 0041657e
.text:0041658d 51 PUSH ECX
.text:0041658e e8cafcffff CALL FUN_0041625d ;uint FUN_0041625d(uint param_1)
.text:00416593 59 POP ECX
.text:00416594 8bd0 MOV EDX,EAX
.text:00416596 8bc8 MOV ECX,EAX
.text:00416598 83e23f AND EDX,0x3f
.text:0041659b 81e100ffffff AND ECX,0xffffff00
.text:004165a1 c1e202 SHL EDX,0x2
.text:004165a4 0bd1 OR EDX,ECX
.text:004165a6 8bce MOV ECX,ESI
.text:004165a8 c1e206 SHL EDX,0x6
.text:004165ab 83e13f AND ECX,0x3f
.text:004165ae 0bd1 OR EDX,ECX
.text:004165b0 8bce MOV ECX,ESI
.text:004165b2 c1e202 SHL EDX,0x2
.text:004165b5 81e100030000 AND ECX,0x300
.text:004165bb 0bd1 OR EDX,ECX
.text:004165bd c1e20e SHL EDX,0xe
.text:004165c0 0bc2 OR EAX,EDX
.text:004165c2 5f POP EDI
.text:004165c3 0bc6 OR EAX,ESI
.text:004165c5 5e POP ESI
.text:004165c6 c9 LEAVE
.text:004165c7 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004165c8(void)
;local_8 undefined4 -8 ;XREF[5,0]: 004165d2,004165d6,004165d9,00416620,00416624
;XREF[1,0]: 00418277
.text:004165c8 8bff MOV EDI,EDI
.text:004165ca 55 PUSH EBP
.text:004165cb 8bec MOV EBP,ESP
.text:004165cd 51 PUSH ECX
.text:004165ce 56 PUSH ESI
.text:004165cf 33c0 XOR EAX,EAX
.text:004165d1 57 PUSH EDI
.text:004165d2 668945fc MOV word ptr [EBP + local_8+0x4],AX
.text:004165d6 dd7dfc FNSTSW word ptr [EBP + local_8+0x4]
.text:004165d9 0fb755fc MOVZX EDX,word ptr [EBP + local_8+0x4]
.text:004165dd 8bf2 MOV ESI,EDX
.text:004165df 8bc2 MOV EAX,EDX
.text:004165e1 c1ee02 SHR ESI,0x2
.text:004165e4 83e010 AND EAX,0x10
.text:004165e7 83e608 AND ESI,0x8
.text:004165ea 8bca MOV ECX,EDX
.text:004165ec 0bf0 OR ESI,EAX
.text:004165ee 83e102 AND ECX,0x2
.text:004165f1 c1ee02 SHR ESI,0x2
.text:004165f4 8bc2 MOV EAX,EDX
.text:004165f6 83e008 AND EAX,0x8
.text:004165f9 c1e103 SHL ECX,0x3
.text:004165fc 0bf0 OR ESI,EAX
.text:004165fe 8bc2 MOV EAX,EDX
.text:00416600 83e004 AND EAX,0x4
.text:00416603 d1ee SHR ESI,0x1
.text:00416605 0bc8 OR ECX,EAX
.text:00416607 83e201 AND EDX,0x1
.text:0041660a 03c9 ADD ECX,ECX
.text:0041660c c1e204 SHL EDX,0x4
.text:0041660f 0bf1 OR ESI,ECX
.text:00416611 0bf2 OR ESI,EDX
.text:00416613 833d3c394... CMP dword ptr [.data:DAT_0042393c],0x1
.text:0041661a 7d04 JGE LAB_00416620
.text:0041661c 33ff XOR EDI,EDI
.text:0041661e eb0a JMP LAB_0041662a
LAB_00416620: ;XREF[1,0]: 0041661a
.text:00416620 0fae5dfc STMXCSR dword ptr [EBP + local_8+0x4]
.text:00416624 8b7dfc MOV EDI,dword ptr [EBP + local_8+0x4]
.text:00416627 83e73f AND EDI,0x3f
LAB_0041662a: ;XREF[1,0]: 0041661e
.text:0041662a 8bd7 MOV EDX,EDI
.text:0041662c 8bc7 MOV EAX,EDI
.text:0041662e 83e010 AND EAX,0x10
.text:00416631 c1ea02 SHR EDX,0x2
.text:00416634 83e208 AND EDX,0x8
.text:00416637 8bcf MOV ECX,EDI
.text:00416639 0bd0 OR EDX,EAX
.text:0041663b 83e102 AND ECX,0x2
.text:0041663e 8bc7 MOV EAX,EDI
.text:00416640 c1ea02 SHR EDX,0x2
.text:00416643 83e008 AND EAX,0x8
.text:00416646 c1e103 SHL ECX,0x3
.text:00416649 0bd0 OR EDX,EAX
.text:0041664b 8bc7 MOV EAX,EDI
.text:0041664d 83e004 AND EAX,0x4
.text:00416650 d1ea SHR EDX,0x1
.text:00416652 0bc8 OR ECX,EAX
.text:00416654 83e701 AND EDI,0x1
.text:00416657 03c9 ADD ECX,ECX
.text:00416659 c1e704 SHL EDI,0x4
.text:0041665c 0bd1 OR EDX,ECX
.text:0041665e 0bd7 OR EDX,EDI
.text:00416660 8bc2 MOV EAX,EDX
.text:00416662 c1e008 SHL EAX,0x8
.text:00416665 0bc6 OR EAX,ESI
.text:00416667 c1e010 SHL EAX,0x10
.text:0041666a 0bc2 OR EAX,EDX
.text:0041666c 5f POP EDI
.text:0041666d 0bc6 OR EAX,ESI
.text:0041666f 5e POP ESI
.text:00416670 c9 LEAVE
.text:00416671 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00416672(uint param_1)
;param_1 uint 4 ;XREF[2,0]: 0041667b,004166b0
;local_8 undefined4 -8 ;XREF[6,0]: 004166a7,004166cf,004166d2,004166d6,004166e4
; 004166e7
;local_24 undefined4 -24 ;XREF[5,0]: 00416689,00416691,00416694,004166aa,004166ad
;XREF[1,0]: 00418291
.text:00416672 8bff MOV EDI,EDI
.text:00416674 55 PUSH EBP
.text:00416675 8bec MOV EBP,ESP
.text:00416677 83ec20 SUB ESP,0x20
.text:0041667a 57 PUSH EDI
.text:0041667b ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0041667e e8edfdffff CALL FUN_00416470 ;uint FUN_00416470(uint param_1)
.text:00416683 59 POP ECX
.text:00416684 6a07 PUSH 0x7
.text:00416686 0fb7d0 MOVZX EDX,AX
.text:00416689 8d7de0 LEA EDI=>local_24,[EBP + -0x20]
.text:0041668c 59 POP ECX
.text:0041668d 33c0 XOR EAX,EAX
.text:0041668f f3ab STOSD.REP ES:EDI
.text:00416691 d975e0 FNSTENV [EBP + local_24+0x4]
.text:00416694 8b4de0 MOV ECX,dword ptr [EBP + local_24+0x4]
.text:00416697 81e23f1f0000 AND EDX,0x1f3f
.text:0041669d 81e1c0e0ffff AND ECX,0xffffe0c0
.text:004166a3 8bc2 MOV EAX,EDX
.text:004166a5 0bca OR ECX,EDX
.text:004166a7 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004166aa 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:004166ad d965e0 FLDENV [EBP + local_24+0x4]
.text:004166b0 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004166b3 e802fdffff CALL FUN_004163ba ;uint FUN_004163ba(uint param_1)
.text:004166b8 833d3c394... CMP dword ptr [.data:DAT_0042393c],0x1
.text:004166bf 59 POP ECX
.text:004166c0 0fb7d0 MOVZX EDX,AX
.text:004166c3 5f POP EDI
.text:004166c4 7c25 JL LAB_004166eb
.text:004166c6 81e2c0ff0000 AND EDX,0xffc0
.text:004166cc 0fb7c2 MOVZX EAX,DX
.text:004166cf 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004166d2 0fae5dfc STMXCSR dword ptr [EBP + local_8+0x4]
.text:004166d6 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:004166d9 81e13f00ffff AND ECX,0xffff003f
.text:004166df 0fb7c2 MOVZX EAX,DX
.text:004166e2 0bc8 OR ECX,EAX
.text:004166e4 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
.text:004166e7 0fae55fc LDMXCSR dword ptr [EBP + local_8+0x4]
LAB_004166eb: ;XREF[1,0]: 004166c4
.text:004166eb c9 LEAVE
.text:004166ec c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004166ed(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 004166f6
;local_8 undefined4 -8 ;XREF[4,0]: 004167d1,004167d5,004167e0,004167e3
;local_20 undefined4 -20 ;XREF[2,0]: 0041675f,0041676a
;local_24 undefined2 -24 ;XREF[3,0]: 0041670d,0041675c,0041676d
;XREF[1,0]: 00418299
.text:004166ed 8bff MOV EDI,EDI
.text:004166ef 55 PUSH EBP
.text:004166f0 8bec MOV EBP,ESP
.text:004166f2 83ec20 SUB ESP,0x20
.text:004166f5 56 PUSH ESI
.text:004166f6 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:004166f9 8bce MOV ECX,ESI
.text:004166fb c1e910 SHR ECX,0x10
.text:004166fe 83e13f AND ECX,0x3f
.text:00416701 8bd1 MOV EDX,ECX
.text:00416703 8bc1 MOV EAX,ECX
.text:00416705 83e201 AND EDX,0x1
.text:00416708 f7da NEG EDX
.text:0041670a 57 PUSH EDI
.text:0041670b 1bd2 SBB EDX,EDX
.text:0041670d 8d7de0 LEA EDI=>local_24,[EBP + -0x20]
.text:00416710 83e002 AND EAX,0x2
.text:00416713 83e220 AND EDX,0x20
.text:00416716 f7d8 NEG EAX
.text:00416718 6a00 PUSH 0x0
.text:0041671a 1bc0 SBB EAX,EAX
.text:0041671c 83e010 AND EAX,0x10
.text:0041671f 0bd0 OR EDX,EAX
.text:00416721 8bc1 MOV EAX,ECX
.text:00416723 83e004 AND EAX,0x4
.text:00416726 f7d8 NEG EAX
.text:00416728 1bc0 SBB EAX,EAX
.text:0041672a 83e008 AND EAX,0x8
.text:0041672d 0bd0 OR EDX,EAX
.text:0041672f 8bc1 MOV EAX,ECX
.text:00416731 83e008 AND EAX,0x8
.text:00416734 f7d8 NEG EAX
.text:00416736 1bc0 SBB EAX,EAX
.text:00416738 83e004 AND EAX,0x4
.text:0041673b 0bd0 OR EDX,EAX
.text:0041673d f7c110000000 TEST ECX,0x10
.text:00416743 58 POP EAX
.text:00416744 0f95c0 SETNZ AL
.text:00416747 83e120 AND ECX,0x20
.text:0041674a 0bd0 OR EDX,EAX
.text:0041674c f7d9 NEG ECX
.text:0041674e 6a07 PUSH 0x7
.text:00416750 1bc9 SBB ECX,ECX
.text:00416752 33c0 XOR EAX,EAX
.text:00416754 83e102 AND ECX,0x2
.text:00416757 0bd1 OR EDX,ECX
.text:00416759 59 POP ECX
.text:0041675a f3ab STOSD.REP ES:EDI
.text:0041675c d975e0 FNSTENV [EBP + local_24+0x4]
.text:0041675f 8b45e4 MOV EAX,dword ptr [EBP + local_20+0x4]
.text:00416762 83e23f AND EDX,0x3f
.text:00416765 83e0c0 AND EAX,0xffffffc0
.text:00416768 0bc2 OR EAX,EDX
.text:0041676a 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:0041676d d965e0 FLDENV [EBP + local_24+0x4]
.text:00416770 c1ee18 SHR ESI,0x18
.text:00416773 83e63f AND ESI,0x3f
.text:00416776 8bce MOV ECX,ESI
.text:00416778 8bc6 MOV EAX,ESI
.text:0041677a 83e101 AND ECX,0x1
.text:0041677d f7d9 NEG ECX
.text:0041677f 6a00 PUSH 0x0
.text:00416781 1bc9 SBB ECX,ECX
.text:00416783 83e002 AND EAX,0x2
.text:00416786 83e120 AND ECX,0x20
.text:00416789 f7d8 NEG EAX
.text:0041678b 1bc0 SBB EAX,EAX
.text:0041678d 83e010 AND EAX,0x10
.text:00416790 0bc8 OR ECX,EAX
.text:00416792 8bc6 MOV EAX,ESI
.text:00416794 83e004 AND EAX,0x4
.text:00416797 f7d8 NEG EAX
.text:00416799 1bc0 SBB EAX,EAX
.text:0041679b 83e008 AND EAX,0x8
.text:0041679e 0bc8 OR ECX,EAX
.text:004167a0 8bc6 MOV EAX,ESI
.text:004167a2 83e008 AND EAX,0x8
.text:004167a5 f7d8 NEG EAX
.text:004167a7 1bc0 SBB EAX,EAX
.text:004167a9 83e004 AND EAX,0x4
.text:004167ac 0bc8 OR ECX,EAX
.text:004167ae f7c610000000 TEST ESI,0x10
.text:004167b4 58 POP EAX
.text:004167b5 0f95c0 SETNZ AL
.text:004167b8 0bc8 OR ECX,EAX
.text:004167ba 83e620 AND ESI,0x20
.text:004167bd f7de NEG ESI
.text:004167bf 5f POP EDI
.text:004167c0 1bf6 SBB ESI,ESI
.text:004167c2 83e602 AND ESI,0x2
.text:004167c5 0bce OR ECX,ESI
.text:004167c7 833d3c394... CMP dword ptr [.data:DAT_0042393c],0x1
.text:004167ce 5e POP ESI
.text:004167cf 7c16 JL LAB_004167e7
.text:004167d1 0fae5dfc STMXCSR dword ptr [EBP + local_8+0x4]
.text:004167d5 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:004167d8 83e13f AND ECX,0x3f
.text:004167db 83e0c0 AND EAX,0xffffffc0
.text:004167de 0bc1 OR EAX,ECX
.text:004167e0 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004167e3 0fae55fc LDMXCSR dword ptr [EBP + local_8+0x4]
LAB_004167e7: ;XREF[1,0]: 004167cf
.text:004167e7 c9 LEAVE
.text:004167e8 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_004167e9(uint param_1, char * param_2, int param_3)
;param_1 uint 4 ;XREF[2,0]: 004167f1,004168fa
;param_2 char * 8 ;XREF[1,0]: 004167f7
;param_3 int c ;XREF[1,0]: 00416816
;local_5 undefined1 -5 ;XREF[4,0]: 00416896,004168be,004168e5,00416905
;local_c undefined4 -c ;XREF[4,0]: 00416837,00416853,00416869,0041687a
;local_10 undefined4 -10 ;XREF[3,0]: 0041680c,004168ad,00416910
;local_14 undefined4 -14 ;XREF[4,0]: 00416832,0041687d,00416890,004168a7
;local_18 undefined4 -18 ;XREF[4,0]: 00416813,0041689a,004168c4,004168de
;XREF[1,0]: 00416b02
.text:004167e9 8bff MOV EDI,EDI
.text:004167eb 55 PUSH EBP
.text:004167ec 8bec MOV EBP,ESP
.text:004167ee 83ec18 SUB ESP,0x18
.text:004167f1 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004167f4 8bc8 MOV ECX,EAX
.text:004167f6 53 PUSH EBX
.text:004167f7 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:004167fa 83e03f AND EAX,0x3f
.text:004167fd c1f906 SAR ECX,0x6
.text:00416800 56 PUSH ESI
.text:00416801 57 PUSH EDI
.text:00416802 6bf838 IMUL EDI,EAX,0x38
.text:00416805 8b048dc84... MOV EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:0041680c 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:0041680f 8b4c0718 MOV ECX,dword ptr [EDI + EAX*0x1 + 0x18]
.text:00416813 894dec MOV dword ptr [EBP + local_18+0x4],ECX
.text:00416816 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00416819 85c9 TEST ECX,ECX
.text:0041681b 740c JZ LAB_00416829
.text:0041681d 803b0a CMP byte ptr [EBX],0xa
.text:00416820 7507 JNZ LAB_00416829
.text:00416822 804c072804 OR byte ptr [EDI + EAX*0x1 + 0x28],0x4
.text:00416827 eb05 JMP LAB_0041682e
LAB_00416829: ;XREF[2,0]: 0041681b,00416820
.text:00416829 80640728fb AND byte ptr [EDI + EAX*0x1 + 0x28],0xfb
LAB_0041682e: ;XREF[1,0]: 00416827
.text:0041682e 03cb ADD ECX,EBX
.text:00416830 8bc3 MOV EAX,EBX
.text:00416832 894df0 MOV dword ptr [EBP + local_14+0x4],ECX
.text:00416835 8bf3 MOV ESI,EBX
.text:00416837 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0041683a 3bd9 CMP EBX,ECX
.text:0041683c 0f83eb000000 JNC LAB_0041692d
LAB_00416842: ;XREF[1,0]: 00416887
.text:00416842 8a10 MOV DL,byte ptr [EAX]
.text:00416844 80fa1a CMP DL,0x1a
.text:00416847 0f84c3000000 JZ LAB_00416910
.text:0041684d 40 INC EAX
.text:0041684e 80fa0d CMP DL,0xd
.text:00416851 7407 JZ LAB_0041685a
.text:00416853 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00416856 8816 MOV byte ptr [ESI],DL
.text:00416858 eb26 JMP LAB_00416880
LAB_0041685a: ;XREF[1,0]: 00416851
.text:0041685a 3bc1 CMP EAX,ECX
.text:0041685c 7330 JNC LAB_0041688e
.text:0041685e 8a08 MOV CL,byte ptr [EAX]
.text:00416860 33c0 XOR EAX,EAX
.text:00416862 80f90a CMP CL,0xa
.text:00416865 0f94c0 SETZ AL
.text:00416868 40 INC EAX
.text:00416869 0145f8 ADD dword ptr [EBP + local_c+0x4],EAX
.text:0041686c 80f90a CMP CL,0xa
.text:0041686f 0f94c0 SETZ AL
.text:00416872 fec8 DEC AL
.text:00416874 2403 AND AL,0x3
.text:00416876 040a ADD AL,0xa
.text:00416878 8806 MOV byte ptr [ESI],AL
.text:0041687a 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:0041687d 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
LAB_00416880: ;XREF[1,0]: 00416858
.text:00416880 33d2 XOR EDX,EDX
.text:00416882 42 INC EDX
.text:00416883 03f2 ADD ESI,EDX
.text:00416885 3bc1 CMP EAX,ECX
.text:00416887 72b9 JC LAB_00416842
.text:00416889 e99f000000 JMP LAB_0041692d
LAB_0041688e: ;XREF[1,0]: 0041685c
.text:0041688e 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for ReadFile
.text:00416890 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:00416893 50 PUSH EAX ;LPDWORD lpNumberOfBytesRead for Read...
.text:00416894 6a01 PUSH 0x1 ;DWORD nNumberOfBytesToRead for ReadFile
.text:00416896 8d45ff LEA EAX=>local_5,[EBP + -0x1]
.text:00416899 50 PUSH EAX ;LPVOID lpBuffer for ReadFile
.text:0041689a ff75ec PUSH dword ptr [EBP + local_18+0x4] ;HANDLE hFile for ReadFile
.text:0041689d ff15f4b04100 CALL dword ptr [->KERNEL32.DLL::ReadFile] ;= 00022760
.text:004168a3 85c0 TEST EAX,EAX
.text:004168a5 7464 JZ LAB_0041690b
.text:004168a7 837df000 CMP dword ptr [EBP + local_14+0x4],0x0
.text:004168ab 745e JZ LAB_0041690b
.text:004168ad 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:004168b0 8b048dc84... MOV EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:004168b7 f644382848 TEST byte ptr [EAX + EDI*0x1 + 0x28],0x48
.text:004168bc 7427 JZ LAB_004168e5
.text:004168be 8a55ff MOV DL,byte ptr [EBP + local_5+0x4]
.text:004168c1 8d4601 LEA EAX,[ESI + 0x1]
.text:004168c4 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:004168c7 80fa0a CMP DL,0xa
.text:004168ca 7504 JNZ LAB_004168d0
.text:004168cc 8816 MOV byte ptr [ESI],DL
.text:004168ce eb11 JMP LAB_004168e1
LAB_004168d0: ;XREF[1,0]: 004168ca
.text:004168d0 c6060d MOV byte ptr [ESI],0xd
.text:004168d3 8b048dc84... MOV EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:004168da 8854382a MOV byte ptr [EAX + EDI*0x1 + 0x2a],DL
.text:004168de 8b45ec MOV EAX,dword ptr [EBP + local_18+0x4]
LAB_004168e1: ;XREF[1,0]: 004168ce
.text:004168e1 8bf0 MOV ESI,EAX
.text:004168e3 eb48 JMP LAB_0041692d
LAB_004168e5: ;XREF[1,0]: 004168bc
.text:004168e5 807dff0a CMP byte ptr [EBP + local_5+0x4],0xa
.text:004168e9 7509 JNZ LAB_004168f4
.text:004168eb 3bf3 CMP ESI,EBX
.text:004168ed 7505 JNZ LAB_004168f4
.text:004168ef c6060a MOV byte ptr [ESI],0xa
.text:004168f2 eb38 JMP LAB_0041692c
LAB_004168f4: ;XREF[2,0]: 004168e9,004168ed
.text:004168f4 6a01 PUSH 0x1
.text:004168f6 6aff PUSH -0x1
.text:004168f8 6aff PUSH -0x1
.text:004168fa ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004168fd e8d5180000 CALL FUN_004181d7 ;undefined8 FUN_004181d7(uint param_1...
.text:00416902 83c410 ADD ESP,0x10
.text:00416905 807dff0a CMP byte ptr [EBP + local_5+0x4],0xa
.text:00416909 7422 JZ LAB_0041692d
LAB_0041690b: ;XREF[2,0]: 004168a5,004168ab
.text:0041690b c6060d MOV byte ptr [ESI],0xd
.text:0041690e eb1c JMP LAB_0041692c
LAB_00416910: ;XREF[1,0]: 00416847
.text:00416910 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:00416913 8b0c8dc84... MOV ECX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:0041691a 8a443928 MOV AL,byte ptr [ECX + EDI*0x1 + 0x28]
.text:0041691e a840 TEST AL,0x40
.text:00416920 7508 JNZ LAB_0041692a
.text:00416922 0c02 OR AL,0x2
.text:00416924 88443928 MOV byte ptr [ECX + EDI*0x1 + 0x28],AL
.text:00416928 eb03 JMP LAB_0041692d
LAB_0041692a: ;XREF[1,0]: 00416920
.text:0041692a 8816 MOV byte ptr [ESI],DL
LAB_0041692c: ;XREF[2,0]: 004168f2,0041690e
.text:0041692c 46 INC ESI
LAB_0041692d: ;XREF[5,0]: 0041683c,00416889,004168e3,00416909
; 00416928
.text:0041692d 2bf3 SUB ESI,EBX
.text:0041692f 5f POP EDI
.text:00416930 8bc6 MOV EAX,ESI
.text:00416932 5e POP ESI
.text:00416933 5b POP EBX
.text:00416934 c9 LEAVE
.text:00416935 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00416936(uint param_1, ushort * param_2, int param_3)
;param_1 uint 4 ;XREF[2,0]: 0041693e,00416aab
;param_2 ushort * 8 ;XREF[1,0]: 00416944
;param_3 int c ;XREF[1,0]: 00416969
;local_8 undefined4 -8 ;XREF[8,2]: 0041698b,004169ba,004169df,004169f5,00416a0e
; 00416a46,00416a96,00416ab9,00416a4b,00416a69
;local_c undefined4 -c ;XREF[4,0]: 00416952,00416a2d,00416a76,00416ac4
;local_10 undefined4 -10 ;XREF[3,0]: 00416986,004169a5,004169e6
;local_14 undefined4 -14 ;XREF[2,0]: 00416996,004169b4
;local_18 undefined4 -18 ;XREF[1,0]: 004169a2
;local_1c undefined4 -1c ;XREF[4,0]: 0041695f,004169cb,00416a08,00416a23
;local_20 undefined4 -20 ;XREF[4,0]: 00416966,00416a12,00416a43,00416a90
;XREF[1,0]: 0041710b
.text:00416936 8bff MOV EDI,EDI
.text:00416938 55 PUSH EBP
.text:00416939 8bec MOV EBP,ESP
.text:0041693b 83ec1c SUB ESP,0x1c
.text:0041693e 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00416941 8bc8 MOV ECX,EAX
.text:00416943 53 PUSH EBX
.text:00416944 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:00416947 83e03f AND EAX,0x3f
.text:0041694a 56 PUSH ESI
.text:0041694b c1f906 SAR ECX,0x6
.text:0041694e 57 PUSH EDI
.text:0041694f 6bf838 IMUL EDI,EAX,0x38
.text:00416952 894df8 MOV dword ptr [EBP + local_c+0x4],ECX
.text:00416955 8b048dc84... MOV EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:0041695c 6a0a PUSH 0xa
.text:0041695e 5a POP EDX
.text:0041695f 8955e8 MOV dword ptr [EBP + local_1c+0x4],EDX
.text:00416962 8b4c3818 MOV ECX,dword ptr [EAX + EDI*0x1 + 0x18]
.text:00416966 894de4 MOV dword ptr [EBP + local_20+0x4],ECX
.text:00416969 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:0041696c 85c9 TEST ECX,ECX
.text:0041696e 740c JZ LAB_0041697c
.text:00416970 663913 CMP word ptr [EBX],DX
.text:00416973 7507 JNZ LAB_0041697c
.text:00416975 804c382804 OR byte ptr [EAX + EDI*0x1 + 0x28],0x4
.text:0041697a eb05 JMP LAB_00416981
LAB_0041697c: ;XREF[2,0]: 0041696e,00416973
.text:0041697c 80643828fb AND byte ptr [EAX + EDI*0x1 + 0x28],0xfb
LAB_00416981: ;XREF[1,0]: 0041697a
.text:00416981 8d144b LEA EDX,[EBX + ECX*0x2]
.text:00416984 8bc3 MOV EAX,EBX
.text:00416986 8955f4 MOV dword ptr [EBP + local_10+0x4],EDX
.text:00416989 8bf3 MOV ESI,EBX
.text:0041698b 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0041698e 3bda CMP EBX,EDX
.text:00416990 0f834e010000 JNC LAB_00416ae4
.text:00416996 c745f00d0... MOV dword ptr [EBP + local_14+0x4],0xd
LAB_0041699d: ;XREF[1,0]: 004169ff
.text:0041699d 0fb708 MOVZX ECX,word ptr [EAX]
.text:004169a0 8bd1 MOV EDX,ECX
.text:004169a2 8955ec MOV dword ptr [EBP + local_18+0x4],EDX
.text:004169a5 8b55f4 MOV EDX,dword ptr [EBP + local_10+0x4]
.text:004169a8 83f91a CMP ECX,0x1a
.text:004169ab 0f8413010000 JZ LAB_00416ac4
.text:004169b1 83c002 ADD EAX,0x2
.text:004169b4 663b4df0 CMP CX,word ptr [EBP + local_14+0x4]
.text:004169b8 7408 JZ LAB_004169c2
.text:004169ba 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004169bd 66890e MOV word ptr [ESI],CX
.text:004169c0 eb36 JMP LAB_004169f8
LAB_004169c2: ;XREF[1,0]: 004169b8
.text:004169c2 3bc2 CMP EAX,EDX
.text:004169c4 7340 JNC LAB_00416a06
.text:004169c6 0fb700 MOVZX EAX,word ptr [EAX]
.text:004169c9 33c9 XOR ECX,ECX
.text:004169cb 663b45e8 CMP AX,word ptr [EBP + local_1c+0x4]
.text:004169cf 8bd0 MOV EDX,EAX
.text:004169d1 6a0a PUSH 0xa
.text:004169d3 0f94c1 SETZ CL
.text:004169d6 33c0 XOR EAX,EAX
.text:004169d8 8d0c4d020... LEA ECX,[ECX*0x2 + 0x2]
.text:004169df 014dfc ADD dword ptr [EBP + local_8+0x4],ECX
.text:004169e2 59 POP ECX
.text:004169e3 663bd1 CMP DX,CX
.text:004169e6 8b55f4 MOV EDX,dword ptr [EBP + local_10+0x4]
.text:004169e9 0f94c0 SETZ AL
.text:004169ec 48 DEC EAX
.text:004169ed 83e003 AND EAX,0x3
.text:004169f0 03c1 ADD EAX,ECX
.text:004169f2 668906 MOV word ptr [ESI],AX
.text:004169f5 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
LAB_004169f8: ;XREF[1,0]: 004169c0
.text:004169f8 6a02 PUSH 0x2
.text:004169fa 59 POP ECX
.text:004169fb 03f1 ADD ESI,ECX
.text:004169fd 3bc2 CMP EAX,EDX
.text:004169ff 729c JC LAB_0041699d
.text:00416a01 e9de000000 JMP LAB_00416ae4
LAB_00416a06: ;XREF[1,0]: 004169c4
.text:00416a06 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for ReadFile
.text:00416a08 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:00416a0b 50 PUSH EAX ;LPDWORD lpNumberOfBytesRead for Read...
.text:00416a0c 6a02 PUSH 0x2 ;DWORD nNumberOfBytesToRead for ReadFile
.text:00416a0e 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:00416a11 50 PUSH EAX ;LPVOID lpBuffer for ReadFile
.text:00416a12 ff75e4 PUSH dword ptr [EBP + local_20+0x4] ;HANDLE hFile for ReadFile
.text:00416a15 ff15f4b04100 CALL dword ptr [->KERNEL32.DLL::ReadFile] ;= 00022760
.text:00416a1b 85c0 TEST EAX,EAX
.text:00416a1d 0f849c000000 JZ LAB_00416abf
.text:00416a23 837de800 CMP dword ptr [EBP + local_1c+0x4],0x0
.text:00416a27 0f8492000000 JZ LAB_00416abf
.text:00416a2d 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:00416a30 6a0a PUSH 0xa
.text:00416a32 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00416a39 f644382848 TEST byte ptr [EAX + EDI*0x1 + 0x28],0x48
.text:00416a3e 7455 JZ LAB_00416a95
.text:00416a40 8d4602 LEA EAX,[ESI + 0x2]
.text:00416a43 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:00416a46 668b45fc MOV AX,word ptr [EBP + local_8+0x4]
.text:00416a4a 59 POP ECX
.text:00416a4b 668945fe MOV word ptr [EBP + local_8+0x6],AX
.text:00416a4f 663bc1 CMP AX,CX
.text:00416a52 7505 JNZ LAB_00416a59
.text:00416a54 66890e MOV word ptr [ESI],CX
.text:00416a57 eb37 JMP LAB_00416a90
LAB_00416a59: ;XREF[1,0]: 00416a52
.text:00416a59 6a0d PUSH 0xd
.text:00416a5b 59 POP ECX
.text:00416a5c 66890e MOV word ptr [ESI],CX
.text:00416a5f 0fb7c8 MOVZX ECX,AX
.text:00416a62 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00416a69 668b55fe MOV DX,word ptr [EBP + local_8+0x6]
.text:00416a6d c1e908 SHR ECX,0x8
.text:00416a70 6a0a PUSH 0xa
.text:00416a72 8854382a MOV byte ptr [EAX + EDI*0x1 + 0x2a],DL
.text:00416a76 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:00416a79 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00416a80 884c382b MOV byte ptr [EAX + EDI*0x1 + 0x2b],CL
.text:00416a84 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00416a8b 59 POP ECX
.text:00416a8c 884c382c MOV byte ptr [EAX + EDI*0x1 + 0x2c],CL
LAB_00416a90: ;XREF[1,0]: 00416a57
.text:00416a90 8b75e4 MOV ESI,dword ptr [EBP + local_20+0x4]
.text:00416a93 eb4f JMP LAB_00416ae4
LAB_00416a95: ;XREF[1,0]: 00416a3e
.text:00416a95 58 POP EAX
.text:00416a96 663945fc CMP word ptr [EBP + local_8+0x4],AX
.text:00416a9a 7509 JNZ LAB_00416aa5
.text:00416a9c 3bf3 CMP ESI,EBX
.text:00416a9e 7505 JNZ LAB_00416aa5
LAB_00416aa0: ;XREF[1,0]: 00416ac2
.text:00416aa0 668906 MOV word ptr [ESI],AX
.text:00416aa3 eb3c JMP LAB_00416ae1
LAB_00416aa5: ;XREF[2,0]: 00416a9a,00416a9e
.text:00416aa5 6a01 PUSH 0x1
.text:00416aa7 6aff PUSH -0x1
.text:00416aa9 6afe PUSH -0x2
.text:00416aab ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00416aae e824170000 CALL FUN_004181d7 ;undefined8 FUN_004181d7(uint param_1...
.text:00416ab3 83c410 ADD ESP,0x10
.text:00416ab6 6a0a PUSH 0xa
.text:00416ab8 58 POP EAX
.text:00416ab9 663945fc CMP word ptr [EBP + local_8+0x4],AX
.text:00416abd 7425 JZ LAB_00416ae4
LAB_00416abf: ;XREF[2,0]: 00416a1d,00416a27
.text:00416abf 6a0d PUSH 0xd
.text:00416ac1 58 POP EAX
.text:00416ac2 ebdc JMP LAB_00416aa0
LAB_00416ac4: ;XREF[1,0]: 004169ab
.text:00416ac4 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:00416ac7 8b1495c84... MOV EDX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00416ace 8a443a28 MOV AL,byte ptr [EDX + EDI*0x1 + 0x28]
.text:00416ad2 a840 TEST AL,0x40
.text:00416ad4 7508 JNZ LAB_00416ade
.text:00416ad6 0c02 OR AL,0x2
.text:00416ad8 88443a28 MOV byte ptr [EDX + EDI*0x1 + 0x28],AL
.text:00416adc eb06 JMP LAB_00416ae4
LAB_00416ade: ;XREF[1,0]: 00416ad4
.text:00416ade 66890e MOV word ptr [ESI],CX
LAB_00416ae1: ;XREF[1,0]: 00416aa3
.text:00416ae1 83c602 ADD ESI,0x2
LAB_00416ae4: ;XREF[5,0]: 00416990,00416a01,00416a93,00416abd
; 00416adc
.text:00416ae4 2bf3 SUB ESI,EBX
.text:00416ae6 83e6fe AND ESI,0xfffffffe
.text:00416ae9 5f POP EDI
.text:00416aea 8bc6 MOV EAX,ESI
.text:00416aec 5e POP ESI
.text:00416aed 5b POP EBX
.text:00416aee c9 LEAVE
.text:00416aef c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00416af0(uint param_1, byte * param_2, int param_3, LPWSTR param_4, int param_5)
;param_1 uint 4 ;XREF[4,0]: 00416aff,00416b14,00416b17,00416be3
;param_2 byte * 8 ;XREF[1,0]: 00416afb
;param_3 int c ;XREF[1,0]: 00416af8
;param_4 LPWSTR 10 ;XREF[1,0]: 00416bf3
;param_5 int 14 ;XREF[1,0]: 00416bee
;local_8 undefined4 -8 ;XREF[4,0]: 00416b24,00416baf,00416bc5,00416c1f
;local_c undefined4 -c ;XREF[2,0]: 00416b2e,00416b9b
;XREF[1,0]: 004170e6
.text:00416af0 8bff MOV EDI,EDI
.text:00416af2 55 PUSH EBP
.text:00416af3 8bec MOV EBP,ESP
.text:00416af5 51 PUSH ECX
.text:00416af6 51 PUSH ECX
.text:00416af7 53 PUSH EBX
.text:00416af8 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00416afb 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:00416afe 53 PUSH EBX
.text:00416aff ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00416b02 e8e2fcffff CALL FUN_004167e9 ;int FUN_004167e9(uint param_1, char ...
.text:00416b07 8bc8 MOV ECX,EAX
.text:00416b09 83c40c ADD ESP,0xc
.text:00416b0c 85c9 TEST ECX,ECX
.text:00416b0e 0f8430010000 JZ LAB_00416c44
.text:00416b14 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00416b17 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00416b1a 83e03f AND EAX,0x3f
.text:00416b1d c1fa06 SAR EDX,0x6
.text:00416b20 57 PUSH EDI
.text:00416b21 6bf838 IMUL EDI,EAX,0x38
.text:00416b24 8955fc MOV dword ptr [EBP + local_8+0x4],EDX
.text:00416b27 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00416b2e 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00416b31 807c382900 CMP byte ptr [EAX + EDI*0x1 + 0x29],0x0
.text:00416b36 7507 JNZ LAB_00416b3f
.text:00416b38 8bc1 MOV EAX,ECX
.text:00416b3a e904010000 JMP LAB_00416c43
LAB_00416b3f: ;XREF[1,0]: 00416b36
.text:00416b3f 8d0419 LEA EAX,[ECX + EBX*0x1]
.text:00416b42 56 PUSH ESI
.text:00416b43 8d70ff LEA ESI,[EAX + -0x1]
.text:00416b46 8a0e MOV CL,byte ptr [ESI]
.text:00416b48 84c9 TEST CL,CL
.text:00416b4a 7807 JS LAB_00416b53
.text:00416b4c 8bf0 MOV ESI,EAX
.text:00416b4e e99b000000 JMP LAB_00416bee
LAB_00416b53: ;XREF[1,0]: 00416b4a
.text:00416b53 33d2 XOR EDX,EDX
.text:00416b55 0fb6c1 MOVZX EAX,CL
.text:00416b58 42 INC EDX
.text:00416b59 eb0e JMP LAB_00416b69
LAB_00416b5b: ;XREF[1,0]: 00416b70
.text:00416b5b 83fa04 CMP EDX,0x4
.text:00416b5e 7712 JA LAB_00416b72
.text:00416b60 3bf3 CMP ESI,EBX
.text:00416b62 720e JC LAB_00416b72
.text:00416b64 4e DEC ESI
.text:00416b65 42 INC EDX
.text:00416b66 0fb606 MOVZX EAX,byte ptr [ESI]
LAB_00416b69: ;XREF[1,0]: 00416b59
.text:00416b69 80b880374... CMP byte ptr [EAX + .data:DAT_00423780],0x0
.text:00416b70 74e9 JZ LAB_00416b5b
LAB_00416b72: ;XREF[2,0]: 00416b5e,00416b62
.text:00416b72 8a0e MOV CL,byte ptr [ESI]
.text:00416b74 0fb6c1 MOVZX EAX,CL
.text:00416b77 0fbe80803... MOVSX EAX,byte ptr [EAX + .data:DAT_00423780]
.text:00416b7e 85c0 TEST EAX,EAX
.text:00416b80 7510 JNZ LAB_00416b92
.text:00416b82 e87d77ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00416b87 c7002a000000 MOV dword ptr [EAX],0x2a
.text:00416b8d e988000000 JMP LAB_00416c1a
LAB_00416b92: ;XREF[1,0]: 00416b80
.text:00416b92 40 INC EAX
.text:00416b93 3bc2 CMP EAX,EDX
.text:00416b95 7504 JNZ LAB_00416b9b
.text:00416b97 03f2 ADD ESI,EDX
.text:00416b99 eb53 JMP LAB_00416bee
LAB_00416b9b: ;XREF[1,0]: 00416b95
.text:00416b9b 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00416b9e f644382848 TEST byte ptr [EAX + EDI*0x1 + 0x28],0x48
.text:00416ba3 7435 JZ LAB_00416bda
.text:00416ba5 46 INC ESI
.text:00416ba6 884c382a MOV byte ptr [EAX + EDI*0x1 + 0x2a],CL
.text:00416baa 83fa02 CMP EDX,0x2
.text:00416bad 7211 JC LAB_00416bc0
.text:00416baf 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00416bb2 8a0e MOV CL,byte ptr [ESI]
.text:00416bb4 46 INC ESI
.text:00416bb5 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00416bbc 884c072b MOV byte ptr [EDI + EAX*0x1 + 0x2b],CL
LAB_00416bc0: ;XREF[1,0]: 00416bad
.text:00416bc0 83fa03 CMP EDX,0x3
.text:00416bc3 7511 JNZ LAB_00416bd6
.text:00416bc5 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00416bc8 8a0e MOV CL,byte ptr [ESI]
.text:00416bca 46 INC ESI
.text:00416bcb 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00416bd2 884c072c MOV byte ptr [EDI + EAX*0x1 + 0x2c],CL
LAB_00416bd6: ;XREF[1,0]: 00416bc3
.text:00416bd6 2bf2 SUB ESI,EDX
.text:00416bd8 eb14 JMP LAB_00416bee
LAB_00416bda: ;XREF[1,0]: 00416ba3
.text:00416bda f7da NEG EDX
.text:00416bdc 8bc2 MOV EAX,EDX
.text:00416bde 6a01 PUSH 0x1
.text:00416be0 99 CDQ
.text:00416be1 52 PUSH EDX
.text:00416be2 50 PUSH EAX
.text:00416be3 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00416be6 e8ec150000 CALL FUN_004181d7 ;undefined8 FUN_004181d7(uint param_1...
.text:00416beb 83c410 ADD ESP,0x10
LAB_00416bee: ;XREF[3,0]: 00416b4e,00416b99,00416bd8
.text:00416bee ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00416bf1 2bf3 SUB ESI,EBX
.text:00416bf3 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00416bf6 56 PUSH ESI
.text:00416bf7 53 PUSH EBX
.text:00416bf8 6a00 PUSH 0x0
.text:00416bfa 68e9fd0000 PUSH 0xfde9
.text:00416bff e89fb2ffff CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:00416c04 8bd8 MOV EBX,EAX
.text:00416c06 83c418 ADD ESP,0x18
.text:00416c09 85db TEST EBX,EBX
.text:00416c0b 7512 JNZ LAB_00416c1f
.text:00416c0d ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00416c13 50 PUSH EAX
.text:00416c14 e89176ffff CALL ___acrt_errno_map_os_error ;undefined ___acrt_errno_map_os_error...
.text:00416c19 59 POP ECX
LAB_00416c1a: ;XREF[1,0]: 00416b8d
.text:00416c1a 83c8ff OR EAX,0xffffffff
.text:00416c1d eb23 JMP LAB_00416c42
LAB_00416c1f: ;XREF[1,0]: 00416c0b
.text:00416c1f 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00416c22 3bde CMP EBX,ESI
.text:00416c24 0f94c1 SETZ CL
.text:00416c27 fec9 DEC CL
.text:00416c29 8b1485c84... MOV EDX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00416c30 80e102 AND CL,0x2
.text:00416c33 8a44172d MOV AL,byte ptr [EDI + EDX*0x1 + 0x2d]
.text:00416c37 24fd AND AL,0xfd
.text:00416c39 0ac8 OR CL,AL
.text:00416c3b 8d041b LEA EAX,[EBX + EBX*0x1]
.text:00416c3e 884c172d MOV byte ptr [EDI + EDX*0x1 + 0x2d],CL
LAB_00416c42: ;XREF[1,0]: 00416c1d
.text:00416c42 5e POP ESI
LAB_00416c43: ;XREF[1,0]: 00416b3a
.text:00416c43 5f POP EDI
LAB_00416c44: ;XREF[1,0]: 00416b0e
.text:00416c44 5b POP EBX
.text:00416c45 c9 LEAVE
.text:00416c46 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00416c47(uint param_1, short * param_2, int param_3)
;param_1 uint 4 ;XREF[1,0]: 00416c9f
;param_2 short * 8 ;XREF[2,0]: 00416c52,00416c96
;param_3 int c ;XREF[1,0]: 00416c4d
;local_8 undefined4 -8 ;XREF[2,0]: 00416c8c,00416c91
;XREF[1,0]: 00417101
.text:00416c47 8bff MOV EDI,EDI
.text:00416c49 55 PUSH EBP
.text:00416c4a 8bec MOV EBP,ESP
.text:00416c4c 51 PUSH ECX
.text:00416c4d 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00416c50 56 PUSH ESI
.text:00416c51 57 PUSH EDI
.text:00416c52 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00416c55 8bcf MOV ECX,EDI
.text:00416c57 8bf7 MOV ESI,EDI
.text:00416c59 8d1447 LEA EDX,[EDI + EAX*0x2]
.text:00416c5c 3bfa CMP EDI,EDX
.text:00416c5e 735a JNC LAB_00416cba
.text:00416c60 53 PUSH EBX
LAB_00416c61: ;XREF[1,0]: 00416c9b
.text:00416c61 0fb701 MOVZX EAX,word ptr [ECX]
.text:00416c64 83f81a CMP EAX,0x1a
.text:00416c67 7436 JZ LAB_00416c9f
.text:00416c69 83f80d CMP EAX,0xd
.text:00416c6c 7515 JNZ LAB_00416c83
.text:00416c6e 8d5902 LEA EBX,[ECX + 0x2]
.text:00416c71 3bda CMP EBX,EDX
.text:00416c73 730e JNC LAB_00416c83
.text:00416c75 6a0a PUSH 0xa
.text:00416c77 5f POP EDI
.text:00416c78 66393b CMP word ptr [EBX],DI
.text:00416c7b 7506 JNZ LAB_00416c83
.text:00416c7d 8bc7 MOV EAX,EDI
.text:00416c7f 6a04 PUSH 0x4
.text:00416c81 eb02 JMP LAB_00416c85
LAB_00416c83: ;XREF[3,0]: 00416c6c,00416c73,00416c7b
.text:00416c83 6a02 PUSH 0x2
LAB_00416c85: ;XREF[1,0]: 00416c81
.text:00416c85 8d7e02 LEA EDI,[ESI + 0x2]
.text:00416c88 668906 MOV word ptr [ESI],AX
.text:00416c8b 5b POP EBX
.text:00416c8c 897dfc MOV dword ptr [EBP + local_8+0x4],EDI
.text:00416c8f 03cb ADD ECX,EBX
.text:00416c91 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:00416c94 8bf0 MOV ESI,EAX
.text:00416c96 8b7d0c MOV EDI,dword ptr [EBP + param_2+0x4]
.text:00416c99 3bca CMP ECX,EDX
.text:00416c9b 72c4 JC LAB_00416c61
.text:00416c9d eb1a JMP LAB_00416cb9
LAB_00416c9f: ;XREF[1,0]: 00416c67
.text:00416c9f 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00416ca2 8bc8 MOV ECX,EAX
.text:00416ca4 83e03f AND EAX,0x3f
.text:00416ca7 c1f906 SAR ECX,0x6
.text:00416caa 6bd038 IMUL EDX,EAX,0x38
.text:00416cad 8b0c8dc84... MOV ECX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:00416cb4 804c112802 OR byte ptr [ECX + EDX*0x1 + 0x28],0x2
LAB_00416cb9: ;XREF[1,0]: 00416c9d
.text:00416cb9 5b POP EBX
LAB_00416cba: ;XREF[1,0]: 00416c5e
.text:00416cba 2bf7 SUB ESI,EDI
.text:00416cbc 83e6fe AND ESI,0xfffffffe
.text:00416cbf 5f POP EDI
.text:00416cc0 8bc6 MOV EAX,ESI
.text:00416cc2 5e POP ESI
.text:00416cc3 c9 LEAVE
.text:00416cc4 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00416cc5(uint param_1, LPWSTR param_2, uint param_3)
;param_1 uint 4 ;XREF[1,0]: 00416cd1
;param_2 LPWSTR 8 ;XREF[1,0]: 00416da1
;param_3 uint c ;XREF[2,0]: 00416d46,00416d9e
;local_8 undefined4 -8 ;XREF[2,0]: 00416d71,00416db2
;local_14 undefined4 -14 ;XREF[1,0]: 00416dc0
;local_20 undefined4 -20 ;XREF[2,0]: 00416d6e,00416daf
;local_24 undefined4 -24 ;XREF[2,0]: 00416d2a,00416d75
;local_28 undefined4 -28 ;XREF[2,0]: 00416d35,00416d7f
;XREF[1,0]: 00410b01
.text:00416cc5 6a14 PUSH 0x14
.text:00416cc7 6800214200 PUSH .rdata:DAT_00422100 ;= FEh
.text:00416ccc e82fb2feff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00416cd1 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00416cd4 83fefe CMP ESI,-0x2
.text:00416cd7 751b JNZ LAB_00416cf4
.text:00416cd9 e81376ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00416cde 832000 AND dword ptr [EAX],0x0
.text:00416ce1 e81e76ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00416ce6 c70009000000 MOV dword ptr [EAX],0x9
LAB_00416cec: ;XREF[1,0]: 00416d23
.text:00416cec 83c8ff OR EAX,0xffffffff
.text:00416cef e9cc000000 JMP LAB_00416dc0
LAB_00416cf4: ;XREF[1,0]: 00416cd7
.text:00416cf4 85f6 TEST ESI,ESI
.text:00416cf6 780d JS LAB_00416d05
.text:00416cf8 3b35c8424200 CMP ESI,dword ptr [.data:DAT_004242c8] ;= ??
.text:00416cfe 7305 JNC LAB_00416d05
.text:00416d00 33c0 XOR EAX,EAX
.text:00416d02 40 INC EAX
.text:00416d03 eb02 JMP LAB_00416d07
LAB_00416d05: ;XREF[2,0]: 00416cf6,00416cfe
.text:00416d05 33c0 XOR EAX,EAX
LAB_00416d07: ;XREF[1,0]: 00416d03
.text:00416d07 85c0 TEST EAX,EAX
.text:00416d09 751a JNZ LAB_00416d25
LAB_00416d0b: ;XREF[1,0]: 00416d44
.text:00416d0b e8e175ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00416d10 832000 AND dword ptr [EAX],0x0
.text:00416d13 e8ec75ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00416d18 c70009000000 MOV dword ptr [EAX],0x9
LAB_00416d1e: ;XREF[1,0]: 00416d62
.text:00416d1e e80075ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00416d23 ebc7 JMP LAB_00416cec
LAB_00416d25: ;XREF[1,0]: 00416d09
.text:00416d25 8bce MOV ECX,ESI
.text:00416d27 c1f906 SAR ECX,0x6
.text:00416d2a 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:00416d2d 8bc6 MOV EAX,ESI
.text:00416d2f 83e03f AND EAX,0x3f
.text:00416d32 6bd038 IMUL EDX,EAX,0x38
.text:00416d35 8955dc MOV dword ptr [EBP + local_28+0x4],EDX
.text:00416d38 8b048dc84... MOV EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:00416d3f f644102801 TEST byte ptr [EAX + EDX*0x1 + 0x28],0x1
.text:00416d44 74c5 JZ LAB_00416d0b
.text:00416d46 817d10fff... CMP dword ptr [EBP + param_3+0x4],0x7fffffff
.text:00416d4d 7615 JBE LAB_00416d64
.text:00416d4f e89d75ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00416d54 832000 AND dword ptr [EAX],0x0
.text:00416d57 e8a875ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00416d5c c70016000000 MOV dword ptr [EAX],0x16
.text:00416d62 ebba JMP LAB_00416d1e
LAB_00416d64: ;XREF[1,0]: 00416d4d
.text:00416d64 56 PUSH ESI
.text:00416d65 e80eb8ffff CALL FUN_00412578 ;undefined FUN_00412578(uint param_1)
.text:00416d6a 59 POP ECX
.text:00416d6b 83cbff OR EBX,0xffffffff
.text:00416d6e 895de4 MOV dword ptr [EBP + local_20+0x4],EBX
.text:00416d71 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00416d75 8b45e0 MOV EAX,dword ptr [EBP + local_24+0x4]
.text:00416d78 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00416d7f 8b4ddc MOV ECX,dword ptr [EBP + local_28+0x4]
.text:00416d82 f644082801 TEST byte ptr [EAX + ECX*0x1 + 0x28],0x1
.text:00416d87 7515 JNZ LAB_00416d9e
.text:00416d89 e87675ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00416d8e c70009000000 MOV dword ptr [EAX],0x9
.text:00416d94 e85875ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00416d99 832000 AND dword ptr [EAX],0x0
.text:00416d9c eb14 JMP LAB_00416db2
LAB_00416d9e: ;XREF[1,0]: 00416d87
.text:00416d9e ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00416da1 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00416da4 56 PUSH ESI
.text:00416da5 e834000000 CALL FUN_00416dde ;uint FUN_00416dde(uint param_1, LPWS...
.text:00416daa 83c40c ADD ESP,0xc
.text:00416dad 8bd8 MOV EBX,EAX
.text:00416daf 895de4 MOV dword ptr [EBP + local_20+0x4],EBX
LAB_00416db2: ;XREF[1,0]: 00416d9c
.text:00416db2 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00416db9 e818000000 CALL FUN_00416dd6 ;undefined FUN_00416dd6(void)
.text:00416dbe 8bc3 MOV EAX,EBX
LAB_00416dc0: ;XREF[1,0]: 00416cef
.text:00416dc0 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00416dc3 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00416dca 59 POP ECX
.text:00416dcb 5f POP EDI
.text:00416dcc 5e POP ESI
.text:00416dcd 5b POP EBX
.text:00416dce c9 LEAVE
.text:00416dcf c3 RET
.text:00416dd0 8b align align(1)
.text:00416dd1 75 ?? 75h u
.text:00416dd2 08 ?? 08h
.text:00416dd3 8b ?? 8Bh
.text:00416dd4 5d ?? 5Dh ]
.text:00416dd5 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00416dd6(void)
;XREF[1,0]: 00416db9
.text:00416dd6 56 PUSH ESI
.text:00416dd7 e8bfb7ffff CALL ___acrt_lowio_unlock_fh ;undefined ___acrt_lowio_unlock_fh(ui...
.text:00416ddc 59 POP ECX
.text:00416ddd c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_00416dde(uint param_1, LPWSTR param_2, uint param_3)
;param_1 uint 4 ;XREF[9,0]: 00416de3,00416f26,00416f61,00416fa2,00416fb8
; 00416fe3,00416ff9,004170e3,004170fc
;param_2 LPWSTR 8 ;XREF[3,0]: 00416e80,00416eca,004170de
;param_3 uint c ;XREF[3,0]: 00416e4b,00417092,004170b6
;local_5 undefined1 -5 ;XREF[7,0]: 00416e40,00416e76,00416e8f,00416f8f,00416fcd
; 00417050,004170d5
;local_c undefined4 -c ;XREF[10,0]: 00416e2b,00416f2e,00416f45,00416f8b,00416fa7
; 00416fc9,00416fe8,00417007,0041702b,004170c1
;local_10 undefined4 -10 ;XREF[8,0]: 00416ecd,00416efe,00416f71,00416f93,00416fd3
; 0041700b,0041705f,004170a5
;local_14 undefined4 -14 ;XREF[9,0]: 00416e39,00416f59,00416f84,00416faa,00416fc3
; 00416feb,0041700e,0041702e,004170c4
;local_18 undefined4 -18 ;XREF[4,0]: 00416e92,00417043,00417063,004170a9
;local_1c undefined4 -1c ;XREF[7,0]: 00416f54,00416f6a,00417058,0041708f,004170a0
; 004170b9,004170be
;local_20 undefined4 -20 ;XREF[3,0]: 00416e2f,0041709a,004170f4
;local_24 undefined4 -24 ;XREF[2,0]: 00416f4a,004170f9
;local_28 undefined1 -28 ;XREF[1,0]: 0041703f
;XREF[1,0]: 00416da5
.text:00416dde 8bff MOV EDI,EDI
.text:00416de0 55 PUSH EBP
.text:00416de1 8bec MOV EBP,ESP
.text:00416de3 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00416de6 83ec24 SUB ESP,0x24
.text:00416de9 53 PUSH EBX
.text:00416dea 57 PUSH EDI
.text:00416deb 83fafe CMP EDX,-0x2
.text:00416dee 7518 JNZ LAB_00416e08
.text:00416df0 e8fc74ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00416df5 832000 AND dword ptr [EAX],0x0
.text:00416df8 e80775ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00416dfd c70009000000 MOV dword ptr [EAX],0x9
.text:00416e03 e95a030000 JMP LAB_00417162
LAB_00416e08: ;XREF[1,0]: 00416dee
.text:00416e08 85d2 TEST EDX,EDX
.text:00416e0a 0f883a030000 JS LAB_0041714a
.text:00416e10 3b15c8424200 CMP EDX,dword ptr [.data:DAT_004242c8] ;= ??
.text:00416e16 0f832e030000 JNC LAB_0041714a
.text:00416e1c 8bc2 MOV EAX,EDX
.text:00416e1e 8bca MOV ECX,EDX
.text:00416e20 c1e906 SHR ECX,0x6
.text:00416e23 83e03f AND EAX,0x3f
.text:00416e26 6bf838 IMUL EDI,EAX,0x38
.text:00416e29 33db XOR EBX,EBX
.text:00416e2b 894df8 MOV dword ptr [EBP + local_c+0x4],ECX
.text:00416e2e 43 INC EBX
.text:00416e2f 895de4 MOV dword ptr [EBP + local_20+0x4],EBX
.text:00416e32 8b048dc84... MOV EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:00416e39 897df0 MOV dword ptr [EBP + local_14+0x4],EDI
.text:00416e3c 8a4c0728 MOV CL,byte ptr [EDI + EAX*0x1 + 0x28]
.text:00416e40 884dff MOV byte ptr [EBP + local_5+0x4],CL
.text:00416e43 84cb TEST BL,CL
.text:00416e45 0f84ff020000 JZ LAB_0041714a
.text:00416e4b 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00416e4e 81f9ffffff7f CMP ECX,0x7fffffff
.text:00416e54 7618 JBE LAB_00416e6e
LAB_00416e56: ;XREF[1,0]: 00416e84
.text:00416e56 e89674ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00416e5b 832000 AND dword ptr [EAX],0x0
.text:00416e5e e8a174ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00416e63 c70016000000 MOV dword ptr [EAX],0x16
.text:00416e69 e9ef020000 JMP LAB_0041715d
LAB_00416e6e: ;XREF[1,0]: 00416e54
.text:00416e6e 85c9 TEST ECX,ECX
.text:00416e70 0f84d0020000 JZ LAB_00417146
.text:00416e76 f645ff02 TEST byte ptr [EBP + local_5+0x4],0x2
.text:00416e7a 0f85c6020000 JNZ LAB_00417146
.text:00416e80 837d0c00 CMP dword ptr [EBP + param_2+0x4],0x0
.text:00416e84 74d0 JZ LAB_00416e56
.text:00416e86 56 PUSH ESI
.text:00416e87 8b740718 MOV ESI,dword ptr [EDI + EAX*0x1 + 0x18]
.text:00416e8b 8a440729 MOV AL,byte ptr [EDI + EAX*0x1 + 0x29]
.text:00416e8f 8845ff MOV byte ptr [EBP + local_5+0x4],AL
.text:00416e92 8975ec MOV dword ptr [EBP + local_18+0x4],ESI
.text:00416e95 33f6 XOR ESI,ESI
.text:00416e97 0fbec0 MOVSX EAX,AL
.text:00416e9a 83e801 SUB EAX,0x1
.text:00416e9d 7433 JZ LAB_00416ed2
.text:00416e9f 83e801 SUB EAX,0x1
.text:00416ea2 7524 JNZ LAB_00416ec8
.text:00416ea4 8bc1 MOV EAX,ECX
.text:00416ea6 f7d0 NOT EAX
.text:00416ea8 84c3 TEST BL,AL
.text:00416eaa 751c JNZ LAB_00416ec8
LAB_00416eac: ;XREF[1,0]: 00416ed8
.text:00416eac e84074ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00416eb1 2130 AND dword ptr [EAX],ESI
.text:00416eb3 e84c74ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00416eb8 c70016000000 MOV dword ptr [EAX],0x16
.text:00416ebe e86073ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00416ec3 e9b5010000 JMP LAB_0041707d
LAB_00416ec8: ;XREF[2,0]: 00416ea2,00416eaa
.text:00416ec8 8bd9 MOV EBX,ECX
.text:00416eca 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00416ecd 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:00416ed0 eb73 JMP LAB_00416f45
LAB_00416ed2: ;XREF[1,0]: 00416e9d
.text:00416ed2 8bc1 MOV EAX,ECX
.text:00416ed4 f7d0 NOT EAX
.text:00416ed6 84c3 TEST BL,AL
.text:00416ed8 74d2 JZ LAB_00416eac
.text:00416eda 6a04 PUSH 0x4
.text:00416edc d1e9 SHR ECX,0x1
.text:00416ede 5b POP EBX
.text:00416edf 3bcb CMP ECX,EBX
.text:00416ee1 7202 JC LAB_00416ee5
.text:00416ee3 8bd9 MOV EBX,ECX
LAB_00416ee5: ;XREF[1,0]: 00416ee1
.text:00416ee5 53 PUSH EBX
.text:00416ee6 e8e67effff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:00416eeb 6a00 PUSH 0x0
.text:00416eed 8bf0 MOV ESI,EAX
.text:00416eef e88074ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00416ef4 6a00 PUSH 0x0
.text:00416ef6 e87974ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00416efb 83c40c ADD ESP,0xc
.text:00416efe 8975f4 MOV dword ptr [EBP + local_10+0x4],ESI
.text:00416f01 85f6 TEST ESI,ESI
.text:00416f03 751b JNZ LAB_00416f20
.text:00416f05 e8fa73ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00416f0a c7000c000000 MOV dword ptr [EAX],0xc
.text:00416f10 e8dc73ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:00416f15 c70008000000 MOV dword ptr [EAX],0x8
.text:00416f1b e95d010000 JMP LAB_0041707d
LAB_00416f20: ;XREF[1,0]: 00416f03
.text:00416f20 6a01 PUSH 0x1
.text:00416f22 6a00 PUSH 0x0
.text:00416f24 6a00 PUSH 0x0
.text:00416f26 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00416f29 e8a9120000 CALL FUN_004181d7 ;undefined8 FUN_004181d7(uint param_1...
.text:00416f2e 8b4df8 MOV ECX,dword ptr [EBP + local_c+0x4]
.text:00416f31 83c410 ADD ESP,0x10
.text:00416f34 8b0c8dc84... MOV ECX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:00416f3b 89440f20 MOV dword ptr [EDI + ECX*0x1 + 0x20],EAX
.text:00416f3f 89540f24 MOV dword ptr [EDI + ECX*0x1 + 0x24],EDX
.text:00416f43 8bce MOV ECX,ESI
LAB_00416f45: ;XREF[1,0]: 00416ed0
.text:00416f45 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00416f48 33ff XOR EDI,EDI
.text:00416f4a 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:00416f4d 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00416f54 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:00416f57 8bd0 MOV EDX,EAX
.text:00416f59 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:00416f5c f644102848 TEST byte ptr [EAX + EDX*0x1 + 0x28],0x48
.text:00416f61 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00416f64 0f84b6000000 JZ LAB_00417020
.text:00416f6a 8b4de8 MOV ECX,dword ptr [EBP + local_1c+0x4]
.text:00416f6d 8a44082a MOV AL,byte ptr [EAX + ECX*0x1 + 0x2a]
.text:00416f71 8b4df4 MOV ECX,dword ptr [EBP + local_10+0x4]
.text:00416f74 3c0a CMP AL,0xa
.text:00416f76 0f84a4000000 JZ LAB_00417020
.text:00416f7c 85db TEST EBX,EBX
.text:00416f7e 0f849c000000 JZ LAB_00417020
.text:00416f84 8b55f0 MOV EDX,dword ptr [EBP + local_14+0x4]
.text:00416f87 47 INC EDI
.text:00416f88 8801 MOV byte ptr [ECX],AL
.text:00416f8a 41 INC ECX
.text:00416f8b 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00416f8e 4b DEC EBX
.text:00416f8f 807dff00 CMP byte ptr [EBP + local_5+0x4],0x0
.text:00416f93 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:00416f96 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00416f9d c644022a0a MOV byte ptr [EDX + EAX*0x1 + 0x2a],0xa
.text:00416fa2 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00416fa5 7479 JZ LAB_00417020
.text:00416fa7 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00416faa 8b55f0 MOV EDX,dword ptr [EBP + local_14+0x4]
.text:00416fad 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00416fb4 8a44022b MOV AL,byte ptr [EDX + EAX*0x1 + 0x2b]
.text:00416fb8 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00416fbb 3c0a CMP AL,0xa
.text:00416fbd 7461 JZ LAB_00417020
.text:00416fbf 85db TEST EBX,EBX
.text:00416fc1 745d JZ LAB_00417020
.text:00416fc3 8b55f0 MOV EDX,dword ptr [EBP + local_14+0x4]
.text:00416fc6 8801 MOV byte ptr [ECX],AL
.text:00416fc8 41 INC ECX
.text:00416fc9 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00416fcc 4b DEC EBX
.text:00416fcd 807dff01 CMP byte ptr [EBP + local_5+0x4],0x1
.text:00416fd1 6a02 PUSH 0x2
.text:00416fd3 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:00416fd6 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00416fdd 5f POP EDI
.text:00416fde c644022b0a MOV byte ptr [EDX + EAX*0x1 + 0x2b],0xa
.text:00416fe3 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00416fe6 7538 JNZ LAB_00417020
.text:00416fe8 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00416feb 8b55f0 MOV EDX,dword ptr [EBP + local_14+0x4]
.text:00416fee 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00416ff5 8a44022c MOV AL,byte ptr [EDX + EAX*0x1 + 0x2c]
.text:00416ff9 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:00416ffc 3c0a CMP AL,0xa
.text:00416ffe 7420 JZ LAB_00417020
.text:00417000 85db TEST EBX,EBX
.text:00417002 741c JZ LAB_00417020
.text:00417004 8801 MOV byte ptr [ECX],AL
.text:00417006 41 INC ECX
.text:00417007 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:0041700a 4b DEC EBX
.text:0041700b 894df4 MOV dword ptr [EBP + local_10+0x4],ECX
.text:0041700e 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00417011 6a03 PUSH 0x3
.text:00417013 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:0041701a 5f POP EDI
.text:0041701b c644012c0a MOV byte ptr [ECX + EAX*0x1 + 0x2c],0xa
LAB_00417020: ;XREF[9,0]: 00416f64,00416f76,00416f7e,00416fa5
; 00416fbd,00416fc1,00416fe6,00416ffe
; 00417002
.text:00417020 52 PUSH EDX
.text:00417021 e885f1ffff CALL FUN_004161ab ;byte FUN_004161ab(uint param_1)
.text:00417026 59 POP ECX
.text:00417027 85c0 TEST EAX,EAX
.text:00417029 746f JZ LAB_0041709a
.text:0041702b 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:0041702e 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00417031 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:00417038 807c012800 CMP byte ptr [ECX + EAX*0x1 + 0x28],0x0
.text:0041703d 7d5b JGE LAB_0041709a
.text:0041703f 8d45dc LEA EAX=>local_28,[EBP + -0x24]
.text:00417042 50 PUSH EAX ;LPDWORD lpMode for GetConsoleMode
.text:00417043 ff75ec PUSH dword ptr [EBP + local_18+0x4] ;HANDLE hConsoleHandle for GetConsole...
.text:00417046 ff15e8b04100 CALL dword ptr [->KERNEL32.DLL::GetConsole...;= 0002272a
.text:0041704c 85c0 TEST EAX,EAX
.text:0041704e 744a JZ LAB_0041709a
.text:00417050 807dff02 CMP byte ptr [EBP + local_5+0x4],0x2
.text:00417054 7548 JNZ LAB_0041709e
.text:00417056 6a00 PUSH 0x0 ;PCONSOLE_READCONSOLE_CONTROL pInputC...
.text:00417058 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:0041705b d1eb SHR EBX,0x1
.text:0041705d 50 PUSH EAX ;LPDWORD lpNumberOfCharsRead for Read...
.text:0041705e 53 PUSH EBX ;DWORD nNumberOfCharsToRead for ReadC...
.text:0041705f 8b5df4 MOV EBX,dword ptr [EBP + local_10+0x4]
.text:00417062 53 PUSH EBX ;LPVOID lpBuffer for ReadConsoleW
.text:00417063 ff75ec PUSH dword ptr [EBP + local_18+0x4] ;HANDLE hConsoleInput for ReadConsoleW
.text:00417066 ff15f8b04100 CALL dword ptr [->KERNEL32.DLL::ReadConsoleW];= 0002276c
.text:0041706c 85c0 TEST EAX,EAX
.text:0041706e 751f JNZ LAB_0041708f
.text:00417070 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
LAB_00417076: ;XREF[1,0]: 00417139
.text:00417076 50 PUSH EAX
.text:00417077 e82e72ffff CALL ___acrt_errno_map_os_error ;undefined ___acrt_errno_map_os_error...
.text:0041707c 59 POP ECX
LAB_0041707d: ;XREF[3,0]: 00416ec3,00416f1b,00417131
.text:0041707d 83cfff OR EDI,0xffffffff
LAB_00417080: ;XREF[3,0]: 004170d3,004170f0,00417141
.text:00417080 56 PUSH ESI
.text:00417081 e8ee72ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00417086 59 POP ECX
.text:00417087 8bc7 MOV EAX,EDI
.text:00417089 5e POP ESI
.text:0041708a e9d6000000 JMP LAB_00417165
LAB_0041708f: ;XREF[1,0]: 0041706e
.text:0041708f 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
.text:00417092 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00417095 8d3c47 LEA EDI,[EDI + EAX*0x2]
.text:00417098 eb27 JMP LAB_004170c1
LAB_0041709a: ;XREF[3,0]: 00417029,0041703d,0041704e
.text:0041709a c645e400 MOV byte ptr [EBP + local_20+0x4],0x0
LAB_0041709e: ;XREF[1,0]: 00417054
.text:0041709e 6a00 PUSH 0x0 ;LPOVERLAPPED lpOverlapped for ReadFile
.text:004170a0 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:004170a3 50 PUSH EAX ;LPDWORD lpNumberOfBytesRead for Read...
.text:004170a4 53 PUSH EBX ;DWORD nNumberOfBytesToRead for ReadFile
.text:004170a5 8b5df4 MOV EBX,dword ptr [EBP + local_10+0x4]
.text:004170a8 53 PUSH EBX ;LPVOID lpBuffer for ReadFile
.text:004170a9 ff75ec PUSH dword ptr [EBP + local_18+0x4] ;HANDLE hFile for ReadFile
.text:004170ac ff15f4b04100 CALL dword ptr [->KERNEL32.DLL::ReadFile] ;= 00022760
.text:004170b2 85c0 TEST EAX,EAX
.text:004170b4 745c JZ LAB_00417112
.text:004170b6 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:004170b9 394de8 CMP dword ptr [EBP + local_1c+0x4],ECX
.text:004170bc 7754 JA LAB_00417112
.text:004170be 037de8 ADD EDI,dword ptr [EBP + local_1c+0x4]
LAB_004170c1: ;XREF[1,0]: 00417098
.text:004170c1 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:004170c4 8b55f0 MOV EDX,dword ptr [EBP + local_14+0x4]
.text:004170c7 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:004170ce 807c022800 CMP byte ptr [EDX + EAX*0x1 + 0x28],0x0
.text:004170d3 7dab JGE LAB_00417080
.text:004170d5 807dff02 CMP byte ptr [EBP + local_5+0x4],0x2
.text:004170d9 7417 JZ LAB_004170f2
.text:004170db d1e9 SHR ECX,0x1
.text:004170dd 51 PUSH ECX
.text:004170de ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:004170e1 57 PUSH EDI
.text:004170e2 53 PUSH EBX
.text:004170e3 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004170e6 e805faffff CALL FUN_00416af0 ;int FUN_00416af0(uint param_1, byte ...
.text:004170eb 83c414 ADD ESP,0x14
LAB_004170ee: ;XREF[1,0]: 00417109
.text:004170ee 8bf8 MOV EDI,EAX
.text:004170f0 eb8e JMP LAB_00417080
LAB_004170f2: ;XREF[1,0]: 004170d9
.text:004170f2 d1ef SHR EDI,0x1
.text:004170f4 807de400 CMP byte ptr [EBP + local_20+0x4],0x0
.text:004170f8 57 PUSH EDI
.text:004170f9 ff75e0 PUSH dword ptr [EBP + local_24+0x4]
.text:004170fc ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004170ff 740a JZ LAB_0041710b
.text:00417101 e841fbffff CALL FUN_00416c47 ;uint FUN_00416c47(uint param_1, shor...
LAB_00417106: ;XREF[1,0]: 00417110
.text:00417106 83c40c ADD ESP,0xc
.text:00417109 ebe3 JMP LAB_004170ee
LAB_0041710b: ;XREF[1,0]: 004170ff
.text:0041710b e826f8ffff CALL FUN_00416936 ;uint FUN_00416936(uint param_1, usho...
.text:00417110 ebf4 JMP LAB_00417106
LAB_00417112: ;XREF[2,0]: 004170b4,004170bc
.text:00417112 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00417118 6a05 PUSH 0x5
.text:0041711a 5f POP EDI
.text:0041711b 3bc7 CMP EAX,EDI
.text:0041711d 7517 JNZ LAB_00417136
.text:0041711f e8e071ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00417124 c70009000000 MOV dword ptr [EAX],0x9
.text:0041712a e8c271ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:0041712f 8938 MOV dword ptr [EAX],EDI
.text:00417131 e947ffffff JMP LAB_0041707d
LAB_00417136: ;XREF[1,0]: 0041711d
.text:00417136 83f86d CMP EAX,0x6d
.text:00417139 0f8537ffffff JNZ LAB_00417076
.text:0041713f 33ff XOR EDI,EDI
.text:00417141 e93affffff JMP LAB_00417080
LAB_00417146: ;XREF[2,0]: 00416e70,00416e7a
.text:00417146 33c0 XOR EAX,EAX
.text:00417148 eb1b JMP LAB_00417165
LAB_0041714a: ;XREF[3,0]: 00416e0a,00416e16,00416e45
.text:0041714a e8a271ffff CALL FUN_0040e2f1 ;__acrt_ptd * FUN_0040e2f1(void)
.text:0041714f 832000 AND dword ptr [EAX],0x0
.text:00417152 e8ad71ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00417157 c70009000000 MOV dword ptr [EAX],0x9
LAB_0041715d: ;XREF[1,0]: 00416e69
.text:0041715d e8c170ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_00417162: ;XREF[1,0]: 00416e03
.text:00417162 83c8ff OR EAX,0xffffffff
LAB_00417165: ;XREF[2,0]: 0041708a,00417148
.text:00417165 5f POP EDI
.text:00417166 5b POP EBX
.text:00417167 c9 LEAVE
.text:00417168 c3 RET
.text:00417169 ccccccccc... align align(7)
;************************************************************************************************
;* Library Function - Single Match *
;* _qsort *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;void _qsort(void * _Base, size_t _NumOfElements, size_t _SizeOfElements, _PtFuncCompare * _PtFuncCompare)
;_Base void * 4 ;XREF[1,0]: 0041718d
;_NumOfElem... size_t 8 ;XREF[1,0]: 00417185
;_SizeOfEle... size_t c ;XREF[1,0]: 0041719d
;_PtFuncCom... _PtFuncComp... 10 ;XREF[1,0]: 00417189
;local_8 undefined4 -8 ;XREF[2,0]: 00417182,004171be
;local_fc undefined4 -fc ;XREF[14,0]: 004171ec,00417246,00417293,004172a7,0041733a
; 0041734b,0041739b,004173ad,004173ef,0041743f
; 00417462,00417508,004175a1,004175df
;local_100 undefined4 -100 ;XREF[18,0]: 00417219,00417238,00417240,00417262,00417276
; 004172c1,00417305,004173fd,00417475,0041749a
; 004174bd,004174c9,004174fc,00417532,00417548
; 00417572,00417588,004175a9
;local_104 undefined4 -104 ;XREF[15,0]: 004171a0,004172da,0041732e,004173b8,004173e9
; 00417435,0041746d,00417490,004174b7,00417502
; 00417553,00417593,004175e5,00417622,0041762d
;local_108 undefined4 -108 ;XREF[12,0]: 00417190,00417299,004172e5,00417334,00417358
; 004173f5,00417563,004175b3,004175bd,004175ef
; 00417616,00417653
;local_10c undefined4 -10c ;XREF[10,0]: 00417196,0041728d,00417328,00417395,0041741c
; 0041742a,00417445,00417481,00417521,0041755d
;local_110 undefined4 -110 ;XREF[8,0]: 00417252,004172ed,004172fd,00417412,0041747b
; 004174c3,004174f6,0041759b
;local_114 undefined4 -114 ;XREF[5,0]: 0041720f,004172a1,004172f3,00417372,004174d3
;local_118 undefined4 -118 ;XREF[5,0]: 004172cc,00417322,0041735e,0041736a,004173cc
;local_11c undefined4 -11c ;XREF[7,0]: 004171d7,004175c7,004175d9,004175fe,00417610
; 00417633,0041763c
;XREF[1,0]: 004111f0
.text:00417170 8bff MOV EDI,EDI
.text:00417172 55 PUSH EBP
.text:00417173 8bec MOV EBP,ESP
.text:00417175 81ec18010000 SUB ESP,0x118
.text:0041717b a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00417180 33c5 XOR EAX,EBP
.text:00417182 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00417185 8b4d0c MOV ECX,dword ptr [EBP + _NumOfElements+0x4]
.text:00417188 53 PUSH EBX
.text:00417189 8b5d14 MOV EBX,dword ptr [EBP + _PtFuncCompare+0x4]
.text:0041718c 56 PUSH ESI
.text:0041718d 8b7508 MOV ESI,dword ptr [EBP + _Base+0x4]
.text:00417190 89b5fcfeffff MOV dword ptr [EBP + local_108+0x4],ESI
.text:00417196 899df8feffff MOV dword ptr [EBP + local_10c+0x4],EBX
.text:0041719c 57 PUSH EDI
.text:0041719d 8b7d10 MOV EDI,dword ptr [EBP + _SizeOfElements+...
.text:004171a0 89bd00ffffff MOV dword ptr [EBP + local_104+0x4],EDI
.text:004171a6 85f6 TEST ESI,ESI
.text:004171a8 7525 JNZ LAB_004171cf
.text:004171aa 85c9 TEST ECX,ECX
.text:004171ac 7421 JZ LAB_004171cf
LAB_004171ae: ;XREF[2,0]: 004171d1,004171d5
.text:004171ae e85171ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004171b3 c70016000000 MOV dword ptr [EAX],0x16
.text:004171b9 e86570ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
LAB_004171be: ;XREF[2,0]: 004171e4,00417642
.text:004171be 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:004171c1 5f POP EDI
.text:004171c2 5e POP ESI
.text:004171c3 33cd XOR ECX,EBP
.text:004171c5 5b POP EBX
.text:004171c6 e85aaffeff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:004171cb 8be5 MOV ESP,EBP
.text:004171cd 5d POP EBP
.text:004171ce c3 RET
LAB_004171cf: ;XREF[2,0]: 004171a8,004171ac
.text:004171cf 85ff TEST EDI,EDI
.text:004171d1 74db JZ LAB_004171ae
.text:004171d3 85db TEST EBX,EBX
.text:004171d5 74d7 JZ LAB_004171ae
.text:004171d7 c785e8fef... MOV dword ptr [EBP + local_11c+0x4],0x0
.text:004171e1 83f902 CMP ECX,0x2
.text:004171e4 72d8 JC LAB_004171be
.text:004171e6 49 DEC ECX
.text:004171e7 0fafcf IMUL ECX,EDI
.text:004171ea 03ce ADD ECX,ESI
LAB_004171ec: ;XREF[2,0]: 00417628,00417659
.text:004171ec 898d08ffffff MOV dword ptr [EBP + local_fc+0x4],ECX
LAB_004171f2: ;XREF[1,0]: 004175f5
.text:004171f2 8bc1 MOV EAX,ECX
.text:004171f4 33d2 XOR EDX,EDX
.text:004171f6 2bc6 SUB EAX,ESI
.text:004171f8 f7f7 DIV EDI
.text:004171fa 40 INC EAX
.text:004171fb 83f808 CMP EAX,0x8
.text:004171fe 0f87b6000000 JA LAB_004172ba
.text:00417204 3bce CMP ECX,ESI
.text:00417206 0f8627040000 JBE LAB_00417633
.text:0041720c 8d1437 LEA EDX,[EDI + ESI*0x1]
.text:0041720f 8995f0feffff MOV dword ptr [EBP + local_114+0x4],EDX
LAB_00417215: ;XREF[1,0]: 004172af
.text:00417215 8bc6 MOV EAX,ESI
.text:00417217 8bf2 MOV ESI,EDX
.text:00417219 898504ffffff MOV dword ptr [EBP + local_100+0x4],EAX
.text:0041721f 3bf1 CMP ESI,ECX
.text:00417221 772f JA LAB_00417252
LAB_00417223: ;XREF[1,0]: 00417250
.text:00417223 50 PUSH EAX
.text:00417224 56 PUSH ESI
.text:00417225 8bcb MOV ECX,EBX
.text:00417227 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0041722d ffd3 CALL EBX
.text:0041722f 83c408 ADD ESP,0x8
.text:00417232 85c0 TEST EAX,EAX
.text:00417234 7e0a JLE LAB_00417240
.text:00417236 8bc6 MOV EAX,ESI
.text:00417238 898504ffffff MOV dword ptr [EBP + local_100+0x4],EAX
.text:0041723e eb06 JMP LAB_00417246
LAB_00417240: ;XREF[1,0]: 00417234
.text:00417240 8b8504ffffff MOV EAX,dword ptr [EBP + local_100+0x4]
LAB_00417246: ;XREF[1,0]: 0041723e
.text:00417246 8b8d08ffffff MOV ECX,dword ptr [EBP + local_fc+0x4]
.text:0041724c 03f7 ADD ESI,EDI
.text:0041724e 3bf1 CMP ESI,ECX
.text:00417250 76d1 JBE LAB_00417223
LAB_00417252: ;XREF[1,0]: 00417221
.text:00417252 89bdf4feffff MOV dword ptr [EBP + local_110+0x4],EDI
.text:00417258 8bd1 MOV EDX,ECX
.text:0041725a 3bc1 CMP EAX,ECX
.text:0041725c 743b JZ LAB_00417299
.text:0041725e 2bc1 SUB EAX,ECX
.text:00417260 8bdf MOV EBX,EDI
.text:00417262 898504ffffff MOV dword ptr [EBP + local_100+0x4],EAX
.text:00417268 eb06 JMP LAB_00417270
.text:0041726a 8d ?? 8Dh
.text:0041726b 9b ?? 9Bh
.text:0041726c 00 ?? 00h
.text:0041726d 00 ?? 00h
.text:0041726e 00 ?? 00h
.text:0041726f 00 ?? 00h
LAB_00417270: ;XREF[2,0]: 00417268,0041728b
.text:00417270 8a0c10 MOV CL,byte ptr [EAX + EDX*0x1]
.text:00417273 8d5201 LEA EDX,[EDX + 0x1]
.text:00417276 8bb504ffffff MOV ESI,dword ptr [EBP + local_100+0x4]
.text:0041727c 8a42ff MOV AL,byte ptr [EDX + -0x1]
.text:0041727f 884416ff MOV byte ptr [ESI + EDX*0x1 + -0x1],AL
.text:00417283 8bc6 MOV EAX,ESI
.text:00417285 884aff MOV byte ptr [EDX + -0x1],CL
.text:00417288 83eb01 SUB EBX,0x1
.text:0041728b 75e3 JNZ LAB_00417270
.text:0041728d 8b9df8feffff MOV EBX,dword ptr [EBP + local_10c+0x4]
.text:00417293 8b8d08ffffff MOV ECX,dword ptr [EBP + local_fc+0x4]
LAB_00417299: ;XREF[1,0]: 0041725c
.text:00417299 8bb5fcfeffff MOV ESI,dword ptr [EBP + local_108+0x4]
.text:0041729f 2bcf SUB ECX,EDI
.text:004172a1 8b95f0feffff MOV EDX,dword ptr [EBP + local_114+0x4]
.text:004172a7 898d08ffffff MOV dword ptr [EBP + local_fc+0x4],ECX
.text:004172ad 3bce CMP ECX,ESI
.text:004172af 0f8760ffffff JA LAB_00417215
.text:004172b5 e979030000 JMP LAB_00417633
LAB_004172ba: ;XREF[1,0]: 004171fe
.text:004172ba d1e8 SHR EAX,0x1
.text:004172bc 8bcb MOV ECX,EBX
.text:004172be 0fafc7 IMUL EAX,EDI
.text:004172c1 898504ffffff MOV dword ptr [EBP + local_100+0x4],EAX
.text:004172c7 8d3c30 LEA EDI,[EAX + ESI*0x1]
.text:004172ca 57 PUSH EDI
.text:004172cb 56 PUSH ESI
.text:004172cc 89bdecfeffff MOV dword ptr [EBP + local_118+0x4],EDI
.text:004172d2 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:004172d8 ffd3 CALL EBX
.text:004172da 8bb500ffffff MOV ESI,dword ptr [EBP + local_104+0x4]
.text:004172e0 83c408 ADD ESP,0x8
.text:004172e3 85c0 TEST EAX,EAX
.text:004172e5 8b85fcfeffff MOV EAX,dword ptr [EBP + local_108+0x4]
.text:004172eb 7e4d JLE LAB_0041733a
.text:004172ed 89b5f4feffff MOV dword ptr [EBP + local_110+0x4],ESI
.text:004172f3 89bdf0feffff MOV dword ptr [EBP + local_114+0x4],EDI
.text:004172f9 3bc7 CMP EAX,EDI
.text:004172fb 743d JZ LAB_0041733a
.text:004172fd 8b9df4feffff MOV EBX,dword ptr [EBP + local_110+0x4]
.text:00417303 8bf7 MOV ESI,EDI
.text:00417305 8bbd04ffffff MOV EDI,dword ptr [EBP + local_100+0x4]
.text:0041730b eb03 JMP LAB_00417310
.text:0041730d 8d ?? 8Dh
.text:0041730e 49 ?? 49h I
.text:0041730f 00 ?? 00h
LAB_00417310: ;XREF[2,0]: 0041730b,00417320
.text:00417310 8a06 MOV AL,byte ptr [ESI]
.text:00417312 8bd6 MOV EDX,ESI
.text:00417314 2bd7 SUB EDX,EDI
.text:00417316 8a0a MOV CL,byte ptr [EDX]
.text:00417318 8802 MOV byte ptr [EDX],AL
.text:0041731a 880e MOV byte ptr [ESI],CL
.text:0041731c 46 INC ESI
.text:0041731d 83eb01 SUB EBX,0x1
.text:00417320 75ee JNZ LAB_00417310
.text:00417322 8bbdecfeffff MOV EDI,dword ptr [EBP + local_118+0x4]
.text:00417328 8b9df8feffff MOV EBX,dword ptr [EBP + local_10c+0x4]
.text:0041732e 8bb500ffffff MOV ESI,dword ptr [EBP + local_104+0x4]
.text:00417334 8b85fcfeffff MOV EAX,dword ptr [EBP + local_108+0x4]
LAB_0041733a: ;XREF[2,0]: 004172eb,004172fb
.text:0041733a ffb508ffffff PUSH dword ptr [EBP + local_fc+0x4]
.text:00417340 8bcb MOV ECX,EBX
.text:00417342 50 PUSH EAX
.text:00417343 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00417349 ffd3 CALL EBX
.text:0041734b 8b9508ffffff MOV EDX,dword ptr [EBP + local_fc+0x4]
.text:00417351 83c408 ADD ESP,0x8
.text:00417354 85c0 TEST EAX,EAX
.text:00417356 7e49 JLE LAB_004173a1
.text:00417358 8b85fcfeffff MOV EAX,dword ptr [EBP + local_108+0x4]
.text:0041735e 89b5ecfeffff MOV dword ptr [EBP + local_118+0x4],ESI
.text:00417364 8bf2 MOV ESI,EDX
.text:00417366 3bc2 CMP EAX,EDX
.text:00417368 7437 JZ LAB_004173a1
.text:0041736a 8b9decfeffff MOV EBX,dword ptr [EBP + local_118+0x4]
.text:00417370 2bc2 SUB EAX,EDX
.text:00417372 8985f0feffff MOV dword ptr [EBP + local_114+0x4],EAX
.text:00417378 8bd0 MOV EDX,EAX
.text:0041737a 8d9b00000000 LEA EBX,[EBX]
LAB_00417380: ;XREF[1,0]: 00417393
.text:00417380 8a06 MOV AL,byte ptr [ESI]
.text:00417382 8d7601 LEA ESI,[ESI + 0x1]
.text:00417385 8a4c32ff MOV CL,byte ptr [EDX + ESI*0x1 + -0x1]
.text:00417389 884432ff MOV byte ptr [EDX + ESI*0x1 + -0x1],AL
.text:0041738d 884eff MOV byte ptr [ESI + -0x1],CL
.text:00417390 83eb01 SUB EBX,0x1
.text:00417393 75eb JNZ LAB_00417380
.text:00417395 8b9df8feffff MOV EBX,dword ptr [EBP + local_10c+0x4]
.text:0041739b 8b9508ffffff MOV EDX,dword ptr [EBP + local_fc+0x4]
LAB_004173a1: ;XREF[2,0]: 00417356,00417368
.text:004173a1 52 PUSH EDX
.text:004173a2 57 PUSH EDI
.text:004173a3 8bcb MOV ECX,EBX
.text:004173a5 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:004173ab ffd3 CALL EBX
.text:004173ad 8b9508ffffff MOV EDX,dword ptr [EBP + local_fc+0x4]
.text:004173b3 83c408 ADD ESP,0x8
.text:004173b6 85c0 TEST EAX,EAX
.text:004173b8 8b8500ffffff MOV EAX,dword ptr [EBP + local_104+0x4]
.text:004173be 7e35 JLE LAB_004173f5
.text:004173c0 8bd8 MOV EBX,EAX
.text:004173c2 8bf2 MOV ESI,EDX
.text:004173c4 3bfa CMP EDI,EDX
.text:004173c6 742d JZ LAB_004173f5
.text:004173c8 8bc7 MOV EAX,EDI
.text:004173ca 2bc2 SUB EAX,EDX
.text:004173cc 8985ecfeffff MOV dword ptr [EBP + local_118+0x4],EAX
.text:004173d2 8bd0 MOV EDX,EAX
LAB_004173d4: ;XREF[1,0]: 004173e7
.text:004173d4 8a06 MOV AL,byte ptr [ESI]
.text:004173d6 8d7601 LEA ESI,[ESI + 0x1]
.text:004173d9 8a4c32ff MOV CL,byte ptr [EDX + ESI*0x1 + -0x1]
.text:004173dd 884432ff MOV byte ptr [EDX + ESI*0x1 + -0x1],AL
.text:004173e1 884eff MOV byte ptr [ESI + -0x1],CL
.text:004173e4 83eb01 SUB EBX,0x1
.text:004173e7 75eb JNZ LAB_004173d4
.text:004173e9 8b8500ffffff MOV EAX,dword ptr [EBP + local_104+0x4]
.text:004173ef 8b9508ffffff MOV EDX,dword ptr [EBP + local_fc+0x4]
LAB_004173f5: ;XREF[2,0]: 004173be,004173c6
.text:004173f5 8bb5fcfeffff MOV ESI,dword ptr [EBP + local_108+0x4]
.text:004173fb 8bda MOV EBX,EDX
.text:004173fd 899504ffffff MOV dword ptr [EBP + local_100+0x4],EDX
LAB_00417403: ;XREF[2,0]: 00417510,00417518
.text:00417403 3bfe CMP EDI,ESI
.text:00417405 763e JBE LAB_00417445
.text:00417407 eb07 JMP LAB_00417410
.text:00417409 8d ?? 8Dh
.text:0041740a a4 ?? A4h
.text:0041740b 24 ?? 24h $
.text:0041740c 00 ?? 00h
.text:0041740d 00 ?? 00h
.text:0041740e 00 ?? 00h
.text:0041740f 00 ?? 00h
LAB_00417410: ;XREF[2,0]: 00417407,0041743b
.text:00417410 03f0 ADD ESI,EAX
.text:00417412 89b5f4feffff MOV dword ptr [EBP + local_110+0x4],ESI
.text:00417418 3bf7 CMP ESI,EDI
.text:0041741a 7323 JNC LAB_0041743f
.text:0041741c 8b8df8feffff MOV ECX,dword ptr [EBP + local_10c+0x4]
.text:00417422 57 PUSH EDI
.text:00417423 56 PUSH ESI
.text:00417424 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:0041742a ff95f8feffff CALL dword ptr [EBP + local_10c+0x4]
.text:00417430 83c408 ADD ESP,0x8
.text:00417433 85c0 TEST EAX,EAX
.text:00417435 8b8500ffffff MOV EAX,dword ptr [EBP + local_104+0x4]
.text:0041743b 7ed3 JLE LAB_00417410
.text:0041743d eb42 JMP LAB_00417481
LAB_0041743f: ;XREF[1,0]: 0041741a
.text:0041743f 8b9508ffffff MOV EDX,dword ptr [EBP + local_fc+0x4]
LAB_00417445: ;XREF[1,0]: 00417405
.text:00417445 8b9df8feffff MOV EBX,dword ptr [EBP + local_10c+0x4]
.text:0041744b eb03 JMP LAB_00417450
.text:0041744d 8d ?? 8Dh
.text:0041744e 49 ?? 49h I
.text:0041744f 00 ?? 00h
LAB_00417450: ;XREF[2,0]: 0041744b,00417473
.text:00417450 03f0 ADD ESI,EAX
.text:00417452 3bf2 CMP ESI,EDX
.text:00417454 771f JA LAB_00417475
.text:00417456 57 PUSH EDI
.text:00417457 56 PUSH ESI
.text:00417458 8bcb MOV ECX,EBX
.text:0041745a ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00417460 ffd3 CALL EBX
.text:00417462 8b9508ffffff MOV EDX,dword ptr [EBP + local_fc+0x4]
.text:00417468 83c408 ADD ESP,0x8
.text:0041746b 85c0 TEST EAX,EAX
.text:0041746d 8b8500ffffff MOV EAX,dword ptr [EBP + local_104+0x4]
.text:00417473 7edb JLE LAB_00417450
LAB_00417475: ;XREF[1,0]: 00417454
.text:00417475 8b9d04ffffff MOV EBX,dword ptr [EBP + local_100+0x4]
.text:0041747b 89b5f4feffff MOV dword ptr [EBP + local_110+0x4],ESI
LAB_00417481: ;XREF[1,0]: 0041743d
.text:00417481 8bb5f8feffff MOV ESI,dword ptr [EBP + local_10c+0x4]
.text:00417487 eb07 JMP LAB_00417490
.text:00417489 8d ?? 8Dh
.text:0041748a a4 ?? A4h
.text:0041748b 24 ?? 24h $
.text:0041748c 00 ?? 00h
.text:0041748d 00 ?? 00h
.text:0041748e 00 ?? 00h
.text:0041748f 00 ?? 00h
LAB_00417490: ;XREF[2,0]: 00417487,004174b5
.text:00417490 8b8500ffffff MOV EAX,dword ptr [EBP + local_104+0x4]
.text:00417496 8bcb MOV ECX,EBX
.text:00417498 2bd8 SUB EBX,EAX
.text:0041749a 898d04ffffff MOV dword ptr [EBP + local_100+0x4],ECX
.text:004174a0 3bdf CMP EBX,EDI
.text:004174a2 761f JBE LAB_004174c3
.text:004174a4 57 PUSH EDI
.text:004174a5 53 PUSH EBX
.text:004174a6 8bce MOV ECX,ESI
.text:004174a8 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:004174ae ffd6 CALL ESI
.text:004174b0 83c408 ADD ESP,0x8
.text:004174b3 85c0 TEST EAX,EAX
.text:004174b5 7fd9 JG LAB_00417490
.text:004174b7 8b8500ffffff MOV EAX,dword ptr [EBP + local_104+0x4]
.text:004174bd 8b8d04ffffff MOV ECX,dword ptr [EBP + local_100+0x4]
LAB_004174c3: ;XREF[1,0]: 004174a2
.text:004174c3 8bb5f4feffff MOV ESI,dword ptr [EBP + local_110+0x4]
.text:004174c9 899d04ffffff MOV dword ptr [EBP + local_100+0x4],EBX
.text:004174cf 3bde CMP EBX,ESI
.text:004174d1 724a JC LAB_0041751d
.text:004174d3 8985f0feffff MOV dword ptr [EBP + local_114+0x4],EAX
.text:004174d9 8bd3 MOV EDX,EBX
.text:004174db 742b JZ LAB_00417508
.text:004174dd 2bf3 SUB ESI,EBX
.text:004174df 8bd8 MOV EBX,EAX
LAB_004174e1: ;XREF[1,0]: 004174f4
.text:004174e1 8a02 MOV AL,byte ptr [EDX]
.text:004174e3 8d5201 LEA EDX,[EDX + 0x1]
.text:004174e6 8a4c16ff MOV CL,byte ptr [ESI + EDX*0x1 + -0x1]
.text:004174ea 884416ff MOV byte ptr [ESI + EDX*0x1 + -0x1],AL
.text:004174ee 884aff MOV byte ptr [EDX + -0x1],CL
.text:004174f1 83eb01 SUB EBX,0x1
.text:004174f4 75eb JNZ LAB_004174e1
.text:004174f6 8bb5f4feffff MOV ESI,dword ptr [EBP + local_110+0x4]
.text:004174fc 8b9d04ffffff MOV EBX,dword ptr [EBP + local_100+0x4]
.text:00417502 8b8500ffffff MOV EAX,dword ptr [EBP + local_104+0x4]
LAB_00417508: ;XREF[1,0]: 004174db
.text:00417508 8b9508ffffff MOV EDX,dword ptr [EBP + local_fc+0x4]
.text:0041750e 3bfb CMP EDI,EBX
.text:00417510 0f85edfeffff JNZ LAB_00417403
.text:00417516 8bfe MOV EDI,ESI
.text:00417518 e9e6feffff JMP LAB_00417403
LAB_0041751d: ;XREF[1,0]: 004174d1
.text:0041751d 3bf9 CMP EDI,ECX
.text:0041751f 733c JNC LAB_0041755d
.text:00417521 8b9df8feffff MOV EBX,dword ptr [EBP + local_10c+0x4]
.text:00417527 eb07 JMP LAB_00417530
.text:00417529 8d ?? 8Dh
.text:0041752a a4 ?? A4h
.text:0041752b 24 ?? 24h $
.text:0041752c 00 ?? 00h
.text:0041752d 00 ?? 00h
.text:0041752e 00 ?? 00h
.text:0041752f 00 ?? 00h
LAB_00417530: ;XREF[2,0]: 00417527,00417559
.text:00417530 2bc8 SUB ECX,EAX
.text:00417532 898d04ffffff MOV dword ptr [EBP + local_100+0x4],ECX
.text:00417538 3bcf CMP ECX,EDI
.text:0041753a 7621 JBE LAB_0041755d
.text:0041753c 57 PUSH EDI
.text:0041753d 51 PUSH ECX
.text:0041753e 8bcb MOV ECX,EBX
.text:00417540 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00417546 ffd3 CALL EBX
.text:00417548 8b8d04ffffff MOV ECX,dword ptr [EBP + local_100+0x4]
.text:0041754e 83c408 ADD ESP,0x8
.text:00417551 85c0 TEST EAX,EAX
.text:00417553 8b8500ffffff MOV EAX,dword ptr [EBP + local_104+0x4]
.text:00417559 74d5 JZ LAB_00417530
.text:0041755b eb44 JMP LAB_004175a1
LAB_0041755d: ;XREF[2,0]: 0041751f,0041753a
.text:0041755d 8b9df8feffff MOV EBX,dword ptr [EBP + local_10c+0x4]
.text:00417563 8bb5fcfeffff MOV ESI,dword ptr [EBP + local_108+0x4]
.text:00417569 8da424000... LEA ESP,[ESP]
LAB_00417570: ;XREF[1,0]: 00417599
.text:00417570 2bc8 SUB ECX,EAX
.text:00417572 898d04ffffff MOV dword ptr [EBP + local_100+0x4],ECX
.text:00417578 3bce CMP ECX,ESI
.text:0041757a 761f JBE LAB_0041759b
.text:0041757c 57 PUSH EDI
.text:0041757d 51 PUSH ECX
.text:0041757e 8bcb MOV ECX,EBX
.text:00417580 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:00417586 ffd3 CALL EBX
.text:00417588 8b8d04ffffff MOV ECX,dword ptr [EBP + local_100+0x4]
.text:0041758e 83c408 ADD ESP,0x8
.text:00417591 85c0 TEST EAX,EAX
.text:00417593 8b8500ffffff MOV EAX,dword ptr [EBP + local_104+0x4]
.text:00417599 74d5 JZ LAB_00417570
LAB_0041759b: ;XREF[1,0]: 0041757a
.text:0041759b 8bb5f4feffff MOV ESI,dword ptr [EBP + local_110+0x4]
LAB_004175a1: ;XREF[1,0]: 0041755b
.text:004175a1 8b9508ffffff MOV EDX,dword ptr [EBP + local_fc+0x4]
.text:004175a7 8bca MOV ECX,EDX
.text:004175a9 8bbd04ffffff MOV EDI,dword ptr [EBP + local_100+0x4]
.text:004175af 2bce SUB ECX,ESI
.text:004175b1 8bc7 MOV EAX,EDI
.text:004175b3 2b85fcfeffff SUB EAX,dword ptr [EBP + local_108+0x4]
.text:004175b9 3bc1 CMP EAX,ECX
.text:004175bb 7c3d JL LAB_004175fa
.text:004175bd 8b85fcfeffff MOV EAX,dword ptr [EBP + local_108+0x4]
.text:004175c3 3bc7 CMP EAX,EDI
.text:004175c5 7318 JNC LAB_004175df
.text:004175c7 8b8de8feffff MOV ECX,dword ptr [EBP + local_11c+0x4]
.text:004175cd 89448d84 MOV dword ptr [EBP + ECX*0x4 + -0x7c],EAX
.text:004175d1 89bc8d0cf... MOV dword ptr [EBP +...,EDI
.text:004175d8 41 INC ECX
.text:004175d9 898de8feffff MOV dword ptr [EBP + local_11c+0x4],ECX
LAB_004175df: ;XREF[1,0]: 004175c5
.text:004175df 8b8d08ffffff MOV ECX,dword ptr [EBP + local_fc+0x4]
.text:004175e5 8bbd00ffffff MOV EDI,dword ptr [EBP + local_104+0x4]
.text:004175eb 3bf1 CMP ESI,ECX
.text:004175ed 7344 JNC LAB_00417633
.text:004175ef 89b5fcfeffff MOV dword ptr [EBP + local_108+0x4],ESI
.text:004175f5 e9f8fbffff JMP LAB_004171f2
LAB_004175fa: ;XREF[1,0]: 004175bb
.text:004175fa 3bf2 CMP ESI,EDX
.text:004175fc 7318 JNC LAB_00417616
.text:004175fe 8b85e8feffff MOV EAX,dword ptr [EBP + local_11c+0x4]
.text:00417604 89748584 MOV dword ptr [EBP + EAX*0x4 + -0x7c],ESI
.text:00417608 8994850cf... MOV dword ptr [EBP +...,EDX
.text:0041760f 40 INC EAX
.text:00417610 8985e8feffff MOV dword ptr [EBP + local_11c+0x4],EAX
LAB_00417616: ;XREF[1,0]: 004175fc
.text:00417616 8bb5fcfeffff MOV ESI,dword ptr [EBP + local_108+0x4]
.text:0041761c 3bf7 CMP ESI,EDI
.text:0041761e 730d JNC LAB_0041762d
.text:00417620 8bcf MOV ECX,EDI
.text:00417622 8bbd00ffffff MOV EDI,dword ptr [EBP + local_104+0x4]
.text:00417628 e9bffbffff JMP LAB_004171ec
LAB_0041762d: ;XREF[1,0]: 0041761e
.text:0041762d 8bbd00ffffff MOV EDI,dword ptr [EBP + local_104+0x4]
LAB_00417633: ;XREF[3,0]: 00417206,004172b5,004175ed
.text:00417633 8b85e8feffff MOV EAX,dword ptr [EBP + local_11c+0x4]
.text:00417639 83e801 SUB EAX,0x1
.text:0041763c 8985e8feffff MOV dword ptr [EBP + local_11c+0x4],EAX
.text:00417642 0f8876fbffff JS LAB_004171be
.text:00417648 8b748584 MOV ESI,dword ptr [EBP + EAX*0x4 + -0x7c]
.text:0041764c 8b8c850cf... MOV ECX,dword ptr [EBP + EAX*0x4 + 0xffff...
.text:00417653 89b5fcfeffff MOV dword ptr [EBP + local_108+0x4],ESI
.text:00417659 e98efbffff JMP LAB_004171ec
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0041765e(char * param_1, int param_2, int param_3, int param_4)
;param_1 char * 4 ;XREF[1,0]: 00417664
;param_2 int 8 ;XREF[3,0]: 00417678,00417697,004176f9
;param_3 int c ;XREF[1,0]: 00417668
;param_4 int 10 ;XREF[1,0]: 0041766c
;local_8 undefined4 -8 ;XREF[3,0]: 004176b3,004176da,004176e5
;XREF[1,0]: 0041771b
.text:0041765e 8bff MOV EDI,EDI
.text:00417660 55 PUSH EBP
.text:00417661 8bec MOV EBP,ESP
.text:00417663 51 PUSH ECX
.text:00417664 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00417667 53 PUSH EBX
.text:00417668 8b5d10 MOV EBX,dword ptr [EBP + param_3+0x4]
.text:0041766b 56 PUSH ESI
.text:0041766c 8b7514 MOV ESI,dword ptr [EBP + param_4+0x4]
.text:0041766f 57 PUSH EDI
.text:00417670 85f6 TEST ESI,ESI
.text:00417672 751f JNZ LAB_00417693
.text:00417674 85c9 TEST ECX,ECX
.text:00417676 751f JNZ LAB_00417697
.text:00417678 39750c CMP dword ptr [EBP + param_2+0x4],ESI
.text:0041767b 7428 JZ LAB_004176a5
LAB_0041767d: ;XREF[3,0]: 00417695,0041769c,004176af
.text:0041767d e8826cffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00417682 6a16 PUSH 0x16
LAB_00417684: ;XREF[1,0]: 00417710
.text:00417684 5e POP ESI
.text:00417685 8930 MOV dword ptr [EAX],ESI
.text:00417687 e8976bffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0041768c 8bc6 MOV EAX,ESI
LAB_0041768e: ;XREF[2,0]: 004176a7,00417704
.text:0041768e 5f POP EDI
.text:0041768f 5e POP ESI
.text:00417690 5b POP EBX
.text:00417691 c9 LEAVE
.text:00417692 c3 RET
LAB_00417693: ;XREF[1,0]: 00417672
.text:00417693 85c9 TEST ECX,ECX
.text:00417695 74e6 JZ LAB_0041767d
LAB_00417697: ;XREF[1,0]: 00417676
.text:00417697 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0041769a 85c0 TEST EAX,EAX
.text:0041769c 74df JZ LAB_0041767d
.text:0041769e 85f6 TEST ESI,ESI
.text:004176a0 7507 JNZ LAB_004176a9
.text:004176a2 c60100 MOV byte ptr [ECX],0x0
LAB_004176a5: ;XREF[4,0]: 0041767b,004176c7,004176d8,004176f2
.text:004176a5 33c0 XOR EAX,EAX
.text:004176a7 ebe5 JMP LAB_0041768e
LAB_004176a9: ;XREF[1,0]: 004176a0
.text:004176a9 85db TEST EBX,EBX
.text:004176ab 7504 JNZ LAB_004176b1
.text:004176ad 8819 MOV byte ptr [ECX],BL
.text:004176af ebcc JMP LAB_0041767d
LAB_004176b1: ;XREF[1,0]: 004176ab
.text:004176b1 2bd9 SUB EBX,ECX
.text:004176b3 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
.text:004176b6 8bd1 MOV EDX,ECX
.text:004176b8 8bf8 MOV EDI,EAX
.text:004176ba 83feff CMP ESI,-0x1
.text:004176bd 7511 JNZ LAB_004176d0
LAB_004176bf: ;XREF[1,0]: 004176cc
.text:004176bf 8a0413 MOV AL,byte ptr [EBX + EDX*0x1]
.text:004176c2 8802 MOV byte ptr [EDX],AL
.text:004176c4 42 INC EDX
.text:004176c5 84c0 TEST AL,AL
.text:004176c7 74dc JZ LAB_004176a5
.text:004176c9 83ef01 SUB EDI,0x1
.text:004176cc 75f1 JNZ LAB_004176bf
.text:004176ce eb20 JMP LAB_004176f0
LAB_004176d0: ;XREF[2,0]: 004176bd,004176e8
.text:004176d0 8a0413 MOV AL,byte ptr [EBX + EDX*0x1]
.text:004176d3 8802 MOV byte ptr [EDX],AL
.text:004176d5 42 INC EDX
.text:004176d6 84c0 TEST AL,AL
.text:004176d8 74cb JZ LAB_004176a5
.text:004176da 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:004176dd 83ef01 SUB EDI,0x1
.text:004176e0 7408 JZ LAB_004176ea
.text:004176e2 83e801 SUB EAX,0x1
.text:004176e5 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:004176e8 75e6 JNZ LAB_004176d0
LAB_004176ea: ;XREF[1,0]: 004176e0
.text:004176ea 85c0 TEST EAX,EAX
.text:004176ec 7502 JNZ LAB_004176f0
.text:004176ee 8802 MOV byte ptr [EDX],AL
LAB_004176f0: ;XREF[2,0]: 004176ce,004176ec
.text:004176f0 85ff TEST EDI,EDI
.text:004176f2 75b1 JNZ LAB_004176a5
.text:004176f4 83feff CMP ESI,-0x1
.text:004176f7 750d JNZ LAB_00417706
.text:004176f9 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004176fc 6a50 PUSH 0x50
.text:004176fe c64401ff00 MOV byte ptr [ECX + EAX*0x1 + -0x1],0x0
.text:00417703 58 POP EAX
.text:00417704 eb88 JMP LAB_0041768e
LAB_00417706: ;XREF[1,0]: 004176f7
.text:00417706 c60100 MOV byte ptr [ECX],0x0
.text:00417709 e8f66bffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0041770e 6a22 PUSH 0x22
.text:00417710 e96fffffff JMP LAB_00417684
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00417715(char * param_1, int param_2, int param_3, int param_4)
;param_1 char * 4
;param_2 int 8
;param_3 int c
;param_4 int 10
;XREF[3,0]: 00410ed9,00410f6d,00410f86
.text:00417715 8bff MOV EDI,EDI
.text:00417717 55 PUSH EBP
.text:00417718 8bec MOV EBP,ESP
.text:0041771a 5d POP EBP
.text:0041771b e93effffff JMP FUN_0041765e ;undefined4 FUN_0041765e(char * param...
;************************************************************************************************
;* Library Function - Single Match *
;* _strpbrk *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;char * _strpbrk(char * _Str, char * _Control)
;_Str char * 4 ;XREF[1,0]: 00417743
;_Control char * 8 ;XREF[1,0]: 0041772e
;XREF[1,0]: 00410df8
.text:00417720 55 PUSH EBP
.text:00417721 8bec MOV EBP,ESP
.text:00417723 56 PUSH ESI
.text:00417724 33c0 XOR EAX,EAX
.text:00417726 50 PUSH EAX
.text:00417727 50 PUSH EAX
.text:00417728 50 PUSH EAX
.text:00417729 50 PUSH EAX
.text:0041772a 50 PUSH EAX
.text:0041772b 50 PUSH EAX
.text:0041772c 50 PUSH EAX
.text:0041772d 50 PUSH EAX
.text:0041772e 8b550c MOV EDX,dword ptr [EBP + _Control+0x4]
.text:00417731 8d4900 LEA ECX,[ECX]
LAB_00417734: ;XREF[1,0]: 00417741
.text:00417734 8a02 MOV AL,byte ptr [EDX]
.text:00417736 0ac0 OR AL,AL
.text:00417738 7409 JZ LAB_00417743
.text:0041773a 83c201 ADD EDX,0x1
.text:0041773d 0fab0424 BTS [ESP],EAX
.text:00417741 ebf1 JMP LAB_00417734
LAB_00417743: ;XREF[1,0]: 00417738
.text:00417743 8b7508 MOV ESI,dword ptr [EBP + _Str+0x4]
.text:00417746 8bff MOV EDI,EDI
LAB_00417748: ;XREF[1,0]: 00417755
.text:00417748 8a06 MOV AL,byte ptr [ESI]
.text:0041774a 0ac0 OR AL,AL
.text:0041774c 740c JZ LAB_0041775a
.text:0041774e 83c601 ADD ESI,0x1
.text:00417751 0fa30424 BT [ESP],EAX
.text:00417755 73f1 JNC LAB_00417748
.text:00417757 8d46ff LEA EAX,[ESI + -0x1]
LAB_0041775a: ;XREF[1,0]: 0041774c
.text:0041775a 83c420 ADD ESP,0x20
.text:0041775d 5e POP ESI
.text:0041775e c9 LEAVE
.text:0041775f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __mbsdec *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;uchar * __mbsdec(uchar * _Start, uchar * _Pos)
;_Start uchar * 4 ;XREF[1,0]: 0041776a
;_Pos uchar * 8 ;XREF[1,0]: 00417767
;XREF[1,0]: 00411010
.text:00417760 8bff MOV EDI,EDI
.text:00417762 55 PUSH EBP
.text:00417763 8bec MOV EBP,ESP
.text:00417765 6a00 PUSH 0x0
.text:00417767 ff750c PUSH dword ptr [EBP + _Pos+0x4]
.text:0041776a ff7508 PUSH dword ptr [EBP + _Start+0x4]
.text:0041776d e805000000 CALL __mbsdec_l ;uchar * __mbsdec_l(uchar * _Start, u...
.text:00417772 83c40c ADD ESP,0xc
.text:00417775 5d POP EBP
.text:00417776 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __mbsdec_l *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;uchar * __mbsdec_l(uchar * _Start, uchar * _Pos, _locale_t _Locale)
;_Start uchar * 4 ;XREF[3,0]: 0041777f,004177b3,004177d4
;_Pos uchar * 8 ;XREF[1,0]: 0041779a
;_Locale _locale_t c ;XREF[1,0]: 004177bc
;local_8 undefined1 -8 ;XREF[1,0]: 004177ef
;local_c undefined4 -c ;XREF[1,0]: 004177c7
;local_14 undefined4 -14 ;XREF[2,0]: 004177bf,004177f5
;XREF[1,0]: 0041776d
.text:00417777 8bff MOV EDI,EDI
.text:00417779 55 PUSH EBP
.text:0041777a 8bec MOV EBP,ESP
.text:0041777c 83ec10 SUB ESP,0x10
.text:0041777f 837d0800 CMP dword ptr [EBP + _Start+0x4],0x0
.text:00417783 7514 JNZ LAB_00417799
.text:00417785 e87a6bffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0041778a c70016000000 MOV dword ptr [EAX],0x16
.text:00417790 e88e6affff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00417795 33c0 XOR EAX,EAX
.text:00417797 c9 LEAVE
.text:00417798 c3 RET
LAB_00417799: ;XREF[1,0]: 00417783
.text:00417799 56 PUSH ESI
.text:0041779a 8b750c MOV ESI,dword ptr [EBP + _Pos+0x4]
.text:0041779d 85f6 TEST ESI,ESI
.text:0041779f 7512 JNZ LAB_004177b3
.text:004177a1 e85e6bffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004177a6 c70016000000 MOV dword ptr [EAX],0x16
.text:004177ac e8726affff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:004177b1 eb05 JMP LAB_004177b8
LAB_004177b3: ;XREF[1,0]: 0041779f
.text:004177b3 397508 CMP dword ptr [EBP + _Start+0x4],ESI
.text:004177b6 7204 JC LAB_004177bc
LAB_004177b8: ;XREF[1,0]: 004177b1
.text:004177b8 33c0 XOR EAX,EAX
.text:004177ba eb45 JMP LAB_00417801
LAB_004177bc: ;XREF[1,0]: 004177b6
.text:004177bc ff7510 PUSH dword ptr [EBP + _Locale+0x4]
.text:004177bf 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:004177c2 e82616ffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:004177c7 8b4df8 MOV ECX,dword ptr [EBP + local_c+0x4]
.text:004177ca 8d56ff LEA EDX,[ESI + -0x1]
.text:004177cd 83790800 CMP dword ptr [ECX + 0x8],0x0
.text:004177d1 741c JZ LAB_004177ef
LAB_004177d3: ;XREF[1,0]: 004177e1
.text:004177d3 4a DEC EDX
.text:004177d4 395508 CMP dword ptr [EBP + _Start+0x4],EDX
.text:004177d7 770a JA LAB_004177e3
.text:004177d9 0fb602 MOVZX EAX,byte ptr [EDX]
.text:004177dc f644081904 TEST byte ptr [EAX + ECX*0x1 + 0x19],0x4
.text:004177e1 75f0 JNZ LAB_004177d3
LAB_004177e3: ;XREF[1,0]: 004177d7
.text:004177e3 8bc6 MOV EAX,ESI
.text:004177e5 2bc2 SUB EAX,EDX
.text:004177e7 8bd6 MOV EDX,ESI
.text:004177e9 83e001 AND EAX,0x1
.text:004177ec 2bd0 SUB EDX,EAX
.text:004177ee 4a DEC EDX
LAB_004177ef: ;XREF[1,0]: 004177d1
.text:004177ef 807dfc00 CMP byte ptr [EBP + local_8+0x4],0x0
.text:004177f3 740a JZ LAB_004177ff
.text:004177f5 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004177f8 83a150030... AND dword ptr [ECX + 0x350],0xfffffffd
LAB_004177ff: ;XREF[1,0]: 004177f3
.text:004177ff 8bc2 MOV EAX,EDX
LAB_00417801: ;XREF[1,0]: 004177ba
.text:00417801 5e POP ESI
.text:00417802 c9 LEAVE
.text:00417803 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00417804(int * param_1, wchar_t * param_2, uint param_3, char * param_4, int param_5, wchar_t * param_6, int param_7, uint param_8, int param_9)
;param_1 int * 4 ;XREF[1,0]: 0041783a
;param_2 wchar_t * 8 ;XREF[3,0]: 004178ec,00417929,0041798d
;param_3 uint c ;XREF[4,0]: 004178e9,00417903,00417926,0041798a
;param_4 char * 10 ;XREF[3,0]: 00417820,00417852,004178c7
;param_5 int 14 ;XREF[1,0]: 00417818
;param_6 wchar_t * 18 ;XREF[2,0]: 00417921,004179c4
;param_7 int 1c ;XREF[3,0]: 00417908,0041799d,004179c1
;param_8 uint 20 ;XREF[3,0]: 00417833,00417842,004179a7
;param_9 int 24 ;XREF[1,0]: 00417847
;local_8 undefined4 -8 ;XREF[2,0]: 00417812,004179e7
;local_c undefined4 -c ;XREF[4,0]: 00417866,004178c2,004178dd,00417986
;local_18 undefined1 -18 ;XREF[1,0]: 004179e1
;XREF[1,0]: 00417a22
.text:00417804 8bff MOV EDI,EDI
.text:00417806 55 PUSH EBP
.text:00417807 8bec MOV EBP,ESP
.text:00417809 51 PUSH ECX
.text:0041780a 51 PUSH ECX
.text:0041780b a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00417810 33c5 XOR EAX,EBP
.text:00417812 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00417815 53 PUSH EBX
.text:00417816 56 PUSH ESI
.text:00417817 57 PUSH EDI
.text:00417818 8b7d18 MOV EDI,dword ptr [EBP + param_5+0x4]
.text:0041781b 85ff TEST EDI,EDI
.text:0041781d 7e14 JLE LAB_00417833
.text:0041781f 57 PUSH EDI
.text:00417820 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00417823 e80c0f0000 CALL ___strncnt ;undefined ___strncnt(char * param_1,...
.text:00417828 59 POP ECX
.text:00417829 3bc7 CMP EAX,EDI
.text:0041782b 59 POP ECX
.text:0041782c 8d7801 LEA EDI,[EAX + 0x1]
.text:0041782f 7c02 JL LAB_00417833
.text:00417831 8bf8 MOV EDI,EAX
LAB_00417833: ;XREF[2,0]: 0041781d,0041782f
.text:00417833 8b5d24 MOV EBX,dword ptr [EBP + param_8+0x4]
.text:00417836 85db TEST EBX,EBX
.text:00417838 750b JNZ LAB_00417845
.text:0041783a 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041783d 8b00 MOV EAX,dword ptr [EAX]
.text:0041783f 8b5808 MOV EBX,dword ptr [EAX + 0x8]
.text:00417842 895d24 MOV dword ptr [EBP + param_8+0x4],EBX
LAB_00417845: ;XREF[1,0]: 00417838
.text:00417845 33c0 XOR EAX,EAX
.text:00417847 394528 CMP dword ptr [EBP + param_9+0x4],EAX
.text:0041784a 6a00 PUSH 0x0
.text:0041784c 6a00 PUSH 0x0
.text:0041784e 0f95c0 SETNZ AL
.text:00417851 57 PUSH EDI
.text:00417852 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00417855 8d04c5010... LEA EAX,[EAX*0x8 + 0x1]
.text:0041785c 50 PUSH EAX
.text:0041785d 53 PUSH EBX
.text:0041785e e840a6ffff CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:00417863 83c418 ADD ESP,0x18
.text:00417866 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:00417869 85c0 TEST EAX,EAX
.text:0041786b 0f8470010000 JZ LAB_004179e1
.text:00417871 03c0 ADD EAX,EAX
.text:00417873 8d4808 LEA ECX,[EAX + 0x8]
.text:00417876 3bc1 CMP EAX,ECX
.text:00417878 1bc0 SBB EAX,EAX
.text:0041787a 23c1 AND EAX,ECX
.text:0041787c 0f8452010000 JZ LAB_004179d4
.text:00417882 3d00040000 CMP EAX,0x400
.text:00417887 7717 JA LAB_004178a0
.text:00417889 e8b2300000 CALL __alloca_probe_16 ;uint __alloca_probe_16(undefined1 pa...
.text:0041788e 8bf4 MOV ESI,ESP
.text:00417890 85f6 TEST ESI,ESI
.text:00417892 0f843e010000 JZ LAB_004179d6
.text:00417898 c706cccc0000 MOV dword ptr [ESI],0xcccc
.text:0041789e eb17 JMP LAB_004178b7
LAB_004178a0: ;XREF[1,0]: 00417887
.text:004178a0 50 PUSH EAX
.text:004178a1 e82b75ffff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:004178a6 8bf0 MOV ESI,EAX
.text:004178a8 59 POP ECX
.text:004178a9 85f6 TEST ESI,ESI
.text:004178ab 0f8425010000 JZ LAB_004179d6
.text:004178b1 c706dddd0000 MOV dword ptr [ESI],0xdddd
LAB_004178b7: ;XREF[1,0]: 0041789e
.text:004178b7 83c608 ADD ESI,0x8
.text:004178ba 85f6 TEST ESI,ESI
.text:004178bc 0f8414010000 JZ LAB_004179d6
.text:004178c2 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:004178c5 56 PUSH ESI
.text:004178c6 57 PUSH EDI
.text:004178c7 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:004178ca 6a01 PUSH 0x1
.text:004178cc 53 PUSH EBX
.text:004178cd e8d1a5ffff CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:004178d2 83c418 ADD ESP,0x18
.text:004178d5 85c0 TEST EAX,EAX
.text:004178d7 0f84f9000000 JZ LAB_004179d6
.text:004178dd 8b7df8 MOV EDI,dword ptr [EBP + local_c+0x4]
.text:004178e0 33c0 XOR EAX,EAX
.text:004178e2 50 PUSH EAX
.text:004178e3 50 PUSH EAX
.text:004178e4 50 PUSH EAX
.text:004178e5 50 PUSH EAX
.text:004178e6 50 PUSH EAX
.text:004178e7 57 PUSH EDI
.text:004178e8 56 PUSH ESI
.text:004178e9 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004178ec ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:004178ef e8786effff CALL FID_conflict:___acrt_CompareStringEx@36 ;undefined FID_conflict:___acrt_Compa...
.text:004178f4 8bd8 MOV EBX,EAX
.text:004178f6 85db TEST EBX,EBX
.text:004178f8 0f84d8000000 JZ LAB_004179d6
.text:004178fe ba00040000 MOV EDX,0x400
.text:00417903 855510 TEST dword ptr [EBP + param_3+0x4],EDX
.text:00417906 7438 JZ LAB_00417940
.text:00417908 8b4520 MOV EAX,dword ptr [EBP + param_7+0x4]
.text:0041790b 85c0 TEST EAX,EAX
.text:0041790d 0f84c5000000 JZ LAB_004179d8
.text:00417913 3bd8 CMP EBX,EAX
.text:00417915 0f8fbb000000 JG LAB_004179d6
.text:0041791b 33c9 XOR ECX,ECX
.text:0041791d 51 PUSH ECX
.text:0041791e 51 PUSH ECX
.text:0041791f 51 PUSH ECX
.text:00417920 50 PUSH EAX
.text:00417921 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:00417924 57 PUSH EDI
.text:00417925 56 PUSH ESI
.text:00417926 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00417929 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:0041792c e83b6effff CALL FID_conflict:___acrt_CompareStringEx@36 ;undefined FID_conflict:___acrt_Compa...
.text:00417931 8bd8 MOV EBX,EAX
.text:00417933 85db TEST EBX,EBX
.text:00417935 0f859d000000 JNZ LAB_004179d8
.text:0041793b e996000000 JMP LAB_004179d6
LAB_00417940: ;XREF[1,0]: 00417906
.text:00417940 8d041b LEA EAX,[EBX + EBX*0x1]
.text:00417943 8d4808 LEA ECX,[EAX + 0x8]
.text:00417946 3bc1 CMP EAX,ECX
.text:00417948 1bc0 SBB EAX,EAX
.text:0041794a 23c1 AND EAX,ECX
.text:0041794c 747b JZ LAB_004179c9
.text:0041794e 3bc2 CMP EAX,EDX
.text:00417950 7713 JA LAB_00417965
.text:00417952 e8e92f0000 CALL __alloca_probe_16 ;uint __alloca_probe_16(undefined1 pa...
.text:00417957 8bfc MOV EDI,ESP
.text:00417959 85ff TEST EDI,EDI
.text:0041795b 746e JZ LAB_004179cb
.text:0041795d c707cccc0000 MOV dword ptr [EDI],0xcccc
.text:00417963 eb13 JMP LAB_00417978
LAB_00417965: ;XREF[1,0]: 00417950
.text:00417965 50 PUSH EAX
.text:00417966 e86674ffff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:0041796b 8bf8 MOV EDI,EAX
.text:0041796d 59 POP ECX
.text:0041796e 85ff TEST EDI,EDI
.text:00417970 7459 JZ LAB_004179cb
.text:00417972 c707dddd0000 MOV dword ptr [EDI],0xdddd
LAB_00417978: ;XREF[1,0]: 00417963
.text:00417978 83c708 ADD EDI,0x8
.text:0041797b 85ff TEST EDI,EDI
.text:0041797d 744c JZ LAB_004179cb
.text:0041797f 33c0 XOR EAX,EAX
.text:00417981 50 PUSH EAX
.text:00417982 50 PUSH EAX
.text:00417983 50 PUSH EAX
.text:00417984 53 PUSH EBX
.text:00417985 57 PUSH EDI
.text:00417986 ff75f8 PUSH dword ptr [EBP + local_c+0x4]
.text:00417989 56 PUSH ESI
.text:0041798a ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:0041798d ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00417990 e8d76dffff CALL FID_conflict:___acrt_CompareStringEx@36 ;undefined FID_conflict:___acrt_Compa...
.text:00417995 85c0 TEST EAX,EAX
.text:00417997 7432 JZ LAB_004179cb
.text:00417999 33c0 XOR EAX,EAX
.text:0041799b 50 PUSH EAX
.text:0041799c 50 PUSH EAX
.text:0041799d 394520 CMP dword ptr [EBP + param_7+0x4],EAX
.text:004179a0 751f JNZ LAB_004179c1
.text:004179a2 50 PUSH EAX
.text:004179a3 50 PUSH EAX
LAB_004179a4: ;XREF[1,0]: 004179c7
.text:004179a4 53 PUSH EBX
.text:004179a5 57 PUSH EDI
.text:004179a6 50 PUSH EAX
.text:004179a7 ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:004179aa e8aea5ffff CALL FUN_00411f5d ;undefined FUN_00411f5d(uint param_1,...
.text:004179af 8bd8 MOV EBX,EAX
.text:004179b1 83c420 ADD ESP,0x20
.text:004179b4 85db TEST EBX,EBX
.text:004179b6 7413 JZ LAB_004179cb
.text:004179b8 57 PUSH EDI
.text:004179b9 e882b0ffff CALL FUN_00412a40 ;undefined FUN_00412a40(int param_1)
.text:004179be 59 POP ECX
.text:004179bf eb17 JMP LAB_004179d8
LAB_004179c1: ;XREF[1,0]: 004179a0
.text:004179c1 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:004179c4 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:004179c7 ebdb JMP LAB_004179a4
LAB_004179c9: ;XREF[1,0]: 0041794c
.text:004179c9 33ff XOR EDI,EDI
LAB_004179cb: ;XREF[5,0]: 0041795b,00417970,0041797d,00417997
; 004179b6
.text:004179cb 57 PUSH EDI
.text:004179cc e86fb0ffff CALL FUN_00412a40 ;undefined FUN_00412a40(int param_1)
.text:004179d1 59 POP ECX
.text:004179d2 eb02 JMP LAB_004179d6
LAB_004179d4: ;XREF[1,0]: 0041787c
.text:004179d4 33f6 XOR ESI,ESI
LAB_004179d6: ;XREF[8,0]: 00417892,004178ab,004178bc,004178d7
; 004178f8,00417915,0041793b,004179d2
.text:004179d6 33db XOR EBX,EBX
LAB_004179d8: ;XREF[3,0]: 0041790d,00417935,004179bf
.text:004179d8 56 PUSH ESI
.text:004179d9 e862b0ffff CALL FUN_00412a40 ;undefined FUN_00412a40(int param_1)
.text:004179de 59 POP ECX
.text:004179df 8bc3 MOV EAX,EBX
LAB_004179e1: ;XREF[1,0]: 0041786b
.text:004179e1 8d65ec LEA ESP=>local_18,[EBP + -0x14]
.text:004179e4 5f POP EDI
.text:004179e5 5e POP ESI
.text:004179e6 5b POP EBX
.text:004179e7 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:004179ea 33cd XOR ECX,EBP
.text:004179ec e834a7feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:004179f1 c9 LEAVE
.text:004179f2 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_LCMapStringA *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_LCMapStringA(LPVOID * param_1, wchar_t * param_2, uint param_3, char * param_4, int param_5, wchar_t * param_6, int param_7, uint param_8, int param_9)
;param_1 LPVOID * 4 ;XREF[1,0]: 004179fb
;param_2 wchar_t * 8 ;XREF[1,0]: 00417a1e
;param_3 uint c ;XREF[1,0]: 00417a1b
;param_4 char * 10 ;XREF[1,0]: 00417a18
;param_5 int 14 ;XREF[1,0]: 00417a15
;param_6 wchar_t * 18 ;XREF[1,0]: 00417a12
;param_7 int 1c ;XREF[1,0]: 00417a0f
;param_8 uint 20 ;XREF[1,0]: 00417a0c
;param_9 int 24 ;XREF[1,0]: 00417a06
;local_8 undefined1 -8 ;XREF[1,0]: 00417a2a
;local_10 undefined1 -10 ;XREF[1,0]: 00417a09
;local_14 undefined4 -14 ;XREF[2,0]: 004179fe,00417a30
;XREF[2,0]: 0041186d,00411895
.text:004179f3 8bff MOV EDI,EDI
.text:004179f5 55 PUSH EBP
.text:004179f6 8bec MOV EBP,ESP
.text:004179f8 83ec10 SUB ESP,0x10
.text:004179fb ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004179fe 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:00417a01 e8e713ffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:00417a06 ff7528 PUSH dword ptr [EBP + param_9+0x4]
.text:00417a09 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00417a0c ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:00417a0f ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00417a12 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:00417a15 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00417a18 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00417a1b ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00417a1e ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00417a21 50 PUSH EAX
.text:00417a22 e8ddfdffff CALL FUN_00417804 ;undefined FUN_00417804(int * param_1...
.text:00417a27 83c424 ADD ESP,0x24
.text:00417a2a 807dfc00 CMP byte ptr [EBP + local_8+0x4],0x0
.text:00417a2e 740a JZ LAB_00417a3a
.text:00417a30 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00417a33 83a150030... AND dword ptr [ECX + 0x350],0xfffffffd
LAB_00417a3a: ;XREF[1,0]: 00417a2e
.text:00417a3a c9 LEAVE
.text:00417a3b c3 RET
LAB_00417a3c: ;XREF[1,0]: 0041b13c
.text:00417a3c e802a1ffff CALL ___acrt_initialize_multibyte ;undefined4 ___acrt_initialize_multib...
.text:00417a41 33c9 XOR ECX,ECX
.text:00417a43 84c0 TEST AL,AL
.text:00417a45 0f94c1 SETZ CL
.text:00417a48 8bc1 MOV EAX,ECX
.text:00417a4a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __strnicoll *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int __strnicoll(char * _Str1, char * _Str2, size_t _MaxCount)
;_Str1 char * 4 ;XREF[1,0]: 00417a67
;_Str2 char * 8 ;XREF[1,0]: 00417a64
;_MaxCount size_t c ;XREF[1,0]: 00417a61
;XREF[1,0]: 004123e8
.text:00417a4b 8bff MOV EDI,EDI
.text:00417a4d 55 PUSH EBP
.text:00417a4e 8bec MOV EBP,ESP
.text:00417a50 833d603e4... CMP dword ptr [.data:DAT_00423e60],0x0 ;= ??
.text:00417a57 7506 JNZ LAB_00417a5f
.text:00417a59 5d POP EBP
.text:00417a5a e9f10c0000 JMP __strnicmp ;int __strnicmp(char * _Str1, char * ...
LAB_00417a5f: ;XREF[1,0]: 00417a57
.text:00417a5f 6a00 PUSH 0x0
.text:00417a61 ff7510 PUSH dword ptr [EBP + _MaxCount+0x4]
.text:00417a64 ff750c PUSH dword ptr [EBP + _Str2+0x4]
.text:00417a67 ff7508 PUSH dword ptr [EBP + _Str1+0x4]
.text:00417a6a e805000000 CALL __strnicoll_l ;int __strnicoll_l(char * _Str1, char...
.text:00417a6f 83c410 ADD ESP,0x10
.text:00417a72 5d POP EBP
.text:00417a73 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __strnicoll_l *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int __strnicoll_l(char * _Str1, char * _Str2, size_t _MaxCount, _locale_t _Locale)
;_Str1 char * 4 ;XREF[1,0]: 00417a98
;_Str2 char * 8 ;XREF[1,0]: 00417a9f
;_MaxCount size_t c ;XREF[1,0]: 00417a8a
;_Locale _locale_t 10 ;XREF[1,0]: 00417a82
;local_8 undefined1 -8 ;XREF[1,0]: 00417b25
;local_10 undefined4 -10 ;XREF[3,0]: 00417ad8,00417ae5,00417b04
;local_14 undefined4 -14 ;XREF[2,0]: 00417a7c,00417b2b
;XREF[1,0]: 00417a6a
.text:00417a74 8bff MOV EDI,EDI
.text:00417a76 55 PUSH EBP
.text:00417a77 8bec MOV EBP,ESP
.text:00417a79 83ec10 SUB ESP,0x10
.text:00417a7c 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:00417a7f 53 PUSH EBX
.text:00417a80 56 PUSH ESI
.text:00417a81 57 PUSH EDI
.text:00417a82 ff7514 PUSH dword ptr [EBP + _Locale+0x4]
.text:00417a85 e86313ffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:00417a8a 8b4510 MOV EAX,dword ptr [EBP + _MaxCount+0x4]
.text:00417a8d 85c0 TEST EAX,EAX
.text:00417a8f 7507 JNZ LAB_00417a98
.text:00417a91 33f6 XOR ESI,ESI
.text:00417a93 e98d000000 JMP LAB_00417b25
LAB_00417a98: ;XREF[1,0]: 00417a8f
.text:00417a98 8b4d08 MOV ECX,dword ptr [EBP + _Str1+0x4]
.text:00417a9b 85c9 TEST ECX,ECX
.text:00417a9d 7407 JZ LAB_00417aa6
.text:00417a9f 8b550c MOV EDX,dword ptr [EBP + _Str2+0x4]
.text:00417aa2 85d2 TEST EDX,EDX
.text:00417aa4 7517 JNZ LAB_00417abd
LAB_00417aa6: ;XREF[1,0]: 00417a9d
.text:00417aa6 e85968ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00417aab c70016000000 MOV dword ptr [EAX],0x16
.text:00417ab1 e86d67ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00417ab6 beffffff7f MOV ESI,0x7fffffff
.text:00417abb eb68 JMP LAB_00417b25
LAB_00417abd: ;XREF[1,0]: 00417aa4
.text:00417abd beffffff7f MOV ESI,0x7fffffff
.text:00417ac2 3bc6 CMP EAX,ESI
.text:00417ac4 7612 JBE LAB_00417ad8
.text:00417ac6 e83968ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00417acb c70016000000 MOV dword ptr [EAX],0x16
.text:00417ad1 e84d67ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00417ad6 eb4d JMP LAB_00417b25
LAB_00417ad8: ;XREF[1,0]: 00417ac4
.text:00417ad8 8b7df4 MOV EDI,dword ptr [EBP + local_10+0x4]
.text:00417adb 8b9fa4000000 MOV EBX,dword ptr [EDI + 0xa4]
.text:00417ae1 85db TEST EBX,EBX
.text:00417ae3 7513 JNZ LAB_00417af8
.text:00417ae5 8d75f4 LEA ESI=>local_10,[EBP + -0xc]
.text:00417ae8 56 PUSH ESI
.text:00417ae9 50 PUSH EAX
.text:00417aea 52 PUSH EDX
.text:00417aeb 51 PUSH ECX
.text:00417aec e8cc0c0000 CALL FUN_004187bd ;int FUN_004187bd(byte * param_1, byt...
.text:00417af1 83c410 ADD ESP,0x10
.text:00417af4 8bf0 MOV ESI,EAX
.text:00417af6 eb2d JMP LAB_00417b25
LAB_00417af8: ;XREF[1,0]: 00417ae3
.text:00417af8 ff7710 PUSH dword ptr [EDI + 0x10]
.text:00417afb 50 PUSH EAX
.text:00417afc 52 PUSH EDX
.text:00417afd 50 PUSH EAX
.text:00417afe 51 PUSH ECX
.text:00417aff 6801100000 PUSH 0x1001
.text:00417b04 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00417b07 53 PUSH EBX
.text:00417b08 50 PUSH EAX
.text:00417b09 e819100000 CALL ___acrt_CompareStringA ;undefined ___acrt_CompareStringA(LPV...
.text:00417b0e 83c420 ADD ESP,0x20
.text:00417b11 85c0 TEST EAX,EAX
.text:00417b13 750d JNZ LAB_00417b22
.text:00417b15 e8ea67ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00417b1a c70016000000 MOV dword ptr [EAX],0x16
.text:00417b20 eb03 JMP LAB_00417b25
LAB_00417b22: ;XREF[1,0]: 00417b13
.text:00417b22 8d70fe LEA ESI,[EAX + -0x2]
LAB_00417b25: ;XREF[5,0]: 00417a93,00417abb,00417ad6,00417af6
; 00417b20
.text:00417b25 807dfc00 CMP byte ptr [EBP + local_8+0x4],0x0
.text:00417b29 740a JZ LAB_00417b35
.text:00417b2b 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00417b2e 83a150030... AND dword ptr [ECX + 0x350],0xfffffffd
LAB_00417b35: ;XREF[1,0]: 00417b29
.text:00417b35 5f POP EDI
.text:00417b36 8bc6 MOV EAX,ESI
.text:00417b38 5e POP ESI
.text:00417b39 5b POP EBX
.text:00417b3a c9 LEAVE
.text:00417b3b c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_SetEnvironmentVariableA *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;BOOL ___acrt_SetEnvironmentVariableA(char * param_1, char * param_2)
;param_1 char * 4 ;XREF[1,0]: 00417b78
;param_2 char * 8 ;XREF[1,0]: 00417b91
;local_8 undefined1 -8 ;XREF[2,0]: 00417b6b,00417baf
;local_c undefined4 -c ;XREF[1,0]: 00417b68
;local_10 undefined4 -10 ;XREF[1,0]: 00417b65
;local_14 undefined4 -14 ;XREF[2,0]: 00417b62,00417b99
;local_18 undefined4 -18 ;XREF[1,0]: 00417b5f
;local_1c undefined4 -1c ;XREF[2,0]: 00417b5c,00417b8d
;local_20 undefined1 -20 ;XREF[2,0]: 00417b59,00417bbc
;local_24 undefined4 -24 ;XREF[1,0]: 00417b56
;local_28 undefined4 -28 ;XREF[1,0]: 00417b53
;local_2c undefined4 -2c ;XREF[3,0]: 00417b50,00417ba4,00417bc2
;local_30 undefined4 -30 ;XREF[1,0]: 00417b4d
;local_34 undefined4 -34 ;XREF[2,0]: 00417b4a,00417b74
;XREF[1,0]: 004122a0
.text:00417b3c 8bff MOV EDI,EDI
.text:00417b3e 55 PUSH EBP
.text:00417b3f 8bec MOV EBP,ESP
.text:00417b41 83ec30 SUB ESP,0x30
.text:00417b44 53 PUSH EBX
.text:00417b45 33db XOR EBX,EBX
.text:00417b47 56 PUSH ESI
.text:00417b48 8bf3 MOV ESI,EBX
.text:00417b4a 895dd0 MOV dword ptr [EBP + local_34+0x4],EBX
.text:00417b4d 895dd4 MOV dword ptr [EBP + local_30+0x4],EBX
.text:00417b50 895dd8 MOV dword ptr [EBP + local_2c+0x4],EBX
.text:00417b53 895ddc MOV dword ptr [EBP + local_28+0x4],EBX
.text:00417b56 895de0 MOV dword ptr [EBP + local_24+0x4],EBX
.text:00417b59 885de4 MOV byte ptr [EBP + local_20+0x4],BL
.text:00417b5c 895de8 MOV dword ptr [EBP + local_1c+0x4],EBX
.text:00417b5f 895dec MOV dword ptr [EBP + local_18+0x4],EBX
.text:00417b62 8975f0 MOV dword ptr [EBP + local_14+0x4],ESI
.text:00417b65 895df4 MOV dword ptr [EBP + local_10+0x4],EBX
.text:00417b68 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
.text:00417b6b 885dfc MOV byte ptr [EBP + local_8+0x4],BL
.text:00417b6e e83197ffff CALL __acrt_get_utf8_acp_compatibility_cod...;uint __acrt_get_utf8_acp_compatibili...
.text:00417b73 50 PUSH EAX
.text:00417b74 8d45d0 LEA EAX=>local_34,[EBP + -0x30]
.text:00417b77 50 PUSH EAX
.text:00417b78 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00417b7b e80b92ffff CALL __acrt_mbs_to_wcs_cp;int __acrt_mbs_to_wcs_cp .text:00417b80 83c40c ADD ESP,0xc
.text:00417b83 85c0 TEST EAX,EAX
.text:00417b85 7528 JNZ LAB_00417baf
.text:00417b87 e81897ffff CALL __acrt_get_utf8_acp_compatibility_cod...;uint __acrt_get_utf8_acp_compatibili...
.text:00417b8c 50 PUSH EAX
.text:00417b8d 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:00417b90 50 PUSH EAX
.text:00417b91 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00417b94 e8f291ffff CALL __acrt_mbs_to_wcs_cp;int __acrt_mbs_to_wcs_cp .text:00417b99 8b75f0 MOV ESI,dword ptr [EBP + local_14+0x4]
.text:00417b9c 83c40c ADD ESP,0xc
.text:00417b9f 85c0 TEST EAX,EAX
.text:00417ba1 750c JNZ LAB_00417baf
.text:00417ba3 56 PUSH ESI ;LPCWSTR lpValue for SetEnvironmentVa...
.text:00417ba4 ff75d8 PUSH dword ptr [EBP + local_2c+0x4] ;LPCWSTR lpName for SetEnvironmentVar...
.text:00417ba7 ff15d0b04100 CALL dword ptr [->KERNEL32.DLL::SetEnviron...;= 000226b2
.text:00417bad 8bd8 MOV EBX,EAX
LAB_00417baf: ;XREF[2,0]: 00417b85,00417ba1
.text:00417baf 807dfc00 CMP byte ptr [EBP + local_8+0x4],0x0
.text:00417bb3 7407 JZ LAB_00417bbc
.text:00417bb5 56 PUSH ESI
.text:00417bb6 e8b967ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00417bbb 59 POP ECX
LAB_00417bbc: ;XREF[1,0]: 00417bb3
.text:00417bbc 807de400 CMP byte ptr [EBP + local_20+0x4],0x0
.text:00417bc0 7409 JZ LAB_00417bcb
.text:00417bc2 ff75d8 PUSH dword ptr [EBP + local_2c+0x4]
.text:00417bc5 e8aa67ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00417bca 59 POP ECX
LAB_00417bcb: ;XREF[1,0]: 00417bc0
.text:00417bcb 5e POP ESI
.text:00417bcc 8bc3 MOV EAX,EBX
.text:00417bce 5b POP EBX
.text:00417bcf c9 LEAVE
.text:00417bd0 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00417bd1(ushort * param_1, ushort * param_2, int param_3)
;param_1 ushort * 4 ;XREF[1,0]: 00417be7
;param_2 ushort * 8 ;XREF[1,0]: 00417be2
;param_3 int c ;XREF[1,0]: 00417bd6
;XREF[1,0]: 004137ff
.text:00417bd1 8bff MOV EDI,EDI
.text:00417bd3 55 PUSH EBP
.text:00417bd4 8bec MOV EBP,ESP
.text:00417bd6 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00417bd9 85c9 TEST ECX,ECX
.text:00417bdb 7504 JNZ LAB_00417be1
.text:00417bdd 33c0 XOR EAX,EAX
.text:00417bdf 5d POP EBP
.text:00417be0 c3 RET
LAB_00417be1: ;XREF[1,0]: 00417bdb
.text:00417be1 53 PUSH EBX
.text:00417be2 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:00417be5 56 PUSH ESI
.text:00417be6 57 PUSH EDI
.text:00417be7 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
LAB_00417bea: ;XREF[1,0]: 00417c19
.text:00417bea 0fb717 MOVZX EDX,word ptr [EDI]
.text:00417bed 8d7f02 LEA EDI,[EDI + 0x2]
.text:00417bf0 8d42bf LEA EAX,[EDX + -0x41]
.text:00417bf3 83f819 CMP EAX,0x19
.text:00417bf6 7703 JA LAB_00417bfb
.text:00417bf8 83c220 ADD EDX,0x20
LAB_00417bfb: ;XREF[1,0]: 00417bf6
.text:00417bfb 0fb733 MOVZX ESI,word ptr [EBX]
.text:00417bfe 83c302 ADD EBX,0x2
.text:00417c01 8d46bf LEA EAX,[ESI + -0x41]
.text:00417c04 83f819 CMP EAX,0x19
.text:00417c07 7703 JA LAB_00417c0c
.text:00417c09 83c620 ADD ESI,0x20
LAB_00417c0c: ;XREF[1,0]: 00417c07
.text:00417c0c 8bc2 MOV EAX,EDX
.text:00417c0e 2bc6 SUB EAX,ESI
.text:00417c10 7509 JNZ LAB_00417c1b
.text:00417c12 85d2 TEST EDX,EDX
.text:00417c14 7405 JZ LAB_00417c1b
.text:00417c16 83e901 SUB ECX,0x1
.text:00417c19 75cf JNZ LAB_00417bea
LAB_00417c1b: ;XREF[2,0]: 00417c10,00417c14
.text:00417c1b 5f POP EDI
.text:00417c1c 5e POP ESI
.text:00417c1d 5b POP EBX
.text:00417c1e 5d POP EBP
.text:00417c1f c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* __msize *
;* __msize_base *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;size_t FID_conflict:__msize_base(void * _Memory)
;_Memory void * 4 ;XREF[2,0]: 00417c25,00417c40
;XREF[1,0]: 00412e2c
.text:00417c20 8bff MOV EDI,EDI
.text:00417c22 55 PUSH EBP
.text:00417c23 8bec MOV EBP,ESP
.text:00417c25 837d0800 CMP dword ptr [EBP + _Memory+0x4],0x0
.text:00417c29 7515 JNZ LAB_00417c40
.text:00417c2b e8d466ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00417c30 c70016000000 MOV dword ptr [EAX],0x16
.text:00417c36 e8e865ffff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00417c3b 83c8ff OR EAX,0xffffffff
.text:00417c3e 5d POP EBP
.text:00417c3f c3 RET
LAB_00417c40: ;XREF[1,0]: 00417c29
.text:00417c40 ff7508 PUSH dword ptr [EBP + _Memory+0x4] ;LPCVOID lpMem for HeapSize
.text:00417c43 6a00 PUSH 0x0 ;DWORD dwFlags for HeapSize
.text:00417c45 ff3504434200 PUSH dword ptr [.data:hHeap_00424304] ;HANDLE hHeap for HeapSize
.text:00417c4b ff15fcb04100 CALL dword ptr [->KERNEL32.DLL::HeapSize] ;= 0002277c
.text:00417c51 5d POP EBP
.text:00417c52 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __realloc_base *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;LPVOID __realloc_base(LPVOID param_1, uint param_2)
;param_1 LPVOID 4 ;XREF[1,0]: 00417c59
;param_2 uint 8 ;XREF[2,0]: 00417c60,00417c6c
;XREF[1,0]: 00412e3e
.text:00417c53 8bff MOV EDI,EDI
.text:00417c55 55 PUSH EBP
.text:00417c56 8bec MOV EBP,ESP
.text:00417c58 57 PUSH EDI
.text:00417c59 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00417c5c 85ff TEST EDI,EDI
.text:00417c5e 750b JNZ LAB_00417c6b
.text:00417c60 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00417c63 e86971ffff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:00417c68 59 POP ECX
.text:00417c69 eb24 JMP LAB_00417c8f
LAB_00417c6b: ;XREF[1,0]: 00417c5e
.text:00417c6b 56 PUSH ESI
.text:00417c6c 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00417c6f 85f6 TEST ESI,ESI
.text:00417c71 7509 JNZ LAB_00417c7c
.text:00417c73 57 PUSH EDI
.text:00417c74 e8fb66ffff CALL FUN_0040e374 ;undefined FUN_0040e374(LPVOID param_1)
.text:00417c79 59 POP ECX
.text:00417c7a eb10 JMP LAB_00417c8c
LAB_00417c7c: ;XREF[1,0]: 00417c71
.text:00417c7c 83fee0 CMP ESI,-0x20
.text:00417c7f 7625 JBE LAB_00417ca6
LAB_00417c81: ;XREF[2,0]: 00417c99,00417ca4
.text:00417c81 e87e66ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00417c86 c7000c000000 MOV dword ptr [EAX],0xc
LAB_00417c8c: ;XREF[1,0]: 00417c7a
.text:00417c8c 33c0 XOR EAX,EAX
LAB_00417c8e: ;XREF[1,0]: 00417cba
.text:00417c8e 5e POP ESI
LAB_00417c8f: ;XREF[1,0]: 00417c69
.text:00417c8f 5f POP EDI
.text:00417c90 5d POP EBP
.text:00417c91 c3 RET
LAB_00417c92: ;XREF[1,0]: 00417cb8
.text:00417c92 e80259ffff CALL FUN_0040d599 ;undefined4 FUN_0040d599(void)
.text:00417c97 85c0 TEST EAX,EAX
.text:00417c99 74e6 JZ LAB_00417c81
.text:00417c9b 56 PUSH ESI
.text:00417c9c e889b2ffff CALL FUN_00412f2a ;bool FUN_00412f2a(undefined4 param_1)
.text:00417ca1 59 POP ECX
.text:00417ca2 85c0 TEST EAX,EAX
.text:00417ca4 74db JZ LAB_00417c81
LAB_00417ca6: ;XREF[1,0]: 00417c7f
.text:00417ca6 56 PUSH ESI ;SIZE_T dwBytes for HeapReAlloc
.text:00417ca7 57 PUSH EDI ;LPVOID lpMem for HeapReAlloc
.text:00417ca8 6a00 PUSH 0x0 ;DWORD dwFlags for HeapReAlloc
.text:00417caa ff3504434200 PUSH dword ptr [.data:hHeap_00424304] ;HANDLE hHeap for HeapReAlloc
.text:00417cb0 ff1500b14100 CALL dword ptr [->KERNEL32.DLL::HeapReAlloc] ;= 00022788
.text:00417cb6 85c0 TEST EAX,EAX
.text:00417cb8 74d8 JZ LAB_00417c92
.text:00417cba ebd2 JMP LAB_00417c8e
;************************************************************************************************
;* Library Function - Single Match *
;* ___set_fpsr_sse2 *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___set_fpsr_sse2(uint param_1)
;param_1 uint 4 ;XREF[4,0]: 00417cd1,00417ce5,00417d25,00417d28
;local_8 undefined4 -8 ;XREF[2,0]: 00417ce1,00417ce9
;local_14 undefined4 -14 ;XREF[1,0]: 00417d2c
;XREF[1,0]: 00413674
.text:00417cbc 6a08 PUSH 0x8
.text:00417cbe 6820214200 PUSH .rdata:DAT_00422120 ;= FEh
.text:00417cc3 e838a2feff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00417cc8 833d3c394... CMP dword ptr [.data:DAT_0042393c],0x1
.text:00417ccf 7c5b JL LAB_00417d2c
.text:00417cd1 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00417cd4 a840 TEST AL,0x40
.text:00417cd6 744a JZ LAB_00417d22
.text:00417cd8 833d80384... CMP dword ptr [.data:DAT_00423880],0x0 ;= 00000001h
.text:00417cdf 7441 JZ LAB_00417d22
.text:00417ce1 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00417ce5 0fae5508 LDMXCSR dword ptr [EBP + param_1+0x4]
.text:00417ce9 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00417cf0 eb3a JMP LAB_00417d2c
.text:00417cf2 8b ?? 8Bh
.text:00417cf3 45 ?? 45h E
.text:00417cf4 ec ?? ECh
.text:00417cf5 8b ?? 8Bh
.text:00417cf6 00 ?? 00h
.text:00417cf7 81 ?? 81h
.text:00417cf8 38 ?? 38h 8
.text:00417cf9 05 ?? 05h
.text:00417cfa 00 ?? 00h
.text:00417cfb 00 ?? 00h
.text:00417cfc c0 ?? C0h
.text:00417cfd 74 ?? 74h t
.text:00417cfe 0b ?? 0Bh
.text:00417cff 81 ?? 81h
.text:00417d00 38 ?? 38h 8
.text:00417d01 1d ?? 1Dh
.text:00417d02 00 ?? 00h
.text:00417d03 00 ?? 00h
.text:00417d04 c0 ?? C0h
.text:00417d05 74 ?? 74h t
.text:00417d06 03 ?? 03h
.text:00417d07 33 ?? 33h 3
.text:00417d08 c0 ?? C0h
.text:00417d09 c3 ?? C3h
.text:00417d0a 33 ?? 33h 3
.text:00417d0b c0 ?? C0h
.text:00417d0c 40 ?? 40h @
.text:00417d0d c3 ?? C3h
.text:00417d0e 8b ?? 8Bh
.text:00417d0f 65 ?? 65h e
.text:00417d10 e8 ?? E8h
.text:00417d11 83 ?? 83h
.text:00417d12 25 ?? 25h %
.text:00417d13 80 ?? 80h ;? -> 00423880
.text:00417d14 38 ?? 38h 8
.text:00417d15 42 ?? 42h B
.text:00417d16 00 ?? 00h
.text:00417d17 00 ?? 00h
.text:00417d18 83 ?? 83h
.text:00417d19 65 ?? 65h e
.text:00417d1a 08 ?? 08h
.text:00417d1b bf ?? BFh
.text:00417d1c 0f ?? 0Fh
.text:00417d1d ae ?? AEh
.text:00417d1e 55 ?? 55h U
.text:00417d1f 08 ?? 08h
.text:00417d20 eb ?? EBh
.text:00417d21 c7 ?? C7h
LAB_00417d22: ;XREF[2,0]: 00417cd6,00417cdf
.text:00417d22 83e0bf AND EAX,0xffffffbf
.text:00417d25 894508 MOV dword ptr [EBP + param_1+0x4],EAX
.text:00417d28 0fae5508 LDMXCSR dword ptr [EBP + param_1+0x4]
LAB_00417d2c: ;XREF[2,0]: 00417ccf,00417cf0
.text:00417d2c 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00417d2f 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00417d36 59 POP ECX
.text:00417d37 5f POP EDI
.text:00417d38 5e POP ESI
.text:00417d39 5b POP EBX
.text:00417d3a c9 LEAVE
.text:00417d3b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00417d3c(void)
;local_8 undefined2 -8 ;XREF[2,0]: 00417d42,00417d47
;XREF[1,0]: 0041a0ac
.text:00417d3c 8bff MOV EDI,EDI
.text:00417d3e 55 PUSH EBP
.text:00417d3f 8bec MOV EBP,ESP
.text:00417d41 51 PUSH ECX
.text:00417d42 dd7dfc FNSTSW word ptr [EBP + local_8+0x4]
.text:00417d45 dbe2 FNCLEX
.text:00417d47 0fbf45fc MOVSX EAX,word ptr [EBP + local_8+0x4]
.text:00417d4b c9 LEAVE
.text:00417d4c c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __ctrlfp *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int __ctrlfp(void)
;local_8 undefined2 -8 ;XREF[3,0]: 00417d54,00417d60,00417d71
;local_c undefined2 -c ;XREF[2,0]: 00417d6a,00417d6e
;XREF[7,0]: 0041971b,00419778,004197b7,00419a99
; 00419bcd,0041a1d7,0041a22d
.text:00417d4d 8bff MOV EDI,EDI
.text:00417d4f 55 PUSH EBP
.text:00417d50 8bec MOV EBP,ESP
.text:00417d52 51 PUSH ECX
.text:00417d53 51 PUSH ECX
.text:00417d54 9bd97dfc FSTCW word ptr [EBP + local_8+0x4]
.text:00417d58 8b4d0c MOV ECX,dword ptr [EBP + Stack[0x8]+0x4]
.text:00417d5b 8b4508 MOV EAX,dword ptr [EBP + Stack[0x4]+0x4]
.text:00417d5e f7d1 NOT ECX
.text:00417d60 66234dfc AND CX,word ptr [EBP + local_8+0x4]
.text:00417d64 23450c AND EAX,dword ptr [EBP + Stack[0x8]+0x4]
.text:00417d67 660bc8 OR CX,AX
.text:00417d6a 66894df8 MOV word ptr [EBP + local_c+0x4],CX
.text:00417d6e d96df8 FLDCW word ptr [EBP + local_c+0x4]
.text:00417d71 0fbf45fc MOVSX EAX,word ptr [EBP + local_8+0x4]
.text:00417d75 c9 LEAVE
.text:00417d76 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00417d77(void)
;local_8 undefined4 -8 ;XREF[1,0]: 00417d8d
;local_10 undefined8 -10 ;XREF[3,0]: 00417d9f,00417db1,00417dca
;XREF[5,0]: 00419c0a,00419c23,00419c45,00419e3f
; 00419e56
.text:00417d77 8bff MOV EDI,EDI
.text:00417d79 55 PUSH EBP
.text:00417d7a 8bec MOV EBP,ESP
.text:00417d7c 8b4d08 MOV ECX,dword ptr [EBP + Stack[0x4]+0x4]
.text:00417d7f 83ec0c SUB ESP,0xc
.text:00417d82 f6c101 TEST CL,0x1
.text:00417d85 740a JZ LAB_00417d91
.text:00417d87 db2d3cfe4100 FLD tword ptr [.rdata:DAT_0041fe3c]
.text:00417d8d db5dfc FISTP dword ptr [EBP + local_8+0x4]
.text:00417d90 9b WAIT
LAB_00417d91: ;XREF[1,0]: 00417d85
.text:00417d91 f6c108 TEST CL,0x8
.text:00417d94 7410 JZ LAB_00417da6
.text:00417d96 9bdfe0 FSTSW AX
.text:00417d99 db2d3cfe4100 FLD tword ptr [.rdata:DAT_0041fe3c]
.text:00417d9f dd5df4 FSTP qword ptr [EBP + local_10+0x4]
.text:00417da2 9b WAIT
.text:00417da3 9bdfe0 FSTSW AX
LAB_00417da6: ;XREF[1,0]: 00417d94
.text:00417da6 f6c110 TEST CL,0x10
.text:00417da9 740a JZ LAB_00417db5
.text:00417dab db2d48fe4100 FLD tword ptr [.rdata:DAT_0041fe48] ;= 01h
.text:00417db1 dd5df4 FSTP qword ptr [EBP + local_10+0x4]
.text:00417db4 9b WAIT
LAB_00417db5: ;XREF[1,0]: 00417da9
.text:00417db5 f6c104 TEST CL,0x4
.text:00417db8 7409 JZ LAB_00417dc3
.text:00417dba d9ee FLDZ
.text:00417dbc d9e8 FLD1
.text:00417dbe def1 FDIVRP
.text:00417dc0 ddd8 FSTP ST0
.text:00417dc2 9b WAIT
LAB_00417dc3: ;XREF[1,0]: 00417db8
.text:00417dc3 f6c120 TEST CL,0x20
.text:00417dc6 7406 JZ LAB_00417dce
.text:00417dc8 d9eb FLDPI
.text:00417dca dd5df4 FSTP qword ptr [EBP + local_10+0x4]
.text:00417dcd 9b WAIT
LAB_00417dce: ;XREF[1,0]: 00417dc6
.text:00417dce c9 LEAVE
.text:00417dcf c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_00417dd0(void)
;local_8 undefined2 -8 ;XREF[2,0]: 00417dd6,00417dda
;XREF[1,0]: 00419f67
.text:00417dd0 8bff MOV EDI,EDI
.text:00417dd2 55 PUSH EBP
.text:00417dd3 8bec MOV EBP,ESP
.text:00417dd5 51 PUSH ECX
.text:00417dd6 9bdd7dfc FSTSW word ptr [EBP + local_8+0x4]
.text:00417dda 0fbf45fc MOVSX EAX,word ptr [EBP + local_8+0x4]
.text:00417dde c9 LEAVE
.text:00417ddf c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00417de0(uint * param_1, uint * * param_2)
;param_1 uint * 4 ;XREF[1,0]: 00417df0
;param_2 uint * * 8 ;XREF[1,0]: 00417dff
;local_8 undefined4 -8 ;XREF[2,0]: 00417dfb,00417e42
;local_14 undefined4 -14 ;XREF[1,0]: 00417e50
;local_20 undefined4 -20 ;XREF[2,0]: 00417dec,00417e3f
;XREF[1,0]: 00417ee2
.text:00417de0 6a0c PUSH 0xc
.text:00417de2 6840214200 PUSH .rdata:DAT_00422140 ;= FEh
.text:00417de7 e814a1feff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00417dec 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
.text:00417df0 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00417df3 ff30 PUSH dword ptr [EAX]
.text:00417df5 e87ea7ffff CALL FUN_00412578 ;undefined FUN_00412578(uint param_1)
.text:00417dfa 59 POP ECX
.text:00417dfb 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:00417dff 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00417e02 8b01 MOV EAX,dword ptr [ECX]
.text:00417e04 8b38 MOV EDI,dword ptr [EAX]
.text:00417e06 8b7104 MOV ESI,dword ptr [ECX + 0x4]
.text:00417e09 8bd7 MOV EDX,EDI
.text:00417e0b c1fa06 SAR EDX,0x6
.text:00417e0e 8bc7 MOV EAX,EDI
.text:00417e10 83e03f AND EAX,0x3f
.text:00417e13 6bc838 IMUL ECX,EAX,0x38
.text:00417e16 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00417e1d f644082801 TEST byte ptr [EAX + ECX*0x1 + 0x28],0x1
.text:00417e22 740d JZ LAB_00417e31
.text:00417e24 56 PUSH ESI
.text:00417e25 57 PUSH EDI
.text:00417e26 e8e9000000 CALL FUN_00417f14 ;undefined4 FUN_00417f14(uint param_1...
.text:00417e2b 59 POP ECX
.text:00417e2c 59 POP ECX
.text:00417e2d 8bf0 MOV ESI,EAX
.text:00417e2f eb0e JMP LAB_00417e3f
LAB_00417e31: ;XREF[1,0]: 00417e22
.text:00417e31 c6461c01 MOV byte ptr [ESI + 0x1c],0x1
.text:00417e35 c74618090... MOV dword ptr [ESI + 0x18],0x9
.text:00417e3c 83ceff OR ESI,0xffffffff
LAB_00417e3f: ;XREF[1,0]: 00417e2f
.text:00417e3f 8975e4 MOV dword ptr [EBP + local_20+0x4],ESI
.text:00417e42 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:00417e49 e817000000 CALL FUN_00417e65 ;undefined FUN_00417e65(void)
.text:00417e4e 8bc6 MOV EAX,ESI
.text:00417e50 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00417e53 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:00417e5a 59 POP ECX
.text:00417e5b 5f POP EDI
.text:00417e5c 5e POP ESI
.text:00417e5d 5b POP EBX
.text:00417e5e c9 LEAVE
.text:00417e5f c20c00 RET 0xc
.text:00417e62 8b align align(1)
.text:00417e63 75 ?? 75h u
.text:00417e64 e4 ?? E4h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00417e65(void)
;XREF[1,0]: 00417e49
.text:00417e65 8b4510 MOV EAX,dword ptr [EBP + 0x10]
.text:00417e68 ff30 PUSH dword ptr [EAX]
.text:00417e6a e82ca7ffff CALL ___acrt_lowio_unlock_fh ;undefined ___acrt_lowio_unlock_fh(ui...
.text:00417e6f 59 POP ECX
.text:00417e70 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00417e71(uint param_1, __acrt_ptd * * param_2)
;param_1 uint 4 ;XREF[2,0]: 00417e7a,00417ec1
;param_2 __acrt_ptd * * 8 ;XREF[3,0]: 00417e82,00417ecd,00417ee9
;local_5 undefined1 -5 ;XREF[1,0]: 00417eca
;local_c undefined4 -c ;XREF[2,0]: 00417ec4,00417ed3
;local_10 undefined4 -10 ;XREF[2,0]: 00417eda,00417ede
;local_14 undefined4 -14 ;XREF[1,0]: 00417ed0
;local_18 undefined4 -18 ;XREF[2,0]: 00417ec7,00417ed7
;XREF[1,0]: 0041394b
.text:00417e71 8bff MOV EDI,EDI
.text:00417e73 55 PUSH EBP
.text:00417e74 8bec MOV EBP,ESP
.text:00417e76 83ec14 SUB ESP,0x14
.text:00417e79 56 PUSH ESI
.text:00417e7a 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00417e7d 83fefe CMP ESI,-0x2
.text:00417e80 7518 JNZ LAB_00417e9a
.text:00417e82 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00417e85 83602000 AND dword ptr [EAX + 0x20],0x0
.text:00417e89 c6402401 MOV byte ptr [EAX + 0x24],0x1
.text:00417e8d c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00417e91 c74018090... MOV dword ptr [EAX + 0x18],0x9
.text:00417e98 eb74 JMP LAB_00417f0e
LAB_00417e9a: ;XREF[1,0]: 00417e80
.text:00417e9a 85f6 TEST ESI,ESI
.text:00417e9c 784b JS LAB_00417ee9
.text:00417e9e 3b35c8424200 CMP ESI,dword ptr [.data:DAT_004242c8] ;= ??
.text:00417ea4 7343 JNC LAB_00417ee9
.text:00417ea6 8bc6 MOV EAX,ESI
.text:00417ea8 8bd6 MOV EDX,ESI
.text:00417eaa 83e03f AND EAX,0x3f
.text:00417ead c1fa06 SAR EDX,0x6
.text:00417eb0 6bc838 IMUL ECX,EAX,0x38
.text:00417eb3 8b0495c84... MOV EAX,dword ptr [EDX*0x4 + .data:DAT_00...;= ??
.text:00417eba f644082801 TEST byte ptr [EAX + ECX*0x1 + 0x28],0x1
.text:00417ebf 7428 JZ LAB_00417ee9
.text:00417ec1 8d4508 LEA EAX=>param_1,[EBP + 0x8]
.text:00417ec4 8975f8 MOV dword ptr [EBP + local_c+0x4],ESI
.text:00417ec7 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:00417eca 8d4dff LEA ECX=>local_5,[EBP + -0x1]
.text:00417ecd 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00417ed0 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:00417ed3 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00417ed6 50 PUSH EAX
.text:00417ed7 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:00417eda 8975f4 MOV dword ptr [EBP + local_10+0x4],ESI
.text:00417edd 50 PUSH EAX
.text:00417ede 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00417ee1 50 PUSH EAX
.text:00417ee2 e8f9feffff CALL FUN_00417de0 ;undefined4 FUN_00417de0(uint * param...
.text:00417ee7 eb28 JMP LAB_00417f11
LAB_00417ee9: ;XREF[3,0]: 00417e9c,00417ea4,00417ebf
.text:00417ee9 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00417eec 33c9 XOR ECX,ECX
.text:00417eee 50 PUSH EAX
.text:00417eef 51 PUSH ECX
.text:00417ef0 51 PUSH ECX
.text:00417ef1 51 PUSH ECX
.text:00417ef2 c6402401 MOV byte ptr [EAX + 0x24],0x1
.text:00417ef6 51 PUSH ECX
.text:00417ef7 894820 MOV dword ptr [EAX + 0x20],ECX
.text:00417efa c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00417efe 51 PUSH ECX
.text:00417eff c74018090... MOV dword ptr [EAX + 0x18],0x9
.text:00417f06 e89b62ffff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:00417f0b 83c418 ADD ESP,0x18
LAB_00417f0e: ;XREF[1,0]: 00417e98
.text:00417f0e 83c8ff OR EAX,0xffffffff
LAB_00417f11: ;XREF[1,0]: 00417ee7
.text:00417f11 5e POP ESI
.text:00417f12 c9 LEAVE
.text:00417f13 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00417f14(uint param_1, int param_2)
;param_1 uint 4 ;XREF[1,0]: 00417f1b
;param_2 int 8 ;XREF[1,0]: 00417f9e
;XREF[1,0]: 00417e26
.text:00417f14 8bff MOV EDI,EDI
.text:00417f16 55 PUSH EBP
.text:00417f17 8bec MOV EBP,ESP
.text:00417f19 56 PUSH ESI
.text:00417f1a 57 PUSH EDI
.text:00417f1b 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:00417f1e 57 PUSH EDI
.text:00417f1f e82ba7ffff CALL FUN_0041264f ;undefined4 FUN_0041264f(uint param_1)
.text:00417f24 59 POP ECX
.text:00417f25 83f8ff CMP EAX,-0x1
.text:00417f28 7504 JNZ LAB_00417f2e
LAB_00417f2a: ;XREF[2,0]: 00417f60,00417f72
.text:00417f2a 33f6 XOR ESI,ESI
.text:00417f2c eb4e JMP LAB_00417f7c
LAB_00417f2e: ;XREF[1,0]: 00417f28
.text:00417f2e a1c8404200 MOV EAX,[.data:DAT_004240c8] ;= ??
.text:00417f33 83ff01 CMP EDI,0x1
.text:00417f36 7509 JNZ LAB_00417f41
.text:00417f38 f68098000... TEST byte ptr [EAX + 0x98],0x1
.text:00417f3f 750b JNZ LAB_00417f4c
LAB_00417f41: ;XREF[1,0]: 00417f36
.text:00417f41 83ff02 CMP EDI,0x2
.text:00417f44 751c JNZ LAB_00417f62
.text:00417f46 f6406001 TEST byte ptr [EAX + 0x60],0x1
.text:00417f4a 7416 JZ LAB_00417f62
LAB_00417f4c: ;XREF[1,0]: 00417f3f
.text:00417f4c 6a02 PUSH 0x2
.text:00417f4e e8fca6ffff CALL FUN_0041264f ;undefined4 FUN_0041264f(uint param_1)
.text:00417f53 6a01 PUSH 0x1
.text:00417f55 8bf0 MOV ESI,EAX
.text:00417f57 e8f3a6ffff CALL FUN_0041264f ;undefined4 FUN_0041264f(uint param_1)
.text:00417f5c 59 POP ECX
.text:00417f5d 59 POP ECX
.text:00417f5e 3bc6 CMP EAX,ESI
.text:00417f60 74c8 JZ LAB_00417f2a
LAB_00417f62: ;XREF[2,0]: 00417f44,00417f4a
.text:00417f62 57 PUSH EDI
.text:00417f63 e8e7a6ffff CALL FUN_0041264f ;undefined4 FUN_0041264f(uint param_1)
.text:00417f68 59 POP ECX
.text:00417f69 50 PUSH EAX ;HANDLE hObject for CloseHandle
.text:00417f6a ff1504b14100 CALL dword ptr [->KERNEL32.DLL::CloseHandle] ;= 00022796
.text:00417f70 85c0 TEST EAX,EAX
.text:00417f72 75b6 JNZ LAB_00417f2a
.text:00417f74 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00417f7a 8bf0 MOV ESI,EAX
LAB_00417f7c: ;XREF[1,0]: 00417f2c
.text:00417f7c 57 PUSH EDI
.text:00417f7d e83ca6ffff CALL FUN_004125be ;undefined4 FUN_004125be(uint param_1)
.text:00417f82 59 POP ECX
.text:00417f83 8bcf MOV ECX,EDI
.text:00417f85 83e73f AND EDI,0x3f
.text:00417f88 c1f906 SAR ECX,0x6
.text:00417f8b 6bd738 IMUL EDX,EDI,0x38
.text:00417f8e 8b0c8dc84... MOV ECX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:00417f95 c644112800 MOV byte ptr [ECX + EDX*0x1 + 0x28],0x0
.text:00417f9a 85f6 TEST ESI,ESI
.text:00417f9c 7410 JZ LAB_00417fae
.text:00417f9e ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00417fa1 56 PUSH ESI
.text:00417fa2 e82663ffff CALL FUN_0040e2cd ;undefined FUN_0040e2cd(ulong param_1...
.text:00417fa7 59 POP ECX
.text:00417fa8 59 POP ECX
.text:00417fa9 83c8ff OR EAX,0xffffffff
.text:00417fac eb02 JMP LAB_00417fb0
LAB_00417fae: ;XREF[1,0]: 00417f9c
.text:00417fae 33c0 XOR EAX,EAX
LAB_00417fb0: ;XREF[1,0]: 00417fac
.text:00417fb0 5f POP EDI
.text:00417fb1 5e POP ESI
.text:00417fb2 5d POP EBP
.text:00417fb3 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl __acrt_stdio_free_stream(class __crt_stdio_stream) *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;void __acrt_stdio_free_stream(__crt_stdio_stream param_1)
;param_1 __crt_stdio... 4 ;XREF[8,0]: 00417fb9,00417fc0,00417fc6,00417fcc,00417fd3
; 00417fd9,00417fdf,00417fe5
;XREF[2,0]: 0041389b,0041396f
.text:00417fb4 8bff MOV EDI,EDI
.text:00417fb6 55 PUSH EBP
.text:00417fb7 8bec MOV EBP,ESP
.text:00417fb9 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00417fbc 33c9 XOR ECX,ECX
.text:00417fbe 8908 MOV dword ptr [EAX],ECX
.text:00417fc0 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00417fc3 894804 MOV dword ptr [EAX + 0x4],ECX
.text:00417fc6 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00417fc9 894808 MOV dword ptr [EAX + 0x8],ECX
.text:00417fcc 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00417fcf 834810ff OR dword ptr [EAX + 0x10],0xffffffff
.text:00417fd3 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00417fd6 894814 MOV dword ptr [EAX + 0x14],ECX
.text:00417fd9 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00417fdc 894818 MOV dword ptr [EAX + 0x18],ECX
.text:00417fdf 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00417fe2 89481c MOV dword ptr [EAX + 0x1c],ECX
.text:00417fe5 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00417fe8 83c00c ADD EAX,0xc
.text:00417feb 8708 XCHG dword ptr [EAX],ECX
.text:00417fed 5d POP EBP
.text:00417fee c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined8 FUN_00417fef(uint param_1, undefined4 param_2, undefined4 param_3, PLARGE_INTEGER param_4, __acrt_ptd * * param_5)
;param_1 uint 4 ;XREF[1,0]: 00417ffb
;param_2 undefined4 8 ;XREF[1,0]: 004180cd
;param_3 undefined4 c ;XREF[1,0]: 004180ca
;param_4 PLARGE_INTEGER 10 ;XREF[1,0]: 004180c7
;param_5 __acrt_ptd * * 14 ;XREF[4,0]: 00418003,0041803e,004180ab,004180c4
;local_8 undefined4 -8 ;XREF[2,0]: 00418094,004180e3
;local_14 undefined4 -14 ;XREF[1,0]: 004180f3
;local_20 undefined4 -20 ;XREF[2,0]: 00418068,00418097
;local_24 undefined4 -24 ;XREF[2,0]: 00418073,004180a1
;local_28 undefined4 -28 ;XREF[2,0]: 00418091,004180e0
;local_2c undefined4 -2c ;XREF[2,0]: 0041808e,004180db
;XREF[1,0]: 004181bb
.text:00417fef 6a18 PUSH 0x18
.text:00417ff1 6860214200 PUSH .rdata:DAT_00422160 ;= FEh
.text:00417ff6 e8059ffeff CALL __SEH_prolog4 ;undefined __SEH_prolog4(undefined4 p...
.text:00417ffb 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:00417ffe 83fbfe CMP EBX,-0x2
.text:00418001 7520 JNZ LAB_00418023
.text:00418003 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:00418006 c6402401 MOV byte ptr [EAX + 0x24],0x1
.text:0041800a 83602000 AND dword ptr [EAX + 0x20],0x0
.text:0041800e c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00418012 c74018090... MOV dword ptr [EAX + 0x18],0x9
LAB_00418019: ;XREF[1,0]: 00418061
.text:00418019 83cfff OR EDI,0xffffffff
.text:0041801c 8bd7 MOV EDX,EDI
.text:0041801e e9ce000000 JMP LAB_004180f1
LAB_00418023: ;XREF[1,0]: 00418001
.text:00418023 85db TEST EBX,EBX
.text:00418025 780f JS LAB_00418036
.text:00418027 3b1dc8424200 CMP EBX,dword ptr [.data:DAT_004242c8] ;= ??
.text:0041802d 7307 JNC LAB_00418036
.text:0041802f 33c0 XOR EAX,EAX
.text:00418031 40 INC EAX
.text:00418032 33f6 XOR ESI,ESI
.text:00418034 eb04 JMP LAB_0041803a
LAB_00418036: ;XREF[2,0]: 00418025,0041802d
.text:00418036 33f6 XOR ESI,ESI
.text:00418038 8bc6 MOV EAX,ESI
LAB_0041803a: ;XREF[1,0]: 00418034
.text:0041803a 85c0 TEST EAX,EAX
.text:0041803c 7525 JNZ LAB_00418063
LAB_0041803e: ;XREF[1,0]: 00418082
.text:0041803e 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:00418041 c6402401 MOV byte ptr [EAX + 0x24],0x1
.text:00418045 897020 MOV dword ptr [EAX + 0x20],ESI
.text:00418048 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:0041804c c74018090... MOV dword ptr [EAX + 0x18],0x9
.text:00418053 50 PUSH EAX
.text:00418054 56 PUSH ESI
.text:00418055 56 PUSH ESI
.text:00418056 56 PUSH ESI
.text:00418057 56 PUSH ESI
.text:00418058 56 PUSH ESI
.text:00418059 e84861ffff CALL FUN_0040e1a6 ;undefined FUN_0040e1a6(wchar_t * par...
.text:0041805e 83c418 ADD ESP,0x18
.text:00418061 ebb6 JMP LAB_00418019
LAB_00418063: ;XREF[1,0]: 0041803c
.text:00418063 8bcb MOV ECX,EBX
.text:00418065 c1f906 SAR ECX,0x6
.text:00418068 894de4 MOV dword ptr [EBP + local_20+0x4],ECX
.text:0041806b 8bc3 MOV EAX,EBX
.text:0041806d 83e03f AND EAX,0x3f
.text:00418070 6bd038 IMUL EDX,EAX,0x38
.text:00418073 8955e0 MOV dword ptr [EBP + local_24+0x4],EDX
.text:00418076 8b048dc84... MOV EAX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:0041807d f644102801 TEST byte ptr [EAX + EDX*0x1 + 0x28],0x1
.text:00418082 74ba JZ LAB_0041803e
.text:00418084 53 PUSH EBX
.text:00418085 e8eea4ffff CALL FUN_00412578 ;undefined FUN_00412578(uint param_1)
.text:0041808a 59 POP ECX
.text:0041808b 83cfff OR EDI,0xffffffff
.text:0041808e 897dd8 MOV dword ptr [EBP + local_2c+0x4],EDI
.text:00418091 897ddc MOV dword ptr [EBP + local_28+0x4],EDI
.text:00418094 8975fc MOV dword ptr [EBP + local_8+0x4],ESI
.text:00418097 8b45e4 MOV EAX,dword ptr [EBP + local_20+0x4]
.text:0041809a 8b0485c84... MOV EAX,dword ptr [EAX*0x4 + .data:DAT_00...;= ??
.text:004180a1 8b4de0 MOV ECX,dword ptr [EBP + local_24+0x4]
.text:004180a4 f644012801 TEST byte ptr [ECX + EAX*0x1 + 0x28],0x1
.text:004180a9 7519 JNZ LAB_004180c4
.text:004180ab 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:004180ae c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:004180b2 c74018090... MOV dword ptr [EAX + 0x18],0x9
.text:004180b9 c6402401 MOV byte ptr [EAX + 0x24],0x1
.text:004180bd 897020 MOV dword ptr [EAX + 0x20],ESI
.text:004180c0 8bf7 MOV ESI,EDI
.text:004180c2 eb1f JMP LAB_004180e3
LAB_004180c4: ;XREF[1,0]: 004180a9
.text:004180c4 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:004180c7 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:004180ca ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004180cd ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:004180d0 53 PUSH EBX
.text:004180d1 e83e000000 CALL FUN_00418114 ;undefined8 FUN_00418114(uint param_1...
.text:004180d6 83c414 ADD ESP,0x14
.text:004180d9 8bf8 MOV EDI,EAX
.text:004180db 897dd8 MOV dword ptr [EBP + local_2c+0x4],EDI
.text:004180de 8bf2 MOV ESI,EDX
.text:004180e0 8975dc MOV dword ptr [EBP + local_28+0x4],ESI
LAB_004180e3: ;XREF[1,0]: 004180c2
.text:004180e3 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:004180ea e81d000000 CALL FUN_0041810c ;undefined FUN_0041810c(void)
.text:004180ef 8bd6 MOV EDX,ESI
LAB_004180f1: ;XREF[1,0]: 0041801e
.text:004180f1 8bc7 MOV EAX,EDI
.text:004180f3 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:004180f6 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:004180fd 59 POP ECX
.text:004180fe 5f POP EDI
.text:004180ff 5e POP ESI
.text:00418100 5b POP EBX
.text:00418101 c9 LEAVE
.text:00418102 c3 RET
.text:00418103 8b align align(1)
.text:00418104 5d ?? 5Dh ]
.text:00418105 08 ?? 08h
.text:00418106 8b ?? 8Bh
.text:00418107 7d ?? 7Dh }
.text:00418108 d8 ?? D8h
.text:00418109 8b ?? 8Bh
.text:0041810a 75 ?? 75h u
.text:0041810b dc ?? DCh
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041810c(void)
;XREF[1,0]: 004180ea
.text:0041810c 53 PUSH EBX
.text:0041810d e889a4ffff CALL ___acrt_lowio_unlock_fh ;undefined ___acrt_lowio_unlock_fh(ui...
.text:00418112 59 POP ECX
.text:00418113 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined8 FUN_00418114(uint param_1, undefined4 param_2, undefined4 param_3, PLARGE_INTEGER param_4, int param_5)
;param_1 uint 4 ;XREF[1,0]: 0041811c
;param_2 undefined4 8 ;XREF[1,0]: 0041814c
;param_3 undefined4 c ;XREF[1,0]: 00418149
;param_4 PLARGE_INTEGER 10 ;XREF[1,0]: 00418142
;param_5 int 14 ;XREF[2,0]: 0041812e,0041815a
;local_8 undefined4 -8 ;XREF[1,0]: 00418170
;local_c undefined4 -c ;XREF[3,0]: 00418145,0041816d,00418179
;XREF[3,0]: 004180d1,004181fb,0041822b
.text:00418114 8bff MOV EDI,EDI
.text:00418116 55 PUSH EBP
.text:00418117 8bec MOV EBP,ESP
.text:00418119 51 PUSH ECX
.text:0041811a 51 PUSH ECX
.text:0041811b 56 PUSH ESI
.text:0041811c 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0041811f 57 PUSH EDI
.text:00418120 56 PUSH ESI
.text:00418121 e829a5ffff CALL FUN_0041264f ;undefined4 FUN_0041264f(uint param_1)
.text:00418126 83cfff OR EDI,0xffffffff
.text:00418129 59 POP ECX
.text:0041812a 3bc7 CMP EAX,EDI
.text:0041812c 7514 JNZ LAB_00418142
.text:0041812e 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:00418131 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00418135 c74018090... MOV dword ptr [EAX + 0x18],0x9
LAB_0041813c: ;XREF[2,0]: 0041816b,00418177
.text:0041813c 8bc7 MOV EAX,EDI
.text:0041813e 8bd7 MOV EDX,EDI
.text:00418140 eb51 JMP LAB_00418193
LAB_00418142: ;XREF[1,0]: 0041812c
.text:00418142 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00418145 8d4df8 LEA ECX=>local_c,[EBP + -0x8]
.text:00418148 51 PUSH ECX ;DWORD dwMoveMethod for SetFilePointerEx
.text:00418149 ff7510 PUSH dword ptr [EBP + param_3+0x4] ;PLARGE_INTEGER lpNewFilePointer for ...
.text:0041814c ff750c PUSH dword ptr [EBP + param_2+0x4] ;LARGE_INTEGER liDistanceToMove for S...
.text:0041814f 50 PUSH EAX ;HANDLE hFile for SetFilePointerEx
.text:00418150 ff15f0b04100 CALL dword ptr [->KERNEL32.DLL::SetFilePoi...;= 0002274c
.text:00418156 85c0 TEST EAX,EAX
.text:00418158 7513 JNZ LAB_0041816d
.text:0041815a ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0041815d ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00418163 50 PUSH EAX
.text:00418164 e86461ffff CALL FUN_0040e2cd ;undefined FUN_0040e2cd(ulong param_1...
.text:00418169 59 POP ECX
.text:0041816a 59 POP ECX
.text:0041816b ebcf JMP LAB_0041813c
LAB_0041816d: ;XREF[1,0]: 00418158
.text:0041816d 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:00418170 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
.text:00418173 23c2 AND EAX,EDX
.text:00418175 3bc7 CMP EAX,EDI
.text:00418177 74c3 JZ LAB_0041813c
.text:00418179 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
.text:0041817c 8bce MOV ECX,ESI
.text:0041817e 83e63f AND ESI,0x3f
.text:00418181 c1f906 SAR ECX,0x6
.text:00418184 6bf638 IMUL ESI,ESI,0x38
.text:00418187 8b0c8dc84... MOV ECX,dword ptr [ECX*0x4 + .data:DAT_00...;= ??
.text:0041818e 80643128fd AND byte ptr [ECX + ESI*0x1 + 0x28],0xfd
LAB_00418193: ;XREF[1,0]: 00418140
.text:00418193 5f POP EDI
.text:00418194 5e POP ESI
.text:00418195 c9 LEAVE
.text:00418196 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined8 FUN_00418197(uint param_1, undefined4 param_2, undefined4 param_3, PLARGE_INTEGER param_4)
;param_1 uint 4 ;XREF[1,0]: 004181b8
;param_2 undefined4 8 ;XREF[1,0]: 004181b5
;param_3 undefined4 c ;XREF[1,0]: 004181b2
;param_4 PLARGE_INTEGER 10 ;XREF[1,0]: 004181af
;local_2c undefined1 -2c ;XREF[3,0]: 0041819f,004181ab,004181c3
;XREF[1,0]: 004160df
.text:00418197 8bff MOV EDI,EDI
.text:00418199 55 PUSH EBP
.text:0041819a 8bec MOV EBP,ESP
.text:0041819c 83ec28 SUB ESP,0x28
.text:0041819f 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:004181a2 56 PUSH ESI
.text:004181a3 57 PUSH EDI
.text:004181a4 6a00 PUSH 0x0
.text:004181a6 e825d4feff CALL FUN_004055d0 ;void * FUN_004055d0(void * this, und...
.text:004181ab 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
.text:004181ae 50 PUSH EAX
.text:004181af ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:004181b2 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004181b5 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:004181b8 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004181bb e82ffeffff CALL FUN_00417fef ;undefined8 FUN_00417fef(uint param_1...
.text:004181c0 83c414 ADD ESP,0x14
.text:004181c3 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:004181c6 8bf0 MOV ESI,EAX
.text:004181c8 8bfa MOV EDI,EDX
.text:004181ca e861d4feff CALL FUN_00405630 ;undefined FUN_00405630(__acrt_ptd * ...
.text:004181cf 8bd7 MOV EDX,EDI
.text:004181d1 8bc6 MOV EAX,ESI
.text:004181d3 5f POP EDI
.text:004181d4 5e POP ESI
.text:004181d5 c9 LEAVE
.text:004181d6 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined8 FUN_004181d7(uint param_1, undefined4 param_2, undefined4 param_3, PLARGE_INTEGER param_4)
;param_1 uint 4 ;XREF[1,0]: 004181f8
;param_2 undefined4 8 ;XREF[1,0]: 004181f5
;param_3 undefined4 c ;XREF[1,0]: 004181f2
;param_4 PLARGE_INTEGER 10 ;XREF[1,0]: 004181ef
;local_2c undefined1 -2c ;XREF[3,0]: 004181df,004181eb,00418203
;XREF[4,0]: 004168fd,00416aae,00416be6,00416f29
.text:004181d7 8bff MOV EDI,EDI
.text:004181d9 55 PUSH EBP
.text:004181da 8bec MOV EBP,ESP
.text:004181dc 83ec28 SUB ESP,0x28
.text:004181df 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:004181e2 56 PUSH ESI
.text:004181e3 57 PUSH EDI
.text:004181e4 6a00 PUSH 0x0
.text:004181e6 e8e5d3feff CALL FUN_004055d0 ;void * FUN_004055d0(void * this, und...
.text:004181eb 8d45d8 LEA EAX=>local_2c,[EBP + -0x28]
.text:004181ee 50 PUSH EAX
.text:004181ef ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:004181f2 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:004181f5 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:004181f8 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:004181fb e814ffffff CALL FUN_00418114 ;undefined8 FUN_00418114(uint param_1...
.text:00418200 83c414 ADD ESP,0x14
.text:00418203 8d4dd8 LEA ECX=>local_2c,[EBP + -0x28]
.text:00418206 8bf0 MOV ESI,EAX
.text:00418208 8bfa MOV EDI,EDX
.text:0041820a e821d4feff CALL FUN_00405630 ;undefined FUN_00405630(__acrt_ptd * ...
.text:0041820f 8bd7 MOV EDX,EDI
.text:00418211 8bc6 MOV EAX,ESI
.text:00418213 5f POP EDI
.text:00418214 5e POP ESI
.text:00418215 c9 LEAVE
.text:00418216 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined8 FUN_00418217(uint param_1, undefined4 param_2, undefined4 param_3, PLARGE_INTEGER param_4, int param_5)
;param_1 uint 4 ;XREF[1,0]: 00418228
;param_2 undefined4 8 ;XREF[1,0]: 00418225
;param_3 undefined4 c ;XREF[1,0]: 00418222
;param_4 PLARGE_INTEGER 10 ;XREF[1,0]: 0041821f
;param_5 int 14 ;XREF[1,0]: 0041821c
;XREF[1,0]: 0041441d
.text:00418217 8bff MOV EDI,EDI
.text:00418219 55 PUSH EBP
.text:0041821a 8bec MOV EBP,ESP
.text:0041821c ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:0041821f ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00418222 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00418225 ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00418228 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0041822b e8e4feffff CALL FUN_00418114 ;undefined8 FUN_00418114(uint param_1...
.text:00418230 83c414 ADD ESP,0x14
.text:00418233 5d POP EBP
.text:00418234 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __putwch_nolock *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;wint_t __putwch_nolock(wchar_t _WCh)
;_WCh wchar_t 4 ;XREF[2,0]: 00418248,0041825a
;local_8 undefined1 -8 ;XREF[1,0]: 00418244
;XREF[2,0]: 00413eb7,00413ecf
.text:00418235 8bff MOV EDI,EDI
.text:00418237 55 PUSH EBP
.text:00418238 8bec MOV EBP,ESP
.text:0041823a 51 PUSH ECX
.text:0041823b e84c090000 CALL ___dcrt_lowio_ensure_console_output_i...;bool ___dcrt_lowio_ensure_console_ou...
.text:00418240 85c0 TEST EAX,EAX
.text:00418242 741c JZ LAB_00418260
.text:00418244 8d45fc LEA EAX=>local_8,[EBP + -0x4]
.text:00418247 50 PUSH EAX
.text:00418248 8d4508 LEA EAX=>_WCh,[EBP + 0x8]
.text:0041824b 6a01 PUSH 0x1
.text:0041824d 50 PUSH EAX
.text:0041824e e86f090000 CALL ___dcrt_write_console ;BOOL ___dcrt_write_console(void * pa...
.text:00418253 83c40c ADD ESP,0xc
.text:00418256 85c0 TEST EAX,EAX
.text:00418258 7406 JZ LAB_00418260
.text:0041825a 668b4508 MOV AX,word ptr [EBP + _WCh+0x4]
.text:0041825e c9 LEAVE
.text:0041825f c3 RET
LAB_00418260: ;XREF[2,0]: 00418242,00418258
.text:00418260 b8ffff0000 MOV EAX,0xffff
.text:00418265 c9 LEAVE
.text:00418266 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* _fegetenv *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined4 _fegetenv(uint * param_1)
;param_1 uint * 4 ;XREF[1,0]: 00418272
;XREF[3,0]: 00414773,004182aa,004182e3
.text:00418267 8bff MOV EDI,EDI
.text:00418269 55 PUSH EBP
.text:0041826a 8bec MOV EBP,ESP
.text:0041826c 56 PUSH ESI
.text:0041826d e8d6e2ffff CALL ___acrt_fenv_get_control ;uint ___acrt_fenv_get_control(void)
.text:00418272 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:00418275 8906 MOV dword ptr [ESI],EAX
.text:00418277 e84ce3ffff CALL FUN_004165c8 ;uint FUN_004165c8(void)
.text:0041827c 894604 MOV dword ptr [ESI + 0x4],EAX
.text:0041827f 33c0 XOR EAX,EAX
.text:00418281 5e POP ESI
.text:00418282 5d POP EBP
.text:00418283 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_00418284(uint * param_1)
;param_1 uint * 4 ;XREF[1,0]: 0041828c
;local_8 undefined4 -8 ;XREF[2,0]: 004182a5,004182c2
;local_c undefined4 -c ;XREF[3,0]: 0041829e,004182a2,004182b8
;XREF[2,0]: 00415d0a,00418305
.text:00418284 8bff MOV EDI,EDI
.text:00418286 55 PUSH EBP
.text:00418287 8bec MOV EBP,ESP
.text:00418289 51 PUSH ECX
.text:0041828a 51 PUSH ECX
.text:0041828b 56 PUSH ESI
.text:0041828c 8b7508 MOV ESI,dword ptr [EBP + param_1+0x4]
.text:0041828f ff36 PUSH dword ptr [ESI]
.text:00418291 e8dce3ffff CALL FUN_00416672 ;undefined FUN_00416672(uint param_1)
.text:00418296 ff7604 PUSH dword ptr [ESI + 0x4]
.text:00418299 e84fe4ffff CALL FUN_004166ed ;undefined FUN_004166ed(uint param_1)
.text:0041829e 8365f800 AND dword ptr [EBP + local_c+0x4],0x0
.text:004182a2 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:004182a5 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:004182a9 50 PUSH EAX
.text:004182aa e8b8ffffff CALL _fegetenv ;undefined4 _fegetenv(uint * param_1)
.text:004182af 83c40c ADD ESP,0xc
.text:004182b2 85c0 TEST EAX,EAX
.text:004182b4 7514 JNZ LAB_004182ca
.text:004182b6 8b06 MOV EAX,dword ptr [ESI]
.text:004182b8 3b45f8 CMP EAX,dword ptr [EBP + local_c+0x4]
.text:004182bb 750d JNZ LAB_004182ca
.text:004182bd 8b4e04 MOV ECX,dword ptr [ESI + 0x4]
.text:004182c0 33c0 XOR EAX,EAX
.text:004182c2 3b4dfc CMP ECX,dword ptr [EBP + local_8+0x4]
.text:004182c5 0f95c0 SETNZ AL
.text:004182c8 eb03 JMP LAB_004182cd
LAB_004182ca: ;XREF[2,0]: 004182b4,004182bb
.text:004182ca 33c0 XOR EAX,EAX
.text:004182cc 40 INC EAX
LAB_004182cd: ;XREF[1,0]: 004182c8
.text:004182cd 5e POP ESI
.text:004182ce c9 LEAVE
.text:004182cf c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_004182d0(uint * param_1)
;param_1 uint * 4 ;XREF[1,0]: 004182ed
;local_8 undefined4 -8 ;XREF[2,0]: 004182de,004182f3
;local_c undefined4 -c ;XREF[5,0]: 004182d7,004182db,004182f0,004182fe,00418302
;XREF[1,0]: 00414799
.text:004182d0 8bff MOV EDI,EDI
.text:004182d2 55 PUSH EBP
.text:004182d3 8bec MOV EBP,ESP
.text:004182d5 51 PUSH ECX
.text:004182d6 51 PUSH ECX
.text:004182d7 8365f800 AND dword ptr [EBP + local_c+0x4],0x0
.text:004182db 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:004182de 8365fc00 AND dword ptr [EBP + local_8+0x4],0x0
.text:004182e2 50 PUSH EAX
.text:004182e3 e87fffffff CALL _fegetenv ;undefined4 _fegetenv(uint * param_1)
.text:004182e8 59 POP ECX
.text:004182e9 85c0 TEST EAX,EAX
.text:004182eb 752b JNZ LAB_00418318
.text:004182ed 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004182f0 8b55f8 MOV EDX,dword ptr [EBP + local_c+0x4]
.text:004182f3 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:004182f6 8910 MOV dword ptr [EAX],EDX
.text:004182f8 83ca1f OR EDX,0x1f
.text:004182fb 894804 MOV dword ptr [EAX + 0x4],ECX
.text:004182fe 8d45f8 LEA EAX=>local_c,[EBP + -0x8]
.text:00418301 50 PUSH EAX
.text:00418302 8955f8 MOV dword ptr [EBP + local_c+0x4],EDX
.text:00418305 e87affffff CALL FUN_00418284 ;bool FUN_00418284(uint * param_1)
.text:0041830a 59 POP ECX
.text:0041830b 85c0 TEST EAX,EAX
.text:0041830d 7509 JNZ LAB_00418318
.text:0041830f e849b0ffff CALL __clearfp ;uint __clearfp(void)
.text:00418314 33c0 XOR EAX,EAX
.text:00418316 c9 LEAVE
.text:00418317 c3 RET
LAB_00418318: ;XREF[2,0]: 004182eb,0041830d
.text:00418318 33c0 XOR EAX,EAX
.text:0041831a 40 INC EAX
.text:0041831b c9 LEAVE
.text:0041831c c3 RET
.text:0041831d cccccc align align(3)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00418320(void)
;local_res0 undefined1 0 ;XREF[1,0]: 00418350
;local_4 undefined4 -4 ;XREF[2,0]: 0041832c,00418331
;local_c undefined8 -c ;XREF[1,2]: 0041835e,00418341,00418344
;XREF[1,0]: 00414951
.text:00418320 833d58454... CMP dword ptr [.data:DAT_00424558],0x0 ;= ??
.text:00418327 7432 JZ LAB_0041835b
.text:00418329 83ec08 SUB ESP,0x8
.text:0041832c 0fae5c2404 STMXCSR dword ptr [ESP + local_4+0x8]
.text:00418331 8b442404 MOV EAX,dword ptr [ESP + local_4+0x8]
.text:00418335 25807f0000 AND EAX,0x7f80
.text:0041833a 3d801f0000 CMP EAX,0x1f80
.text:0041833f 750f JNZ LAB_00418350
.text:00418341 d93c24 FNSTCW word ptr [ESP]=>local_c+0x4
.text:00418344 668b0424 MOV AX,word ptr [ESP]=>local_c+0x4
.text:00418348 6683e07f AND AX,0x7f
.text:0041834c 6683f87f CMP AX,0x7f
LAB_00418350: ;XREF[1,0]: 0041833f
.text:00418350 8d642408 LEA ESP=>local_res0,[ESP + 0x8]
.text:00418354 7505 JNZ LAB_0041835b
.text:00418356 e9d5080000 JMP __CIlog10_pentium4 ;undefined __CIlog10_pentium4(void)
LAB_0041835b: ;XREF[2,0]: 00418327,00418354
.text:0041835b 83ec0c SUB ESP,0xc
.text:0041835e dd1424 FST qword ptr [ESP]=>local_c
.text:00418361 e852100000 CALL FUN_004193b8 ;uint FUN_004193b8(undefined4 param_1...
.text:00418366 e80d000000 CALL FUN_00418378 ;float10 * FUN_00418378(undefined4 pa...
.text:0041836b 83c40c ADD ESP,0xc
.text:0041836e c3 RET
.text:0041836f 8d align align(1)
.text:00418370 54 ?? 54h T
.text:00418371 24 ?? 24h $
.text:00418372 04 ?? 04h
.text:00418373 e8 ?? E8h
.text:00418374 fd ?? FDh
.text:00418375 0f ?? 0Fh
.text:00418376 00 ?? 00h
.text:00418377 00 ?? 00h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;float10 * FUN_00418378(undefined4 param_1, undefined4 param_2, int param_3, float10 * param_4, undefined4 param_5)
;param_1 undefined4 ECX
;param_2 undefined4 EDX
;param_3 int 4 ;XREF[2,0]: 004183d2,004183fd
;param_4 float10 * 8 ;XREF[1,0]: 0041837f
;param_5 undefined4 c
;local_4 undefined2 -4 ;XREF[4,0]: 00418379,00418383,004193ce,004193d6
;XREF[1,0]: 00418366
.text:00418378 52 PUSH param_2
.text:00418379 9bd93c24 FSTCW word ptr [ESP]=>local_4
.text:0041837d 744c JZ LAB_004183cb
.text:0041837f 8b44240c MOV EAX,dword ptr [ESP + param_4+0x4]
.text:00418383 66813c247f02 CMP word ptr [ESP]=>local_4,0x27f
.text:00418389 7406 JZ LAB_00418391
.text:0041838b d92d78004200 FLDCW word ptr [.rdata:DAT_00420078] ;= 027Fh
LAB_00418391: ;XREF[1,0]: 00418389
.text:00418391 a90000f07f TEST EAX,0x7ff00000
.text:00418396 745e JZ LAB_004183f6
.text:00418398 a900000080 TEST EAX,0x80000000
.text:0041839d 7541 JNZ LAB_004183e0
LAB_0041839f: ;XREF[1,0]: 004183c9
.text:0041839f d9ec FLDLG2
.text:004183a1 d9c9 FXCH
.text:004183a3 d9f1 FYL2X
LAB_004183a5: ;XREF[1,0]: 004183de
.text:004183a5 833d24434... CMP dword ptr [.data:DAT_00424324],0x0 ;= ??
.text:004183ac 0f851c100000 JNZ LAB_004193ce
.text:004183b2 8d0d60fe4100 LEA param_1,[.rdata:s_log10_0041fe60] ;= "log10"
.text:004183b8 ba1b000000 MOV param_2,0x1b
.text:004183bd e919100000 JMP __math_exit ;undefined __math_exit(float10 * para...
LAB_004183c2: ;XREF[2,0]: 004183fb,00418402
.text:004183c2 a900000080 TEST EAX,0x80000000
.text:004183c7 7517 JNZ LAB_004183e0
.text:004183c9 ebd4 JMP LAB_0041839f
LAB_004183cb: ;XREF[1,0]: 0041837d
.text:004183cb a9ffff0f00 TEST EAX,0xfffff
.text:004183d0 751d JNZ LAB_004183ef
.text:004183d2 837c240800 CMP dword ptr [ESP + param_3+0x4],0x0
.text:004183d7 7516 JNZ LAB_004183ef
.text:004183d9 2500000080 AND EAX,0x80000000
.text:004183de 74c5 JZ LAB_004183a5
LAB_004183e0: ;XREF[2,0]: 0041839d,004183c7
.text:004183e0 ddd8 FSTP ST0
.text:004183e2 db2d30004200 FLD tword ptr [.rdata:DAT_00420030]
.text:004183e8 b801000000 MOV EAX,0x1
.text:004183ed eb22 JMP LAB_00418411
LAB_004183ef: ;XREF[2,0]: 004183d0,004183d7
.text:004183ef e8680f0000 CALL FUN_0041935c ;undefined4 FUN_0041935c(void)
.text:004183f4 eb1b JMP LAB_00418411
LAB_004183f6: ;XREF[1,0]: 00418396
.text:004183f6 a9ffff0f00 TEST EAX,0xfffff
.text:004183fb 75c5 JNZ LAB_004183c2
.text:004183fd 837c240800 CMP dword ptr [ESP + param_3+0x4],0x0
.text:00418402 75be JNZ LAB_004183c2
.text:00418404 ddd8 FSTP ST0
.text:00418406 db2ddaff4100 FLD tword ptr [.rdata:DAT_0041ffda]
.text:0041840c b802000000 MOV EAX,0x2
LAB_00418411: ;XREF[2,0]: 004183ed,004183f4
.text:00418411 833d24434... CMP dword ptr [.data:DAT_00424324],0x0 ;= ??
.text:00418418 0f85b00f0000 JNZ LAB_004193ce
.text:0041841e 8d0d60fe4100 LEA param_1,[.rdata:s_log10_0041fe60] ;= "log10"
.text:00418424 ba1b000000 MOV param_2,0x1b
.text:00418429 e8a9100000 CALL __startOneArgErrorHandling ;float10 * __startOneArgErrorHandling...
.text:0041842e 5a POP param_2
.text:0041842f c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;float10 * FUN_00418430(float10 * __return_storage_ptr__, double param_1)
;__return_s... float10 * 4 ;XREF[13,0]: 00418470,004184b8,004184be,004184ed,004184f2
; 0041851f,00418525,00418542,00418548,00419720
; 00419752,0041977d,0041978a
;param_1 double c
;local_res0 undefined1 0 ;XREF[1,0]: 00418464
;local_4 undefined4 -4 ;XREF[3,0]: 00418440,00418445,004184d1
;local_c undefined8 -c ;XREF[3,3]: 004184de,00419787,004197bc,00418455,00418458
; 004184da
;local_10 undefined4 -10 ;XREF[1,0]: 004184e2
;local_1c undefined8 -1c ;XREF[1,0]: 00419734
;local_28 undefined8 -28 ;XREF[2,0]: 00419765,004197a8
;XREF[1,0]: 0041495b
.text:00418430 833d58454... CMP dword ptr [.data:DAT_00424558],0x0 ;= ??
.text:00418437 0f84ca120000 JZ LAB_00419707
.text:0041843d 83ec08 SUB ESP,0x8
.text:00418440 0fae5c2404 STMXCSR dword ptr [ESP + local_4+0x8]
.text:00418445 8b442404 MOV EAX,dword ptr [ESP + local_4+0x8]
.text:00418449 25807f0000 AND EAX,0x7f80
.text:0041844e 3d801f0000 CMP EAX,0x1f80
.text:00418453 750f JNZ LAB_00418464
.text:00418455 d93c24 FNSTCW word ptr [ESP]=>local_c+0x4
.text:00418458 668b0424 MOV AX,word ptr [ESP]=>local_c+0x4
.text:0041845c 6683e07f AND AX,0x7f
.text:00418460 6683f87f CMP AX,0x7f
LAB_00418464: ;XREF[1,0]: 00418453
.text:00418464 8d642408 LEA ESP=>local_res0,[ESP + 0x8]
.text:00418468 0f8599120000 JNZ LAB_00419707
.text:0041846e eb00 JMP LAB_00418470
LAB_00418470: ;XREF[1,0]: 0041846e
.text:00418470 f30f7e442404 MOVQ XMM0,qword ptr [ESP + __return_storag...
.text:00418476 660f28158... MOVAPD XMM2,xmmword ptr [.rdata:DAT_0041fe80] ;= 33h 3
.text:0041847e 660f28c8 MOVAPD XMM1,XMM0
.text:00418482 660f28f8 MOVAPD XMM7,XMM0
.text:00418486 660f73d034 PSRLQ XMM0,0x34
.text:0041848b 660f7ec0 MOVD EAX,XMM0
.text:0041848f 660f5405a... ANDPD XMM0,xmmword ptr [.rdata:DAT_0041fea0] ;= FFh
.text:00418497 660ffad0 PSUBD XMM2,XMM0
.text:0041849b 660fd3ca PSRLQ XMM1,XMM2
.text:0041849f a900080000 TEST EAX,0x800
.text:004184a4 744c JZ LAB_004184f2
.text:004184a6 3dff0b0000 CMP EAX,0xbff
.text:004184ab 7c7d JL LAB_0041852a
.text:004184ad 660ff3ca PSLLQ XMM1,XMM2
.text:004184b1 3d320c0000 CMP EAX,0xc32
.text:004184b6 7f0b JG LAB_004184c3
.text:004184b8 660fd64c2404 MOVQ qword ptr [ESP +...,XMM1
.text:004184be dd442404 FLD qword ptr [ESP + __return_storage_ptr__]
.text:004184c2 c3 RET
LAB_004184c3: ;XREF[2,0]: 004184b6,00418511
.text:004184c3 660f2eff UCOMISD XMM7,XMM7
.text:004184c7 7b24 JNP LAB_004184ed
.text:004184c9 baec030000 MOV EDX,0x3ec
.text:004184ce 83ec10 SUB ESP,0x10
.text:004184d1 8954240c MOV dword ptr [ESP + local_4+0x10],EDX
.text:004184d5 8bd4 MOV EDX,ESP
.text:004184d7 83c214 ADD EDX,0x14
.text:004184da 89542408 MOV dword ptr [ESP + local_c+0x14],EDX
.text:004184de 89542404 MOV dword ptr [ESP + local_c+0x10],EDX
.text:004184e2 891424 MOV dword ptr [ESP]=>local_10,EDX
.text:004184e5 e829100000 CALL ___libm_error_support ;undefined ___libm_error_support(unde...
.text:004184ea 83c410 ADD ESP,0x10
LAB_004184ed: ;XREF[1,0]: 004184c7
.text:004184ed dd442404 FLD qword ptr [ESP + __return_storage_ptr__]
.text:004184f1 c3 RET
LAB_004184f2: ;XREF[1,0]: 004184a4
.text:004184f2 f30f7e442404 MOVQ XMM0,qword ptr [ESP + __return_storag...
.text:004184f8 660ff3ca PSLLQ XMM1,XMM2
.text:004184fc 660f28d8 MOVAPD XMM3,XMM0
.text:00418500 660fc2c106 CMPNLEPD XMM0,XMM1
.text:00418505 3dff030000 CMP EAX,0x3ff
.text:0041850a 7c25 JL LAB_00418531
.text:0041850c 3d32040000 CMP EAX,0x432
.text:00418511 7fb0 JG LAB_004184c3
.text:00418513 660f54057... ANDPD XMM0,xmmword ptr [.rdata:DAT_0041fe70]
.text:0041851b f20f58c8 ADDSD XMM1,XMM0
.text:0041851f 660fd64c2404 MOVQ qword ptr [ESP +...,XMM1
.text:00418525 dd442404 FLD qword ptr [ESP + __return_storage_ptr__]
.text:00418529 c3 RET
LAB_0041852a: ;XREF[1,0]: 004184ab
.text:0041852a dd05b0fe4100 FLD qword ptr [.rdata:DAT_0041feb0]
.text:00418530 c3 RET
LAB_00418531: ;XREF[1,0]: 0041850a
.text:00418531 660fc21d9... CMPNLEPD XMM3,xmmword ptr [.rdata:DAT_0041fe90]
.text:0041853a 660f541d7... ANDPD XMM3,xmmword ptr [.rdata:DAT_0041fe70]
.text:00418542 660fd65c2404 MOVQ qword ptr [ESP +...,XMM3
.text:00418548 dd442404 FLD qword ptr [ESP + __return_storage_ptr__]
.text:0041854c c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0041854d(undefined4 param_1, undefined4 * param_2)
;param_1 undefined4 4 ;XREF[1,0]: 0041855c
;param_2 undefined4 * 8 ;XREF[1,0]: 00418552
;XREF[2,0]: 00415dc1,00418715
.text:0041854d 8bff MOV EDI,EDI
.text:0041854f 55 PUSH EBP
.text:00418550 8bec MOV EBP,ESP
.text:00418552 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00418555 832000 AND dword ptr [EAX],0x0
.text:00418558 83600400 AND dword ptr [EAX + 0x4],0x0
.text:0041855c 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041855f 5d POP EBP
.text:00418560 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00418561(undefined4 * param_1, int param_2)
;param_1 undefined4 * 4 ;XREF[1,0]: 00418566
;param_2 int 8 ;XREF[1,0]: 00418570
;XREF[2,0]: 00415dd1,0041871e
.text:00418561 8bff MOV EDI,EDI
.text:00418563 55 PUSH EBP
.text:00418564 8bec MOV EBP,ESP
.text:00418566 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00418569 832000 AND dword ptr [EAX],0x0
.text:0041856c 83600400 AND dword ptr [EAX + 0x4],0x0
.text:00418570 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00418573 c6401c01 MOV byte ptr [EAX + 0x1c],0x1
.text:00418577 c740182a0... MOV dword ptr [EAX + 0x18],0x2a
.text:0041857e 83c8ff OR EAX,0xffffffff
.text:00418581 5d POP EBP
.text:00418582 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00418583(uint * * param_1, byte * param_2, uint param_3, uint * param_4, int param_5)
;param_1 uint * * 4 ;XREF[1,0]: 00418595
;param_2 byte * 8 ;XREF[1,0]: 00418598
;param_3 uint c ;XREF[3,0]: 004185c6,004185d2,0041866c
;param_4 uint * 10 ;XREF[1,0]: 0041859d
;param_5 int 14 ;XREF[1,0]: 004185a3
;local_8 undefined4 -8 ;XREF[2,0]: 00418592,00418725
;local_c undefined4 -c ;XREF[1,0]: 004186f7
;local_10 undefined4 -10 ;XREF[1,0]: 004186f0
;local_14 undefined4 -14 ;XREF[1,0]: 004186e9
;local_15 undefined1 -15 ;XREF[3,0]: 00418635,00418650,0041868e
;local_16 undefined1 -16 ;XREF[1,0]: 00418686
;local_1c undefined4 -1c ;XREF[5,0]: 004185a0,004185cb,004185df,004185f3,00418704
;local_20 undefined4 -20 ;XREF[2,0]: 004185a9,004186c9
;local_24 undefined4 -24 ;XREF[4,0]: 004185a6,0041867d,00418689,004186a4
;local_28 undefined4 -28 ;XREF[2,0]: 00418672,004186ab
;XREF[3,0]: 00415e1e,00415e83,00415f36
.text:00418583 8bff MOV EDI,EDI
.text:00418585 55 PUSH EBP
.text:00418586 8bec MOV EBP,ESP
.text:00418588 83ec24 SUB ESP,0x24
.text:0041858b a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00418590 33c5 XOR EAX,EBP
.text:00418592 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:00418595 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00418598 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0041859b 53 PUSH EBX
.text:0041859c 56 PUSH ESI
.text:0041859d 8b7514 MOV ESI,dword ptr [EBP + param_4+0x4]
.text:004185a0 894de8 MOV dword ptr [EBP + local_1c+0x4],ECX
.text:004185a3 8b4d18 MOV ECX,dword ptr [EBP + param_5+0x4]
.text:004185a6 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:004185a9 894de4 MOV dword ptr [EBP + local_20+0x4],ECX
.text:004185ac 57 PUSH EDI
.text:004185ad 85f6 TEST ESI,ESI
.text:004185af 7505 JNZ LAB_004185b6
.text:004185b1 be1c434200 MOV ESI,.data:DAT_0042431c ;= ??
LAB_004185b6: ;XREF[1,0]: 004185af
.text:004185b6 33d2 XOR EDX,EDX
.text:004185b8 33db XOR EBX,EBX
.text:004185ba 42 INC EDX
.text:004185bb 85c0 TEST EAX,EAX
.text:004185bd 7511 JNZ LAB_004185d0
.text:004185bf 8bc2 MOV EAX,EDX
.text:004185c1 bfbeb54100 MOV EDI,.rdata:DAT_0041b5be
.text:004185c6 894510 MOV dword ptr [EBP + param_3+0x4],EAX
.text:004185c9 8bc3 MOV EAX,EBX
.text:004185cb 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:004185ce eb12 JMP LAB_004185e2
LAB_004185d0: ;XREF[1,0]: 004185bd
.text:004185d0 8bf8 MOV EDI,EAX
.text:004185d2 395d10 CMP dword ptr [EBP + param_3+0x4],EBX
.text:004185d5 7508 JNZ LAB_004185df
LAB_004185d7: ;XREF[1,0]: 004186c4
.text:004185d7 6afe PUSH -0x2
.text:004185d9 58 POP EAX
.text:004185da e946010000 JMP LAB_00418725
LAB_004185df: ;XREF[1,0]: 004185d5
.text:004185df 8b45e8 MOV EAX,dword ptr [EBP + local_1c+0x4]
LAB_004185e2: ;XREF[1,0]: 004185ce
.text:004185e2 66395e06 CMP word ptr [ESI + ...,BX ;= ??
.text:004185e6 755c JNZ LAB_00418644
.text:004185e8 8a1f MOV BL,byte ptr [EDI]=>.rdata:DAT_0041b5be
.text:004185ea 47 INC EDI
.text:004185eb 84db TEST BL,BL
.text:004185ed 7818 JS LAB_00418607
.text:004185ef 85c0 TEST EAX,EAX
.text:004185f1 7408 JZ LAB_004185fb
.text:004185f3 8b4de8 MOV ECX,dword ptr [EBP + local_1c+0x4]
.text:004185f6 0fb6c3 MOVZX EAX,BL
.text:004185f9 8901 MOV dword ptr [ECX],EAX
LAB_004185fb: ;XREF[1,0]: 004185f1
.text:004185fb 33c0 XOR EAX,EAX
.text:004185fd 84db TEST BL,BL
.text:004185ff 0f95c0 SETNZ AL
.text:00418602 e91e010000 JMP LAB_00418725
LAB_00418607: ;XREF[1,0]: 004185ed
.text:00418607 8ac3 MOV AL,BL
.text:00418609 24e0 AND AL,0xe0
.text:0041860b 3cc0 CMP AL,0xc0
.text:0041860d 7504 JNZ LAB_00418613
.text:0041860f b702 MOV BH,0x2
.text:00418611 eb1a JMP LAB_0041862d
LAB_00418613: ;XREF[1,0]: 0041860d
.text:00418613 8ac3 MOV AL,BL
.text:00418615 24f0 AND AL,0xf0
.text:00418617 3ce0 CMP AL,0xe0
.text:00418619 7504 JNZ LAB_0041861f
.text:0041861b b703 MOV BH,0x3
.text:0041861d eb0e JMP LAB_0041862d
LAB_0041861f: ;XREF[1,0]: 00418619
.text:0041861f 8ac3 MOV AL,BL
.text:00418621 24f8 AND AL,0xf8
.text:00418623 3cf0 CMP AL,0xf0
.text:00418625 0f85f1000000 JNZ LAB_0041871c
.text:0041862b b704 MOV BH,0x4
LAB_0041862d: ;XREF[2,0]: 00418611,0041861d
.text:0041862d 6a07 PUSH 0x7
.text:0041862f 0fb6c7 MOVZX EAX,BH
.text:00418632 59 POP ECX
.text:00418633 2bc8 SUB ECX,EAX
.text:00418635 887def MOV byte ptr [EBP + local_15+0x4],BH
.text:00418638 d3e2 SHL EDX,CL
.text:0041863a 0fb6c3 MOVZX EAX,BL
.text:0041863d 4a DEC EDX
.text:0041863e 23d0 AND EDX,EAX
.text:00418640 8adf MOV BL,BH
.text:00418642 eb28 JMP LAB_0041866c
LAB_00418644: ;XREF[1,0]: 004185e6
.text:00418644 8a7e04 MOV BH,byte ptr [ESI + 0x4]=>.data:DAT_00...;= ??
.text:00418647 8a5e06 MOV BL,byte ptr [ESI + 0x6]=>.data:DAT_00...;= ??
.text:0041864a 8ac7 MOV AL,BH
.text:0041864c 8b16 MOV EDX,dword ptr [ESI]=>.data:DAT_0042431c ;= ??
.text:0041864e 2c02 SUB AL,0x2
.text:00418650 885def MOV byte ptr [EBP + local_15+0x4],BL
.text:00418653 3c02 CMP AL,0x2
.text:00418655 0f87c1000000 JA LAB_0041871c
.text:0041865b 80fb01 CMP BL,0x1
.text:0041865e 0f82b8000000 JC LAB_0041871c
.text:00418664 3adf CMP BL,BH
.text:00418666 0f83b0000000 JNC LAB_0041871c
LAB_0041866c: ;XREF[1,0]: 00418642
.text:0041866c 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:0041866f 0fb6c3 MOVZX EAX,BL
.text:00418672 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:00418675 3bc1 CMP EAX,ECX
.text:00418677 7302 JNC LAB_0041867b
.text:00418679 8bc8 MOV ECX,EAX
LAB_0041867b: ;XREF[1,0]: 00418677
.text:0041867b 8bc7 MOV EAX,EDI
.text:0041867d 2b45e0 SUB EAX,dword ptr [EBP + local_24+0x4]
.text:00418680 eb25 JMP LAB_004186a7
LAB_00418682: ;XREF[1,0]: 004186a9
.text:00418682 8a1f MOV BL,byte ptr [EDI]=>.rdata:DAT_0041b5bf
.text:00418684 47 INC EDI
.text:00418685 40 INC EAX
.text:00418686 885dee MOV byte ptr [EBP + local_16+0x4],BL
.text:00418689 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:0041868c 8ae3 MOV AH,BL
.text:0041868e 8a5def MOV BL,byte ptr [EBP + local_15+0x4]
.text:00418691 8ac4 MOV AL,AH
.text:00418693 24c0 AND AL,0xc0
.text:00418695 3c80 CMP AL,0x80
.text:00418697 7530 JNZ LAB_004186c9
.text:00418699 0fb6c4 MOVZX EAX,AH
.text:0041869c 83e03f AND EAX,0x3f
.text:0041869f c1e206 SHL EDX,0x6
.text:004186a2 0bd0 OR EDX,EAX
.text:004186a4 8b45e0 MOV EAX,dword ptr [EBP + local_24+0x4]
LAB_004186a7: ;XREF[1,0]: 00418680
.text:004186a7 3bc1 CMP EAX,ECX
.text:004186a9 72d7 JC LAB_00418682
.text:004186ab 8b7ddc MOV EDI,dword ptr [EBP + local_28+0x4]
.text:004186ae 3bcf CMP ECX,EDI
.text:004186b0 731c JNC LAB_004186ce
.text:004186b2 0fb6c7 MOVZX EAX,BH
.text:004186b5 2ad9 SUB BL,CL
.text:004186b7 66894604 MOV word ptr [ESI + ...,AX ;= ??
.text:004186bb 0fb6c3 MOVZX EAX,BL
.text:004186be 8916 MOV dword ptr [ESI]=>.data:DAT_0042431c,EDX ;= ??
.text:004186c0 66894606 MOV word ptr [ESI + ...,AX ;= ??
.text:004186c4 e90effffff JMP LAB_004185d7
LAB_004186c9: ;XREF[4,0]: 00418697,004186dc,004186e4,00418702
.text:004186c9 ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:004186cc eb4f JMP LAB_0041871d
LAB_004186ce: ;XREF[1,0]: 004186b0
.text:004186ce 81fa00d80000 CMP EDX,0xd800
.text:004186d4 7208 JC LAB_004186de
.text:004186d6 81faffdf0000 CMP EDX,0xdfff
.text:004186dc 76eb JBE LAB_004186c9
LAB_004186de: ;XREF[1,0]: 004186d4
.text:004186de 81faffff1000 CMP EDX,0x10ffff
.text:004186e4 77e3 JA LAB_004186c9
.text:004186e6 0fb6c7 MOVZX EAX,BH
.text:004186e9 c745f0800... MOV dword ptr [EBP + local_14+0x4],0x80
.text:004186f0 c745f4000... MOV dword ptr [EBP + local_10+0x4],0x800
.text:004186f7 c745f8000... MOV dword ptr [EBP + local_c+0x4],0x10000
.text:004186fe 3b5485e8 CMP EDX,dword ptr [EBP + EAX*0x4 + -0x18]
.text:00418702 72c5 JC LAB_004186c9
.text:00418704 8b4de8 MOV ECX,dword ptr [EBP + local_1c+0x4]
.text:00418707 85c9 TEST ECX,ECX
.text:00418709 7402 JZ LAB_0041870d
.text:0041870b 8911 MOV dword ptr [ECX],EDX
LAB_0041870d: ;XREF[1,0]: 00418709
.text:0041870d f7da NEG EDX
.text:0041870f 56 PUSH ESI=>.data:DAT_0042431c ;= ??
.text:00418710 1bd2 SBB EDX,EDX
.text:00418712 23d7 AND EDX,EDI
.text:00418714 52 PUSH EDX
.text:00418715 e833feffff CALL FUN_0041854d ;undefined4 FUN_0041854d(undefined4 p...
.text:0041871a eb07 JMP LAB_00418723
LAB_0041871c: ;XREF[4,0]: 00418625,00418655,0041865e,00418666
.text:0041871c 51 PUSH ECX
LAB_0041871d: ;XREF[1,0]: 004186cc
.text:0041871d 56 PUSH ESI=>.data:DAT_0042431c ;= ??
.text:0041871e e83efeffff CALL FUN_00418561 ;undefined4 FUN_00418561(undefined4 *...
LAB_00418723: ;XREF[1,0]: 0041871a
.text:00418723 59 POP ECX
.text:00418724 59 POP ECX
LAB_00418725: ;XREF[2,0]: 004185da,00418602
.text:00418725 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00418728 5f POP EDI
.text:00418729 5e POP ESI
.text:0041872a 33cd XOR ECX,EBP
.text:0041872c 5b POP EBX
.text:0041872d e8f399feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00418732 c9 LEAVE
.text:00418733 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___strncnt *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;undefined ___strncnt(char * param_1, int param_2)
;param_1 char * 4 ;XREF[1,0]: 00418739
;param_2 int 8 ;XREF[1,0]: 00418742
;XREF[3,0]: 00417823,004188be,004188de
.text:00418734 8bff MOV EDI,EDI
.text:00418736 55 PUSH EBP
.text:00418737 8bec MOV EBP,ESP
.text:00418739 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0041873c 33c0 XOR EAX,EAX
.text:0041873e 3801 CMP byte ptr [ECX],AL
.text:00418740 740c JZ LAB_0041874e
LAB_00418742: ;XREF[1,0]: 0041874c
.text:00418742 3b450c CMP EAX,dword ptr [EBP + param_2+0x4]
.text:00418745 7407 JZ LAB_0041874e
.text:00418747 40 INC EAX
.text:00418748 803c0800 CMP byte ptr [EAX + ECX*0x1],0x0
.text:0041874c 75f4 JNZ LAB_00418742
LAB_0041874e: ;XREF[2,0]: 00418740,00418745
.text:0041874e 5d POP EBP
.text:0041874f c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __strnicmp *
;* *
;* Libraries: Visual Studio 2012 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;int __strnicmp(char * _Str1, char * _Str2, size_t _MaxCount)
;_Str1 char * 4 ;XREF[2,0]: 0041875f,004187af
;_Str2 char * 8 ;XREF[2,0]: 0041877c,004187ac
;_MaxCount size_t c ;XREF[2,0]: 00418787,004187a9
;XREF[1,0]: 00417a5a
.text:00418750 8bff MOV EDI,EDI
.text:00418752 55 PUSH EBP
.text:00418753 8bec MOV EBP,ESP
.text:00418755 833d603e4... CMP dword ptr [.data:DAT_00423e60],0x0 ;= ??
.text:0041875c 56 PUSH ESI
.text:0041875d 7548 JNZ LAB_004187a7
.text:0041875f 837d0800 CMP dword ptr [EBP + _Str1+0x4],0x0
.text:00418763 7517 JNZ LAB_0041877c
LAB_00418765: ;XREF[1,0]: 00418780
.text:00418765 e89a5bffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0041876a c70016000000 MOV dword ptr [EAX],0x16
.text:00418770 e8ae5affff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00418775 b8ffffff7f MOV EAX,0x7fffffff
.text:0041877a eb3e JMP LAB_004187ba
LAB_0041877c: ;XREF[1,0]: 00418763
.text:0041877c 837d0c00 CMP dword ptr [EBP + _Str2+0x4],0x0
.text:00418780 74e3 JZ LAB_00418765
.text:00418782 beffffff7f MOV ESI,0x7fffffff
.text:00418787 397510 CMP dword ptr [EBP + _MaxCount+0x4],ESI
.text:0041878a 7614 JBE LAB_004187a0
.text:0041878c e8735bffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00418791 c70016000000 MOV dword ptr [EAX],0x16
.text:00418797 e8875affff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:0041879c 8bc6 MOV EAX,ESI
.text:0041879e eb1a JMP LAB_004187ba
LAB_004187a0: ;XREF[1,0]: 0041878a
.text:004187a0 5e POP ESI
.text:004187a1 5d POP EBP
.text:004187a2 e929100000 JMP ___ascii_strnicmp ;int ___ascii_strnicmp(char * _Str1, ...
LAB_004187a7: ;XREF[1,0]: 0041875d
.text:004187a7 6a00 PUSH 0x0
.text:004187a9 ff7510 PUSH dword ptr [EBP + _MaxCount+0x4]
.text:004187ac ff750c PUSH dword ptr [EBP + _Str2+0x4]
.text:004187af ff7508 PUSH dword ptr [EBP + _Str1+0x4]
.text:004187b2 e806000000 CALL FUN_004187bd ;int FUN_004187bd(byte * param_1, byt...
.text:004187b7 83c410 ADD ESP,0x10
LAB_004187ba: ;XREF[2,0]: 0041877a,0041879e
.text:004187ba 5e POP ESI
.text:004187bb 5d POP EBP
.text:004187bc c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;int FUN_004187bd(byte * param_1, byte * param_2, uint param_3, LPVOID * param_4)
;param_1 byte * 4 ;XREF[1,0]: 004187c6
;param_2 byte * 8 ;XREF[1,0]: 004187e8
;param_3 uint c ;XREF[1,0]: 00418807
;param_4 LPVOID * 10 ;XREF[1,0]: 00418831
;local_8 undefined4 -8 ;XREF[3,0]: 00418845,0041884b,00418869
;local_c undefined1 -c ;XREF[1,0]: 00418871
;local_14 undefined4 -14 ;XREF[1,0]: 0041883c
;local_18 undefined4 -18 ;XREF[2,0]: 00418834,00418877
;XREF[2,0]: 00417aec,004187b2
.text:004187bd 8bff MOV EDI,EDI
.text:004187bf 55 PUSH EBP
.text:004187c0 8bec MOV EBP,ESP
.text:004187c2 83ec14 SUB ESP,0x14
.text:004187c5 57 PUSH EDI
.text:004187c6 8b7d08 MOV EDI,dword ptr [EBP + param_1+0x4]
.text:004187c9 85ff TEST EDI,EDI
.text:004187cb 751a JNZ LAB_004187e7
.text:004187cd e8325bffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004187d2 c70016000000 MOV dword ptr [EAX],0x16
.text:004187d8 e8465affff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:004187dd b8ffffff7f MOV EAX,0x7fffffff
.text:004187e2 e99e000000 JMP LAB_00418885
LAB_004187e7: ;XREF[1,0]: 004187cb
.text:004187e7 53 PUSH EBX
.text:004187e8 8b5d0c MOV EBX,dword ptr [EBP + param_2+0x4]
.text:004187eb 85db TEST EBX,EBX
.text:004187ed 7517 JNZ LAB_00418806
.text:004187ef e8105bffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004187f4 c70016000000 MOV dword ptr [EAX],0x16
.text:004187fa e8245affff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:004187ff b8ffffff7f MOV EAX,0x7fffffff
.text:00418804 eb7e JMP LAB_00418884
LAB_00418806: ;XREF[1,0]: 004187ed
.text:00418806 56 PUSH ESI
.text:00418807 8b7510 MOV ESI,dword ptr [EBP + param_3+0x4]
.text:0041880a 81feffffff7f CMP ESI,0x7fffffff
.text:00418810 7617 JBE LAB_00418829
.text:00418812 e8ed5affff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:00418817 c70016000000 MOV dword ptr [EAX],0x16
.text:0041881d e8015affff CALL FUN_0040e223 ;undefined FUN_0040e223(void)
.text:00418822 b8ffffff7f MOV EAX,0x7fffffff
.text:00418827 eb5a JMP LAB_00418883
LAB_00418829: ;XREF[1,0]: 00418810
.text:00418829 85f6 TEST ESI,ESI
.text:0041882b 7504 JNZ LAB_00418831
.text:0041882d 33c0 XOR EAX,EAX
.text:0041882f eb52 JMP LAB_00418883
LAB_00418831: ;XREF[1,0]: 0041882b
.text:00418831 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00418834 8d4dec LEA ECX=>local_18,[EBP + -0x14]
.text:00418837 e8b105ffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:0041883c 8b45f0 MOV EAX,dword ptr [EBP + local_14+0x4]
.text:0041883f 8b8894000000 MOV ECX,dword ptr [EAX + 0x94]
.text:00418845 894dfc MOV dword ptr [EBP + local_8+0x4],ECX
LAB_00418848: ;XREF[1,0]: 0041886f
.text:00418848 8a07 MOV AL,byte ptr [EDI]
.text:0041884a 47 INC EDI
.text:0041884b 8b55fc MOV EDX,dword ptr [EBP + local_8+0x4]
.text:0041884e 0fb6c0 MOVZX EAX,AL
.text:00418851 0fb60c08 MOVZX ECX,byte ptr [EAX + ECX*0x1]
.text:00418855 8a03 MOV AL,byte ptr [EBX]
.text:00418857 43 INC EBX
.text:00418858 0fb6c0 MOVZX EAX,AL
.text:0041885b 0fb60410 MOVZX EAX,byte ptr [EAX + EDX*0x1]
.text:0041885f 8bd1 MOV EDX,ECX
.text:00418861 2bd0 SUB EDX,EAX
.text:00418863 750c JNZ LAB_00418871
.text:00418865 85c9 TEST ECX,ECX
.text:00418867 7408 JZ LAB_00418871
.text:00418869 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:0041886c 83ee01 SUB ESI,0x1
.text:0041886f 75d7 JNZ LAB_00418848
LAB_00418871: ;XREF[2,0]: 00418863,00418867
.text:00418871 807df800 CMP byte ptr [EBP + local_c+0x4],0x0
.text:00418875 740a JZ LAB_00418881
.text:00418877 8b4dec MOV ECX,dword ptr [EBP + local_18+0x4]
.text:0041887a 83a150030... AND dword ptr [ECX + 0x350],0xfffffffd
LAB_00418881: ;XREF[1,0]: 00418875
.text:00418881 8bc2 MOV EAX,EDX
LAB_00418883: ;XREF[2,0]: 00418827,0041882f
.text:00418883 5e POP ESI
LAB_00418884: ;XREF[1,0]: 00418804
.text:00418884 5b POP EBX
LAB_00418885: ;XREF[1,0]: 004187e2
.text:00418885 5f POP EDI
.text:00418886 c9 LEAVE
.text:00418887 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_00418888(int * param_1, wchar_t * param_2, ulong param_3, byte * param_4, int param_5, byte * param_6, int param_7, uint param_8)
;param_1 int * 4 ;XREF[1,0]: 0041889a
;param_2 wchar_t * 8 ;XREF[1,0]: 004188a4
;param_3 ulong c ;XREF[1,0]: 00418af1
;param_4 byte * 10 ;XREF[1,0]: 004188ae
;param_5 int 14 ;XREF[1,0]: 004188a8
;param_6 byte * 18 ;XREF[1,0]: 0041889d
;param_7 int 1c ;XREF[3,0]: 004188d5,004188e7,00418aad
;param_8 uint 20 ;XREF[3,0]: 004188f5,00418904,00418a2a
;local_8 undefined4 -8 ;XREF[2,0]: 00418897,00418ad8
;local_14 undefined1 -14 ;XREF[2,0]: 0041896a,004189a5
;local_15 undefined1 -15 ;XREF[2,0]: 00418952,0041898d
;local_16 undefined1 -16 ;XREF[6,0]: 00418946,0041894a,0041895b,00418981,00418985
; 00418996
;local_1c undefined4 -1c ;XREF[3,0]: 00418929,00418940,0041897b
;local_20 undefined4 -20 ;XREF[7,0]: 004188b1,0041894f,004189b7,00418a27,00418a54
; 00418aa9,00418ae9
;local_24 undefined4 -24 ;XREF[5,0]: 004188b4,004188c5,0041898a,00418a45,00418ab0
;local_28 undefined4 -28 ;XREF[5,0]: 004188a1,004188fc,004189c5,00418a22,00418aed
;local_2c undefined4 -2c ;XREF[2,0]: 004188ab,00418af4
;local_38 undefined1 -38 ;XREF[1,0]: 00418ad2
;XREF[1,0]: 00418b53
.text:00418888 8bff MOV EDI,EDI
.text:0041888a 55 PUSH EBP
.text:0041888b 8bec MOV EBP,ESP
.text:0041888d 83ec28 SUB ESP,0x28
.text:00418890 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00418895 33c5 XOR EAX,EBP
.text:00418897 8945fc MOV dword ptr [EBP + local_8+0x4],EAX
.text:0041889a 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041889d 8b4d1c MOV ECX,dword ptr [EBP + param_6+0x4]
.text:004188a0 53 PUSH EBX
.text:004188a1 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:004188a4 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004188a7 56 PUSH ESI
.text:004188a8 8b7518 MOV ESI,dword ptr [EBP + param_5+0x4]
.text:004188ab 8945d8 MOV dword ptr [EBP + local_2c+0x4],EAX
.text:004188ae 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:004188b1 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:004188b4 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:004188b7 57 PUSH EDI
.text:004188b8 85f6 TEST ESI,ESI
.text:004188ba 7e10 JLE LAB_004188cc
.text:004188bc 56 PUSH ESI
.text:004188bd 50 PUSH EAX
.text:004188be e871feffff CALL ___strncnt ;undefined ___strncnt(char * param_1,...
.text:004188c3 59 POP ECX
.text:004188c4 59 POP ECX
.text:004188c5 8b4de0 MOV ECX,dword ptr [EBP + local_24+0x4]
.text:004188c8 8bf0 MOV ESI,EAX
.text:004188ca eb09 JMP LAB_004188d5
LAB_004188cc: ;XREF[1,0]: 004188ba
.text:004188cc 83feff CMP ESI,-0x1
.text:004188cf 0f8cfb010000 JL LAB_00418ad0
LAB_004188d5: ;XREF[1,0]: 004188ca
.text:004188d5 8b7d20 MOV EDI,dword ptr [EBP + param_7+0x4]
.text:004188d8 85ff TEST EDI,EDI
.text:004188da 7e10 JLE LAB_004188ec
.text:004188dc 57 PUSH EDI
.text:004188dd 51 PUSH ECX
.text:004188de e851feffff CALL ___strncnt ;undefined ___strncnt(char * param_1,...
.text:004188e3 59 POP ECX
.text:004188e4 8bf8 MOV EDI,EAX
.text:004188e6 59 POP ECX
.text:004188e7 897d20 MOV dword ptr [EBP + param_7+0x4],EDI
.text:004188ea eb09 JMP LAB_004188f5
LAB_004188ec: ;XREF[1,0]: 004188da
.text:004188ec 83ffff CMP EDI,-0x1
.text:004188ef 0f8cdb010000 JL LAB_00418ad0
LAB_004188f5: ;XREF[1,0]: 004188ea
.text:004188f5 8b5d24 MOV EBX,dword ptr [EBP + param_8+0x4]
.text:004188f8 85db TEST EBX,EBX
.text:004188fa 750b JNZ LAB_00418907
.text:004188fc 8b45dc MOV EAX,dword ptr [EBP + local_28+0x4]
.text:004188ff 8b00 MOV EAX,dword ptr [EAX]
.text:00418901 8b5808 MOV EBX,dword ptr [EAX + 0x8]
.text:00418904 895d24 MOV dword ptr [EBP + param_8+0x4],EBX
LAB_00418907: ;XREF[1,0]: 004188fa
.text:00418907 85f6 TEST ESI,ESI
.text:00418909 7408 JZ LAB_00418913
.text:0041890b 85ff TEST EDI,EDI
.text:0041890d 0f859f000000 JNZ LAB_004189b2
LAB_00418913: ;XREF[1,0]: 00418909
.text:00418913 3bf7 CMP ESI,EDI
.text:00418915 0f8405020000 JZ LAB_00418b20
.text:0041891b 83ff01 CMP EDI,0x1
.text:0041891e 0f8f86000000 JG LAB_004189aa
.text:00418924 83fe01 CMP ESI,0x1
.text:00418927 7f46 JG LAB_0041896f
.text:00418929 8d45e8 LEA EAX=>local_1c,[EBP + -0x18]
.text:0041892c 50 PUSH EAX ;LPCPINFO lpCPInfo for GetCPInfo
.text:0041892d 53 PUSH EBX ;UINT CodePage for GetCPInfo
.text:0041892e ff15bcb04100 CALL dword ptr [->KERNEL32.DLL::GetCPInfo] ;= 00022646
.text:00418934 85c0 TEST EAX,EAX
.text:00418936 0f8494010000 JZ LAB_00418ad0
.text:0041893c 85f6 TEST ESI,ESI
.text:0041893e 7e37 JLE LAB_00418977
.text:00418940 837de802 CMP dword ptr [EBP + local_1c+0x4],0x2
.text:00418944 7229 JC LAB_0041896f
.text:00418946 807dee00 CMP byte ptr [EBP + local_16+0x4],0x0
.text:0041894a 8d45ee LEA EAX=>local_16,[EBP + -0x12]
.text:0041894d 7420 JZ LAB_0041896f
.text:0041894f 8b75e4 MOV ESI,dword ptr [EBP + local_20+0x4]
LAB_00418952: ;XREF[1,0]: 0041896d
.text:00418952 8a4801 MOV CL,byte ptr [EAX + local_15+0x16]
.text:00418955 84c9 TEST CL,CL
.text:00418957 7416 JZ LAB_0041896f
.text:00418959 8a16 MOV DL,byte ptr [ESI]
.text:0041895b 3a10 CMP DL,byte ptr [EAX]=>local_16
.text:0041895d 7208 JC LAB_00418967
.text:0041895f 3ad1 CMP DL,CL
.text:00418961 0f86b9010000 JBE LAB_00418b20
LAB_00418967: ;XREF[1,0]: 0041895d
.text:00418967 83c002 ADD EAX,0x2
.text:0041896a 803800 CMP byte ptr [EAX]=>local_14,0x0
.text:0041896d 75e3 JNZ LAB_00418952
LAB_0041896f: ;XREF[4,0]: 00418927,00418944,0041894d,00418957
.text:0041896f 6a03 PUSH 0x3
LAB_00418971: ;XREF[1,0]: 00418b22
.text:00418971 58 POP EAX
.text:00418972 e95b010000 JMP LAB_00418ad2
LAB_00418977: ;XREF[1,0]: 0041893e
.text:00418977 85ff TEST EDI,EDI
.text:00418979 7e37 JLE LAB_004189b2
.text:0041897b 837de802 CMP dword ptr [EBP + local_1c+0x4],0x2
.text:0041897f 7229 JC LAB_004189aa
.text:00418981 807dee00 CMP byte ptr [EBP + local_16+0x4],0x0
.text:00418985 8d45ee LEA EAX=>local_16,[EBP + -0x12]
.text:00418988 7420 JZ LAB_004189aa
.text:0041898a 8b7de0 MOV EDI,dword ptr [EBP + local_24+0x4]
LAB_0041898d: ;XREF[1,0]: 004189a8
.text:0041898d 8a4801 MOV CL,byte ptr [EAX + local_15+0x16]
.text:00418990 84c9 TEST CL,CL
.text:00418992 7416 JZ LAB_004189aa
.text:00418994 8a17 MOV DL,byte ptr [EDI]
.text:00418996 3a10 CMP DL,byte ptr [EAX]=>local_16
.text:00418998 7208 JC LAB_004189a2
.text:0041899a 3ad1 CMP DL,CL
.text:0041899c 0f867e010000 JBE LAB_00418b20
LAB_004189a2: ;XREF[1,0]: 00418998
.text:004189a2 83c002 ADD EAX,0x2
.text:004189a5 803800 CMP byte ptr [EAX]=>local_14,0x0
.text:004189a8 75e3 JNZ LAB_0041898d
LAB_004189aa: ;XREF[4,0]: 0041891e,0041897f,00418988,00418992
.text:004189aa 33c0 XOR EAX,EAX
.text:004189ac 40 INC EAX
.text:004189ad e920010000 JMP LAB_00418ad2
LAB_004189b2: ;XREF[2,0]: 0041890d,00418979
.text:004189b2 6a00 PUSH 0x0
.text:004189b4 6a00 PUSH 0x0
.text:004189b6 56 PUSH ESI
.text:004189b7 ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:004189ba 6a09 PUSH 0x9
.text:004189bc 53 PUSH EBX
.text:004189bd e8e194ffff CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:004189c2 83c418 ADD ESP,0x18
.text:004189c5 8945dc MOV dword ptr [EBP + local_28+0x4],EAX
.text:004189c8 85c0 TEST EAX,EAX
.text:004189ca 0f8400010000 JZ LAB_00418ad0
.text:004189d0 8d0c00 LEA ECX,[EAX + EAX*0x1]
.text:004189d3 8d5108 LEA EDX,[ECX + 0x8]
.text:004189d6 3bca CMP ECX,EDX
.text:004189d8 1bc0 SBB EAX,EAX
.text:004189da 23c2 AND EAX,EDX
.text:004189dc 0f843a010000 JZ LAB_00418b1c
.text:004189e2 3d00040000 CMP EAX,0x400
.text:004189e7 7717 JA LAB_00418a00
.text:004189e9 e8521f0000 CALL __alloca_probe_16 ;uint __alloca_probe_16(undefined1 pa...
.text:004189ee 8bdc MOV EBX,ESP
.text:004189f0 85db TEST EBX,EBX
.text:004189f2 0f8424010000 JZ LAB_00418b1c
.text:004189f8 c703cccc0000 MOV dword ptr [EBX],0xcccc
.text:004189fe eb17 JMP LAB_00418a17
LAB_00418a00: ;XREF[1,0]: 004189e7
.text:00418a00 50 PUSH EAX
.text:00418a01 e8cb63ffff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:00418a06 8bd8 MOV EBX,EAX
.text:00418a08 59 POP ECX
.text:00418a09 85db TEST EBX,EBX
.text:00418a0b 0f840b010000 JZ LAB_00418b1c
.text:00418a11 c703dddd0000 MOV dword ptr [EBX],0xdddd
LAB_00418a17: ;XREF[1,0]: 004189fe
.text:00418a17 83c308 ADD EBX,0x8
.text:00418a1a 85db TEST EBX,EBX
.text:00418a1c 0f84fa000000 JZ LAB_00418b1c
.text:00418a22 ff75dc PUSH dword ptr [EBP + local_28+0x4]
.text:00418a25 53 PUSH EBX
.text:00418a26 56 PUSH ESI
.text:00418a27 ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:00418a2a 8b7524 MOV ESI,dword ptr [EBP + param_8+0x4]
.text:00418a2d 6a01 PUSH 0x1
.text:00418a2f 56 PUSH ESI
.text:00418a30 e86e94ffff CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:00418a35 83c418 ADD ESP,0x18
.text:00418a38 85c0 TEST EAX,EAX
.text:00418a3a 0f84d4000000 JZ LAB_00418b14
.text:00418a40 6a00 PUSH 0x0
.text:00418a42 6a00 PUSH 0x0
.text:00418a44 57 PUSH EDI
.text:00418a45 8b7de0 MOV EDI,dword ptr [EBP + local_24+0x4]
.text:00418a48 57 PUSH EDI
.text:00418a49 6a09 PUSH 0x9
.text:00418a4b 56 PUSH ESI
.text:00418a4c e85294ffff CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:00418a51 83c418 ADD ESP,0x18
.text:00418a54 8945e4 MOV dword ptr [EBP + local_20+0x4],EAX
.text:00418a57 85c0 TEST EAX,EAX
.text:00418a59 0f84b5000000 JZ LAB_00418b14
.text:00418a5f 8d0c00 LEA ECX,[EAX + EAX*0x1]
.text:00418a62 8d5108 LEA EDX,[ECX + 0x8]
.text:00418a65 3bca CMP ECX,EDX
.text:00418a67 1bc0 SBB EAX,EAX
.text:00418a69 23c2 AND EAX,EDX
.text:00418a6b 0f849f000000 JZ LAB_00418b10
.text:00418a71 3d00040000 CMP EAX,0x400
.text:00418a76 7717 JA LAB_00418a8f
.text:00418a78 e8c31e0000 CALL __alloca_probe_16 ;uint __alloca_probe_16(undefined1 pa...
.text:00418a7d 8bfc MOV EDI,ESP
.text:00418a7f 85ff TEST EDI,EDI
.text:00418a81 0f8489000000 JZ LAB_00418b10
.text:00418a87 c707cccc0000 MOV dword ptr [EDI],0xcccc
.text:00418a8d eb13 JMP LAB_00418aa2
LAB_00418a8f: ;XREF[1,0]: 00418a76
.text:00418a8f 50 PUSH EAX
.text:00418a90 e83c63ffff CALL __malloc_base ;LPVOID __malloc_base(SIZE_T param_1)
.text:00418a95 8bf8 MOV EDI,EAX
.text:00418a97 59 POP ECX
.text:00418a98 85ff TEST EDI,EDI
.text:00418a9a 7474 JZ LAB_00418b10
.text:00418a9c c707dddd0000 MOV dword ptr [EDI],0xdddd
LAB_00418aa2: ;XREF[1,0]: 00418a8d
.text:00418aa2 83c708 ADD EDI,0x8
.text:00418aa5 85ff TEST EDI,EDI
.text:00418aa7 7467 JZ LAB_00418b10
.text:00418aa9 ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:00418aac 57 PUSH EDI
.text:00418aad ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00418ab0 ff75e0 PUSH dword ptr [EBP + local_24+0x4]
.text:00418ab3 6a01 PUSH 0x1
.text:00418ab5 56 PUSH ESI
.text:00418ab6 e8e893ffff CALL FUN_00411ea3 ;undefined FUN_00411ea3(uint param_1,...
.text:00418abb 83c418 ADD ESP,0x18
.text:00418abe 85c0 TEST EAX,EAX
.text:00418ac0 7522 JNZ LAB_00418ae4
.text:00418ac2 57 PUSH EDI
LAB_00418ac3: ;XREF[1,0]: 00418b12
.text:00418ac3 e8789fffff CALL FUN_00412a40 ;undefined FUN_00412a40(int param_1)
.text:00418ac8 53 PUSH EBX
.text:00418ac9 e8729fffff CALL FUN_00412a40 ;undefined FUN_00412a40(int param_1)
.text:00418ace 59 POP ECX
LAB_00418acf: ;XREF[1,0]: 00418b1a
.text:00418acf 59 POP ECX
LAB_00418ad0: ;XREF[4,0]: 004188cf,004188ef,00418936,004189ca
.text:00418ad0 33c0 XOR EAX,EAX
LAB_00418ad2: ;XREF[3,0]: 00418972,004189ad,00418b0e
.text:00418ad2 8d65cc LEA ESP=>local_38,[EBP + -0x34]
.text:00418ad5 5f POP EDI
.text:00418ad6 5e POP ESI
.text:00418ad7 5b POP EBX
.text:00418ad8 8b4dfc MOV ECX,dword ptr [EBP + local_8+0x4]
.text:00418adb 33cd XOR ECX,EBP
.text:00418add e84396feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00418ae2 c9 LEAVE
.text:00418ae3 c3 RET
LAB_00418ae4: ;XREF[1,0]: 00418ac0
.text:00418ae4 33c0 XOR EAX,EAX
.text:00418ae6 50 PUSH EAX
.text:00418ae7 50 PUSH EAX
.text:00418ae8 50 PUSH EAX
.text:00418ae9 ff75e4 PUSH dword ptr [EBP + local_20+0x4]
.text:00418aec 57 PUSH EDI
.text:00418aed ff75dc PUSH dword ptr [EBP + local_28+0x4]
.text:00418af0 53 PUSH EBX
.text:00418af1 ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00418af4 ff75d8 PUSH dword ptr [EBP + local_2c+0x4]
.text:00418af7 e8c95affff CALL FID_conflict:___acrt_CompareStringEx@36 ;undefined FID_conflict:___acrt_Compa...
.text:00418afc 57 PUSH EDI
.text:00418afd 8bf0 MOV ESI,EAX
.text:00418aff e83c9fffff CALL FUN_00412a40 ;undefined FUN_00412a40(int param_1)
.text:00418b04 53 PUSH EBX
.text:00418b05 e8369fffff CALL FUN_00412a40 ;undefined FUN_00412a40(int param_1)
.text:00418b0a 59 POP ECX
.text:00418b0b 59 POP ECX
.text:00418b0c 8bc6 MOV EAX,ESI
.text:00418b0e ebc2 JMP LAB_00418ad2
LAB_00418b10: ;XREF[4,0]: 00418a6b,00418a81,00418a9a,00418aa7
.text:00418b10 6a00 PUSH 0x0
.text:00418b12 ebaf JMP LAB_00418ac3
LAB_00418b14: ;XREF[2,0]: 00418a3a,00418a59
.text:00418b14 53 PUSH EBX
LAB_00418b15: ;XREF[1,0]: 00418b1e
.text:00418b15 e8269fffff CALL FUN_00412a40 ;undefined FUN_00412a40(int param_1)
.text:00418b1a ebb3 JMP LAB_00418acf
LAB_00418b1c: ;XREF[4,0]: 004189dc,004189f2,00418a0b,00418a1c
.text:00418b1c 6a00 PUSH 0x0
.text:00418b1e ebf5 JMP LAB_00418b15
LAB_00418b20: ;XREF[3,0]: 00418915,00418961,0041899c
.text:00418b20 6a02 PUSH 0x2
.text:00418b22 e94afeffff JMP LAB_00418971
;************************************************************************************************
;* Library Function - Single Match *
;* ___acrt_CompareStringA *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___acrt_CompareStringA(LPVOID * param_1, wchar_t * param_2, ulong param_3, byte * param_4, int param_5, byte * param_6, int param_7, uint param_8)
;param_1 LPVOID * 4 ;XREF[1,0]: 00418b2f
;param_2 wchar_t * 8 ;XREF[1,0]: 00418b4f
;param_3 ulong c ;XREF[1,0]: 00418b4c
;param_4 byte * 10 ;XREF[1,0]: 00418b49
;param_5 int 14 ;XREF[1,0]: 00418b46
;param_6 byte * 18 ;XREF[1,0]: 00418b43
;param_7 int 1c ;XREF[1,0]: 00418b40
;param_8 uint 20 ;XREF[1,0]: 00418b3a
;local_8 undefined1 -8 ;XREF[1,0]: 00418b5b
;local_10 undefined1 -10 ;XREF[1,0]: 00418b3d
;local_14 undefined4 -14 ;XREF[2,0]: 00418b32,00418b61
;XREF[1,0]: 00417b09
.text:00418b27 8bff MOV EDI,EDI
.text:00418b29 55 PUSH EBP
.text:00418b2a 8bec MOV EBP,ESP
.text:00418b2c 83ec10 SUB ESP,0x10
.text:00418b2f ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00418b32 8d4df0 LEA ECX=>local_14,[EBP + -0x10]
.text:00418b35 e8b302ffff CALL FUN_00408ded ;void * FUN_00408ded(void * this, LPV...
.text:00418b3a ff7524 PUSH dword ptr [EBP + param_8+0x4]
.text:00418b3d 8d45f4 LEA EAX=>local_10,[EBP + -0xc]
.text:00418b40 ff7520 PUSH dword ptr [EBP + param_7+0x4]
.text:00418b43 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:00418b46 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00418b49 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00418b4c ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00418b4f ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00418b52 50 PUSH EAX
.text:00418b53 e830fdffff CALL FUN_00418888 ;undefined FUN_00418888(int * param_1...
.text:00418b58 83c420 ADD ESP,0x20
.text:00418b5b 807dfc00 CMP byte ptr [EBP + local_8+0x4],0x0
.text:00418b5f 740a JZ LAB_00418b6b
.text:00418b61 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:00418b64 83a150030... AND dword ptr [ECX + 0x350],0xfffffffd
LAB_00418b6b: ;XREF[1,0]: 00418b5f
.text:00418b6b c9 LEAVE
.text:00418b6c c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* void __cdecl __dcrt_lowio_initialize_console_output(void) *
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;void __dcrt_lowio_initialize_console_output(void)
;XREF[2,0]: 00418b97,00418bf5
.text:00418b6d 33c0 XOR EAX,EAX
.text:00418b6f 50 PUSH EAX ;HANDLE hTemplateFile for CreateFileW
.text:00418b70 50 PUSH EAX ;DWORD dwFlagsAndAttributes for Creat...
.text:00418b71 6a03 PUSH 0x3 ;DWORD dwCreationDisposition for Crea...
.text:00418b73 50 PUSH EAX ;LPSECURITY_ATTRIBUTES lpSecurityAttr...
.text:00418b74 6a03 PUSH 0x3 ;DWORD dwShareMode for CreateFileW
.text:00418b76 6800000040 PUSH 0x40000000 ;DWORD dwDesiredAccess for CreateFileW
.text:00418b7b 68b8fe4100 PUSH .rdata:u_CONOUT$_0041feb8 ;LPCWSTR lpFileName for CreateFileW
.text:00418b80 ff1508b14100 CALL dword ptr [->KERNEL32.DLL::CreateFileW] ;= 000227a4
.text:00418b86 a390384200 MOV [.data:hConsoleOutput_00423890],EAX ;= fffffffe
.text:00418b8b c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___dcrt_lowio_ensure_console_output_initialized *
;* *
;* Libraries: Visual Studio 2019 Debug, Visual Studio 2019 Release *
;************************************************************************************************
;bool ___dcrt_lowio_ensure_console_output_initialized(void)
;XREF[1,0]: 0041823b
.text:00418b8c 8b0d90384200 MOV ECX,dword ptr [.data:hConsoleOutput_0...;= fffffffe
.text:00418b92 83f9fe CMP ECX,-0x2
.text:00418b95 750b JNZ LAB_00418ba2
.text:00418b97 e8d1ffffff CALL __dcrt_lowio_initialize_console_output ;void __dcrt_lowio_initialize_console...
.text:00418b9c 8b0d90384200 MOV ECX,dword ptr [.data:hConsoleOutput_0...;= fffffffe
LAB_00418ba2: ;XREF[1,0]: 00418b95
.text:00418ba2 33c0 XOR EAX,EAX
.text:00418ba4 83f9ff CMP ECX,-0x1
.text:00418ba7 0f95c0 SETNZ AL
.text:00418baa c3 RET
;************************************************************************************************
;* Library Function - Multiple Matches With Different Base Names *
;* ___dcrt_terminate_console_input *
;* ___dcrt_terminate_console_output *
;* *
;* Libraries: Visual Studio 2017 Debug, Visual Studio 2017 Release, Visual Studio 2019 Debug, Vi...*
;************************************************************************************************
;undefined FID_conflict:___dcrt_terminate_console_output(void)
;XREF[2,0]: 00418bf0,0041b154
.text:00418bab a190384200 MOV EAX=>DAT_fffffffe,[.data:hConsoleOutp...;= fffffffe
.text:00418bb0 83f8ff CMP EAX,-0x1
.text:00418bb3 740c JZ LAB_00418bc1
.text:00418bb5 83f8fe CMP EAX,-0x2
.text:00418bb8 7407 JZ LAB_00418bc1
.text:00418bba 50 PUSH EAX ;HANDLE hObject for CloseHandle
.text:00418bbb ff1504b14100 CALL dword ptr [->KERNEL32.DLL::CloseHandle] ;= 00022796
LAB_00418bc1: ;XREF[2,0]: 00418bb3,00418bb8
.text:00418bc1 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___dcrt_write_console *
;* *
;* Libraries: Visual Studio 2019 Debug, Visual Studio 2019 Release *
;************************************************************************************************
;BOOL ___dcrt_write_console(void * param_1, DWORD param_2, LPDWORD param_3)
;param_1 void * 4 ;XREF[2,0]: 00418bd0,00418c01
;param_2 DWORD 8 ;XREF[2,0]: 00418bcd,00418bfe
;param_3 LPDWORD c ;XREF[2,0]: 00418bca,00418bfb
;XREF[1,0]: 0041824e
.text:00418bc2 8bff MOV EDI,EDI
.text:00418bc4 55 PUSH EBP
.text:00418bc5 8bec MOV EBP,ESP
.text:00418bc7 56 PUSH ESI
.text:00418bc8 6a00 PUSH 0x0 ;LPVOID lpReserved for WriteConsoleW
.text:00418bca ff7510 PUSH dword ptr [EBP + param_3+0x4] ;LPDWORD lpNumberOfCharsWritten for W...
.text:00418bcd ff750c PUSH dword ptr [EBP + param_2+0x4] ;DWORD nNumberOfCharsToWrite for Writ...
.text:00418bd0 ff7508 PUSH dword ptr [EBP + param_1+0x4] ;void * lpBuffer for WriteConsoleW
.text:00418bd3 ff3590384200 PUSH dword ptr [.data:hConsoleOutput_00423...;HANDLE hConsoleOutput for WriteConsoleW
.text:00418bd9 ff150cb14100 CALL dword ptr [->KERNEL32.DLL::WriteConso...;= 000227b2
.text:00418bdf 8bf0 MOV ESI,EAX
.text:00418be1 85f6 TEST ESI,ESI
.text:00418be3 752d JNZ LAB_00418c12
.text:00418be5 ff1538b04100 CALL dword ptr [->KERNEL32.DLL::GetLastError];= 00022416
.text:00418beb 83f806 CMP EAX,0x6
.text:00418bee 7522 JNZ LAB_00418c12
.text:00418bf0 e8b6ffffff CALL FID_conflict:___dcrt_terminate_consol...;undefined FID_conflict:___dcrt_termi...
.text:00418bf5 e873ffffff CALL __dcrt_lowio_initialize_console_output ;void __dcrt_lowio_initialize_console...
.text:00418bfa 56 PUSH ESI ;LPVOID lpReserved for WriteConsoleW
.text:00418bfb ff7510 PUSH dword ptr [EBP + param_3+0x4] ;LPDWORD lpNumberOfCharsWritten for W...
.text:00418bfe ff750c PUSH dword ptr [EBP + param_2+0x4] ;DWORD nNumberOfCharsToWrite for Writ...
.text:00418c01 ff7508 PUSH dword ptr [EBP + param_1+0x4] ;void * lpBuffer for WriteConsoleW
.text:00418c04 ff3590384200 PUSH dword ptr [.data:hConsoleOutput_00423...;HANDLE hConsoleOutput for WriteConsoleW
.text:00418c0a ff150cb14100 CALL dword ptr [->KERNEL32.DLL::WriteConso...;= 000227b2
.text:00418c10 8bf0 MOV ESI,EAX
LAB_00418c12: ;XREF[2,0]: 00418be3,00418bee
.text:00418c12 8bc6 MOV EAX,ESI
.text:00418c14 5e POP ESI
.text:00418c15 5d POP EBP
.text:00418c16 c3 RET
LAB_00418c17: ;XREF[1,0]: 0041b144
.text:00418c17 6a0a PUSH 0xa
.text:00418c19 ff1524b04100 CALL dword ptr [->KERNEL32.DLL::IsProcesso...;= 000223b2
.text:00418c1f a358454200 MOV [.data:DAT_00424558],EAX ;= ??
.text:00418c24 33c0 XOR EAX,EAX
.text:00418c26 c3 RET
.text:00418c27 cc ?? CCh
.text:00418c28 cc ?? CCh
.text:00418c29 cc ?? CCh
.text:00418c2a cc ?? CCh
.text:00418c2b cc ?? CCh
.text:00418c2c cc ?? CCh
.text:00418c2d cc ?? CCh
.text:00418c2e cc ?? CCh
.text:00418c2f cc ?? CCh
;************************************************************************************************
;* Library Function - Single Match *
;* __CIlog10_pentium4 *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;undefined __CIlog10_pentium4(void)
;local_10 undefined8 -10 ;XREF[2,0]: 00418c39,00418c3c
;XREF[1,0]: 00418356
.text:00418c30 55 PUSH EBP
.text:00418c31 8bec MOV EBP,ESP
.text:00418c33 83ec08 SUB ESP,0x8
.text:00418c36 83e4f0 AND ESP,0xfffffff0
.text:00418c39 dd1c24 FSTP qword ptr [ESP]=>local_10
.text:00418c3c f30f7e0424 MOVQ XMM0,qword ptr [ESP]=>local_10
.text:00418c41 e808000000 CALL start ;float10 * start(float10 * __return_s...
.text:00418c46 c9 LEAVE
.text:00418c47 c3 RET
.text:00418c48 66 ?? 66h f
.text:00418c49 0f ?? 0Fh
.text:00418c4a 12 ?? 12h
.text:00418c4b 44 ?? 44h D
.text:00418c4c 24 ?? 24h $
.text:00418c4d 04 ?? 04h
;************************************************************************************************
;* Library Function - Single Match *
;* start *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;float10 * start(float10 * __return_storage_ptr__, double param_1)
;__return_s... float10 * 4 ;XREF[4,0]: 00418da6,00418dd0,00418e87,00418e8d
;param_1 double c
;local_c undefined8 -c ;XREF[4,0]: 00418d98,00418d9e,00418e5d,00418e7f
;local_10 undefined4 -10 ;XREF[1,0]: 00418e63
;local_14 undefined4 -14 ;XREF[1,0]: 00418e6c
;local_18 undefined4 -18 ;XREF[1,0]: 00418e73
;local_1c undefined4 -1c ;XREF[1,0]: 00418e77
;XREF[1,0]: 00418c41
.text:00418c4e ba00000000 MOV EDX,0x0
LAB_00418c53: ;XREF[1,0]: 00418e37
.text:00418c53 660f28e8 MOVAPD XMM5,XMM0
.text:00418c57 660f14c0 UNPCKLPD XMM0,XMM0
.text:00418c5b 660f73d534 PSRLQ XMM5,0x34
.text:00418c60 660fc5cd00 PEXTRW ECX,XMM5,0x0
.text:00418c65 660f280dd... MOVAPD XMM1,xmmword ptr [.rdata:DAT_0041fed0] ;= FFh
.text:00418c6d 660f2815e... MOVAPD XMM2,xmmword ptr [.rdata:DAT_0041fee0]
.text:00418c75 660f281d4... MOVAPD XMM3,xmmword ptr [.rdata:DAT_0041ff40] ;= 3FF0000000000000h
.text:00418c7d 660f2825f... MOVAPD XMM4,xmmword ptr [.rdata:DAT_0041fef0] ;= 10h
.text:00418c85 660f28350... MOVAPD XMM6,xmmword ptr [.rdata:DAT_0041ff00]
.text:00418c8d 660f54c1 ANDPD XMM0,XMM1
.text:00418c91 660f56c3 ORPD XMM0,XMM3
.text:00418c95 660f58e0 ADDPD XMM4,XMM0
.text:00418c99 660fc5c400 PEXTRW EAX,XMM4,0x0
.text:00418c9e 25f0070000 AND EAX,0x7f0
.text:00418ca3 660f28a00... MOVAPD XMM4,xmmword ptr [EAX + .rdata:DAT_00...
.text:00418cab 660f28b8f... MOVAPD XMM7,xmmword ptr [EAX + .rdata:DAT_00...
.text:00418cb3 660f54f0 ANDPD XMM6,XMM0
.text:00418cb7 660f5cc6 SUBPD XMM0,XMM6
.text:00418cbb 660f59f4 MULPD XMM6,XMM4
.text:00418cbf 660f5cf2 SUBPD XMM6,XMM2
.text:00418cc3 f20f58fe ADDSD XMM7,XMM6
.text:00418cc7 660f59c4 MULPD XMM0,XMM4
.text:00418ccb 660f28e0 MOVAPD XMM4,XMM0
.text:00418ccf 660f58c6 ADDPD XMM0,XMM6
.text:00418cd3 81e1ff0f0000 AND ECX,0xfff
.text:00418cd9 83e901 SUB ECX,0x1
.text:00418cdc 81f9fd070000 CMP ECX,0x7fd
.text:00418ce2 0f87be000000 JA LAB_00418da6
.text:00418ce8 81e9fe030000 SUB ECX,0x3fe
.text:00418cee 03ca ADD ECX,EDX
.text:00418cf0 f20f2af1 CVTSI2SD XMM6,ECX
.text:00418cf4 660f14f6 UNPCKLPD XMM6,XMM6
.text:00418cf8 c1e10a SHL ECX,0xa
.text:00418cfb 03c1 ADD EAX,ECX
.text:00418cfd b910000000 MOV ECX,0x10
.text:00418d02 ba00000000 MOV EDX,0x0
.text:00418d07 83f800 CMP EAX,0x0
.text:00418d0a 0f44d1 CMOVZ EDX,ECX
.text:00418d0d 660f280d9... MOVAPD XMM1,xmmword ptr [.rdata:DAT_0041ff90] ;= F9h
.text:00418d15 660f28d8 MOVAPD XMM3,XMM0
.text:00418d19 660f2815a... MOVAPD XMM2,xmmword ptr [.rdata:DAT_0041ffa0] ;= 55h U
.text:00418d21 660f59c8 MULPD XMM1,XMM0
.text:00418d25 660f59db MULPD XMM3,XMM3
.text:00418d29 660f58ca ADDPD XMM1,XMM2
.text:00418d2d 660f2815b... MOVAPD XMM2,xmmword ptr [.rdata:DAT_0041ffb0] ;= F7h
.text:00418d35 f20f59db MULSD XMM3,XMM3
.text:00418d39 660f282d1... MOVAPD XMM5,xmmword ptr [.rdata:DAT_0041ff10]
.text:00418d41 660f59f5 MULPD XMM6,XMM5
.text:00418d45 660f28aa2... MOVAPD XMM5,xmmword ptr [EDX + .rdata:DAT_00...
.text:00418d4d 660f54e5 ANDPD XMM4,XMM5
.text:00418d51 660f58fe ADDPD XMM7,XMM6
.text:00418d55 660f58fc ADDPD XMM7,XMM4
.text:00418d59 660f59c8 MULPD XMM1,XMM0
.text:00418d5d f20f59d8 MULSD XMM3,XMM0
.text:00418d61 660f58ca ADDPD XMM1,XMM2
.text:00418d65 660f2815c... MOVAPD XMM2,xmmword ptr [.rdata:DAT_0041ffc0] ;= 08h
.text:00418d6d 660f59d0 MULPD XMM2,XMM0
.text:00418d71 660f28f7 MOVAPD XMM6,XMM7
.text:00418d75 660f15f6 UNPCKHPD XMM6,XMM6
.text:00418d79 660f59cb MULPD XMM1,XMM3
.text:00418d7d 83ec10 SUB ESP,0x10
.text:00418d80 660f28c1 MOVAPD XMM0,XMM1
.text:00418d84 660f58ca ADDPD XMM1,XMM2
.text:00418d88 660f15c0 UNPCKHPD XMM0,XMM0
.text:00418d8c f20f58c1 ADDSD XMM0,XMM1
.text:00418d90 f20f58c6 ADDSD XMM0,XMM6
.text:00418d94 f20f58c7 ADDSD XMM0,XMM7
.text:00418d98 660f13442404 MOVLPD qword ptr [ESP + local_c+0x10],XMM0
.text:00418d9e dd442404 FLD qword ptr [ESP + local_c+0x10]
.text:00418da2 83c410 ADD ESP,0x10
.text:00418da5 c3 RET
LAB_00418da6: ;XREF[1,0]: 00418ce2
.text:00418da6 660f12442404 MOVLPD XMM0,qword ptr [ESP + __return_storag...
.text:00418dac 660f280d5... MOVAPD XMM1,xmmword ptr [.rdata:DAT_0041ff50]
.text:00418db4 f20fc2c800 CMPEQSD XMM1,XMM0
.text:00418db9 660fc5c100 PEXTRW EAX,XMM1,0x0
.text:00418dbe 83f800 CMP EAX,0x0
.text:00418dc1 7748 JA LAB_00418e0b
.text:00418dc3 83f9ff CMP ECX,-0x1
.text:00418dc6 745e JZ LAB_00418e26
.text:00418dc8 81f9fe070000 CMP ECX,0x7fe
.text:00418dce 776c JA LAB_00418e3c
.text:00418dd0 660f12442404 MOVLPD XMM0,qword ptr [ESP + __return_storag...
.text:00418dd6 660f280dd... MOVAPD XMM1,xmmword ptr [.rdata:DAT_0041fed0] ;= FFh
.text:00418dde 660f28154... MOVAPD XMM2,xmmword ptr [.rdata:DAT_0041ff40] ;= 3FF0000000000000h
.text:00418de6 660f54c1 ANDPD XMM0,XMM1
.text:00418dea 660f56c2 ORPD XMM0,XMM2
.text:00418dee f20fc2d000 CMPEQSD XMM2,XMM0
.text:00418df3 660fc5c200 PEXTRW EAX,XMM2,0x0
.text:00418df8 83f800 CMP EAX,0x0
.text:00418dfb 7407 JZ LAB_00418e04
.text:00418dfd dd0578ff4100 FLD qword ptr [.rdata:DAT_0041ff78]
.text:00418e03 c3 RET
LAB_00418e04: ;XREF[1,0]: 00418dfb
.text:00418e04 bae9030000 MOV EDX,0x3e9
.text:00418e09 eb4f JMP LAB_00418e5a
LAB_00418e0b: ;XREF[1,0]: 00418dc1
.text:00418e0b 660f12154... MOVLPD XMM2,qword ptr [.rdata:DAT_0041ff40] ;= 3FF0000000000000h
.text:00418e13 f20f5ed0 DIVSD XMM2,XMM0
.text:00418e17 660f120d7... MOVLPD XMM1,qword ptr [.rdata:DAT_0041ff70] ;= FFF0000000000000h
.text:00418e1f ba08000000 MOV EDX,0x8
.text:00418e24 eb34 JMP LAB_00418e5a
LAB_00418e26: ;XREF[1,0]: 00418dc6
.text:00418e26 660f120d6... MOVLPD XMM1,qword ptr [.rdata:DAT_0041ff60] ;= 4330000000000000h
.text:00418e2e f20f59c1 MULSD XMM0,XMM1
.text:00418e32 baccffffff MOV EDX,0xffffffcc
.text:00418e37 e917feffff JMP LAB_00418c53
LAB_00418e3c: ;XREF[1,0]: 00418dce
.text:00418e3c 83c101 ADD ECX,0x1
.text:00418e3f 81e1ff070000 AND ECX,0x7ff
.text:00418e45 81f9ff070000 CMP ECX,0x7ff
.text:00418e4b 733a JNC LAB_00418e87
LAB_00418e4d: ;XREF[1,0]: 00418eab
.text:00418e4d 660f57c9 XORPD XMM1,XMM1
.text:00418e51 f20f5ec9 DIVSD XMM1,XMM1
.text:00418e55 ba09000000 MOV EDX,0x9
LAB_00418e5a: ;XREF[3,0]: 00418e09,00418e24,00418eb2
.text:00418e5a 83ec1c SUB ESP,0x1c
.text:00418e5d 660f134c2410 MOVLPD qword ptr [ESP + local_c+0x1c],XMM1
.text:00418e63 8954240c MOV dword ptr [ESP + local_10+0x1c],EDX
.text:00418e67 8bd4 MOV EDX,ESP
.text:00418e69 83c210 ADD EDX,0x10
.text:00418e6c 89542408 MOV dword ptr [ESP + local_14+0x1c],EDX
.text:00418e70 83c210 ADD EDX,0x10
.text:00418e73 89542404 MOV dword ptr [ESP + local_18+0x1c],EDX
.text:00418e77 891424 MOV dword ptr [ESP]=>local_1c,EDX
.text:00418e7a e894060000 CALL ___libm_error_support ;undefined ___libm_error_support(unde...
.text:00418e7f dd442410 FLD qword ptr [ESP + local_c+0x1c]
.text:00418e83 83c41c ADD ESP,0x1c
.text:00418e86 c3 RET
LAB_00418e87: ;XREF[1,0]: 00418e4b
.text:00418e87 660f12542404 MOVLPD XMM2,qword ptr [ESP + __return_storag...
.text:00418e8d 660f12442404 MOVLPD XMM0,qword ptr [ESP + __return_storag...
.text:00418e93 660f7ed0 MOVD EAX,XMM2
.text:00418e97 660f73d220 PSRLQ XMM2,0x20
.text:00418e9c 660f7ed1 MOVD ECX,XMM2
.text:00418ea0 81e1ffff0f00 AND ECX,0xfffff
.text:00418ea6 0bc1 OR EAX,ECX
.text:00418ea8 83f800 CMP EAX,0x0
.text:00418eab 74a0 JZ LAB_00418e4d
.text:00418ead bae9030000 MOV EDX,0x3e9
.text:00418eb2 eba6 JMP LAB_00418e5a
.text:00418eb4 8d align align(1)
.text:00418eb5 a4 ?? A4h
.text:00418eb6 24 ?? 24h $
.text:00418eb7 00 ?? 00h
.text:00418eb8 00 ?? 00h
.text:00418eb9 00 ?? 00h
.text:00418eba 00 ?? 00h
.text:00418ebb eb ?? EBh
.text:00418ebc 03 ?? 03h
.text:00418ebd cc ?? CCh
.text:00418ebe cc ?? CCh
.text:00418ebf cc ?? CCh
.text:00418ec0 c6 ?? C6h
.text:00418ec1 85 ?? 85h
.text:00418ec2 70 ?? 70h p
.text:00418ec3 ff ?? FFh
.text:00418ec4 ff ?? FFh
.text:00418ec5 ff ?? FFh
.text:00418ec6 fe ?? FEh
.text:00418ec7 0a ?? 0Ah
.text:00418ec8 ed ?? EDh
.text:00418ec9 75 ?? 75h u
.text:00418eca 4a ?? 4Ah J
.text:00418ecb d9 ?? D9h
.text:00418ecc c9 ?? C9h
.text:00418ecd d9 ?? D9h
.text:00418ece f1 ?? F1h
.text:00418ecf eb ?? EBh
.text:00418ed0 1c ?? 1Ch
.text:00418ed1 8d ?? 8Dh
.text:00418ed2 a4 ?? A4h
.text:00418ed3 24 ?? 24h $
.text:00418ed4 00 ?? 00h
.text:00418ed5 00 ?? 00h
.text:00418ed6 00 ?? 00h
.text:00418ed7 00 ?? 00h
.text:00418ed8 8d ?? 8Dh
.text:00418ed9 a4 ?? A4h
.text:00418eda 24 ?? 24h $
.text:00418edb 00 ?? 00h
.text:00418edc 00 ?? 00h
.text:00418edd 00 ?? 00h
.text:00418ede 00 ?? 00h
.text:00418edf 90 ?? 90h
.text:00418ee0 c6 ?? C6h
.text:00418ee1 85 ?? 85h
.text:00418ee2 70 ?? 70h p
.text:00418ee3 ff ?? FFh
.text:00418ee4 ff ?? FFh
.text:00418ee5 ff ?? FFh
.text:00418ee6 fe ?? FEh
.text:00418ee7 32 ?? 32h 2
.text:00418ee8 ed ?? EDh
.text:00418ee9 d9 ?? D9h
.text:00418eea ea ?? EAh
.text:00418eeb de ?? DEh
.text:00418eec c9 ?? C9h
.text:00418eed e8 ?? E8h
.text:00418eee 2b ?? 2Bh +
.text:00418eef 01 ?? 01h
.text:00418ef0 00 ?? 00h
.text:00418ef1 00 ?? 00h
.text:00418ef2 d9 ?? D9h
.text:00418ef3 e8 ?? E8h
.text:00418ef4 de ?? DEh
.text:00418ef5 c1 ?? C1h
.text:00418ef6 f6 ?? F6h
.text:00418ef7 85 ?? 85h
.text:00418ef8 61 ?? 61h a
.text:00418ef9 ff ?? FFh
.text:00418efa ff ?? FFh
.text:00418efb ff ?? FFh
.text:00418efc 01 ?? 01h
.text:00418efd 74 ?? 74h t
.text:00418efe 04 ?? 04h
.text:00418eff d9 ?? D9h
.text:00418f00 e8 ?? E8h
.text:00418f01 de ?? DEh
.text:00418f02 f1 ?? F1h
.text:00418f03 f6 ?? F6h
.text:00418f04 c2 ?? C2h
.text:00418f05 40 ?? 40h @
.text:00418f06 75 ?? 75h u
.text:00418f07 02 ?? 02h
.text:00418f08 d9 ?? D9h
.text:00418f09 fd ?? FDh
.text:00418f0a 0a ?? 0Ah
.text:00418f0b ed ?? EDh
.text:00418f0c 74 ?? 74h t
.text:00418f0d 02 ?? 02h
.text:00418f0e d9 ?? D9h
.text:00418f0f e0 ?? E0h
.text:00418f10 e9 ?? E9h
.text:00418f11 cf ?? CFh
.text:00418f12 02 ?? 02h
.text:00418f13 00 ?? 00h
.text:00418f14 00 ?? 00h
.text:00418f15 e8 ?? E8h
.text:00418f16 46 ?? 46h F
.text:00418f17 01 ?? 01h
.text:00418f18 00 ?? 00h
.text:00418f19 00 ?? 00h
.text:00418f1a 0b ?? 0Bh
.text:00418f1b c0 ?? C0h
.text:00418f1c 74 ?? 74h t
.text:00418f1d 14 ?? 14h
.text:00418f1e 32 ?? 32h 2
.text:00418f1f ed ?? EDh
.text:00418f20 83 ?? 83h
.text:00418f21 f8 ?? F8h
.text:00418f22 02 ?? 02h
.text:00418f23 74 ?? 74h t
.text:00418f24 02 ?? 02h
.text:00418f25 f6 ?? F6h
.text:00418f26 d5 ?? D5h
.text:00418f27 d9 ?? D9h
.text:00418f28 c9 ?? C9h
.text:00418f29 d9 ?? D9h
.text:00418f2a e1 ?? E1h
.text:00418f2b eb ?? EBh
.text:00418f2c a0 ?? A0h
.text:00418f2d e9 ?? E9h
.text:00418f2e eb ?? EBh
.text:00418f2f 02 ?? 02h
.text:00418f30 00 ?? 00h
.text:00418f31 00 ?? 00h
.text:00418f32 e9 ?? E9h
.text:00418f33 a9 ?? A9h
.text:00418f34 03 ?? 03h
.text:00418f35 00 ?? 00h
.text:00418f36 00 ?? 00h
.text:00418f37 dd ?? DDh
.text:00418f38 d8 ?? D8h
.text:00418f39 dd ?? DDh
.text:00418f3a d8 ?? D8h
.text:00418f3b db ?? DBh
.text:00418f3c 2d ?? 2Dh -
.text:00418f3d d0 ?? D0h ;? -> 0041ffd0
.text:00418f3e ff ?? FFh
.text:00418f3f 41 ?? 41h A
.text:00418f40 00 ?? 00h
.text:00418f41 c6 ?? C6h
.text:00418f42 85 ?? 85h
.text:00418f43 70 ?? 70h p
.text:00418f44 ff ?? FFh
.text:00418f45 ff ?? FFh
.text:00418f46 ff ?? FFh
.text:00418f47 02 ?? 02h
.text:00418f48 c3 ?? C3h
.text:00418f49 d9 ?? D9h
.text:00418f4a ed ?? EDh
.text:00418f4b d9 ?? D9h
.text:00418f4c c9 ?? C9h
.text:00418f4d d9 ?? D9h
.text:00418f4e e4 ?? E4h
.text:00418f4f 9b ?? 9Bh
.text:00418f50 dd ?? DDh
.text:00418f51 bd ?? BDh
.text:00418f52 60 ?? 60h `
.text:00418f53 ff ?? FFh
.text:00418f54 ff ?? FFh
.text:00418f55 ff ?? FFh
.text:00418f56 9b ?? 9Bh
.text:00418f57 f6 ?? F6h
.text:00418f58 85 ?? 85h
.text:00418f59 61 ?? 61h a
.text:00418f5a ff ?? FFh
.text:00418f5b ff ?? FFh
.text:00418f5c ff ?? FFh
.text:00418f5d 41 ?? 41h A
.text:00418f5e 75 ?? 75h u
.text:00418f5f d2 ?? D2h
.text:00418f60 d9 ?? D9h
.text:00418f61 f1 ?? F1h
.text:00418f62 c3 ?? C3h
.text:00418f63 c6 ?? C6h
.text:00418f64 85 ?? 85h
.text:00418f65 70 ?? 70h p
.text:00418f66 ff ?? FFh
.text:00418f67 ff ?? FFh
.text:00418f68 ff ?? FFh
.text:00418f69 02 ?? 02h
.text:00418f6a dd ?? DDh
.text:00418f6b d8 ?? D8h
.text:00418f6c db ?? DBh
.text:00418f6d 2d ?? 2Dh -
.text:00418f6e da ?? DAh ;? -> 0041ffda
.text:00418f6f ff ?? FFh
.text:00418f70 41 ?? 41h A
.text:00418f71 00 ?? 00h
.text:00418f72 c3 ?? C3h
.text:00418f73 0a ?? 0Ah
.text:00418f74 c9 ?? C9h
.text:00418f75 75 ?? 75h u
.text:00418f76 53 ?? 53h S
.text:00418f77 c3 ?? C3h
.text:00418f78 d9 ?? D9h
.text:00418f79 ec ?? ECh
.text:00418f7a eb ?? EBh
.text:00418f7b 02 ?? 02h
.text:00418f7c d9 ?? D9h
.text:00418f7d ed ?? EDh
.text:00418f7e d9 ?? D9h
.text:00418f7f c9 ?? C9h
.text:00418f80 0a ?? 0Ah
.text:00418f81 c9 ?? C9h
.text:00418f82 75 ?? 75h u
.text:00418f83 ae ?? AEh
.text:00418f84 d9 ?? D9h
.text:00418f85 f1 ?? F1h
.text:00418f86 c3 ?? C3h
.text:00418f87 e9 ?? E9h
.text:00418f88 91 ?? 91h
.text:00418f89 02 ?? 02h
.text:00418f8a 00 ?? 00h
.text:00418f8b 00 ?? 00h
.text:00418f8c e8 ?? E8h
.text:00418f8d cf ?? CFh
.text:00418f8e 00 ?? 00h
.text:00418f8f 00 ?? 00h
.text:00418f90 00 ?? 00h
.text:00418f91 dd ?? DDh
.text:00418f92 d8 ?? D8h
.text:00418f93 dd ?? DDh
.text:00418f94 d8 ?? D8h
.text:00418f95 0a ?? 0Ah
.text:00418f96 c9 ?? C9h
.text:00418f97 75 ?? 75h u
.text:00418f98 0e ?? 0Eh
.text:00418f99 d9 ?? D9h
.text:00418f9a ee ?? EEh
.text:00418f9b 83 ?? 83h
.text:00418f9c f8 ?? F8h
.text:00418f9d 01 ?? 01h
.text:00418f9e 75 ?? 75h u
.text:00418f9f 06 ?? 06h
.text:00418fa0 0a ?? 0Ah
.text:00418fa1 ed ?? EDh
.text:00418fa2 74 ?? 74h t
.text:00418fa3 02 ?? 02h
.text:00418fa4 d9 ?? D9h
.text:00418fa5 e0 ?? E0h
.text:00418fa6 c3 ?? C3h
.text:00418fa7 c6 ?? C6h
.text:00418fa8 85 ?? 85h
.text:00418fa9 70 ?? 70h p
.text:00418faa ff ?? FFh
.text:00418fab ff ?? FFh
.text:00418fac ff ?? FFh
.text:00418fad 02 ?? 02h
.text:00418fae db ?? DBh
.text:00418faf 2d ?? 2Dh -
.text:00418fb0 d0 ?? D0h ;? -> 0041ffd0
.text:00418fb1 ff ?? FFh
.text:00418fb2 41 ?? 41h A
.text:00418fb3 00 ?? 00h
.text:00418fb4 83 ?? 83h
.text:00418fb5 f8 ?? F8h
.text:00418fb6 01 ?? 01h
.text:00418fb7 75 ?? 75h u
.text:00418fb8 ed ?? EDh
.text:00418fb9 0a ?? 0Ah
.text:00418fba ed ?? EDh
.text:00418fbb 74 ?? 74h t
.text:00418fbc e9 ?? E9h
.text:00418fbd d9 ?? D9h
.text:00418fbe e0 ?? E0h
.text:00418fbf eb ?? EBh
.text:00418fc0 e5 ?? E5h
.text:00418fc1 dd ?? DDh
.text:00418fc2 d8 ?? D8h
.text:00418fc3 e9 ?? E9h
.text:00418fc4 42 ?? 42h B
.text:00418fc5 02 ?? 02h
.text:00418fc6 00 ?? 00h
.text:00418fc7 00 ?? 00h
.text:00418fc8 dd ?? DDh
.text:00418fc9 d8 ?? D8h
.text:00418fca e9 ?? E9h
.text:00418fcb 13 ?? 13h
.text:00418fcc 03 ?? 03h
.text:00418fcd 00 ?? 00h
.text:00418fce 00 ?? 00h
.text:00418fcf 58 ?? 58h X
.text:00418fd0 d9 ?? D9h
.text:00418fd1 e4 ?? E4h
.text:00418fd2 9b ?? 9Bh
.text:00418fd3 dd ?? DDh
.text:00418fd4 bd ?? BDh
.text:00418fd5 60 ?? 60h `
.text:00418fd6 ff ?? FFh
.text:00418fd7 ff ?? FFh
.text:00418fd8 ff ?? FFh
.text:00418fd9 9b ?? 9Bh
.text:00418fda f6 ?? F6h
.text:00418fdb 85 ?? 85h
.text:00418fdc 61 ?? 61h a
.text:00418fdd ff ?? FFh
.text:00418fde ff ?? FFh
.text:00418fdf ff ?? FFh
.text:00418fe0 01 ?? 01h
.text:00418fe1 75 ?? 75h u
.text:00418fe2 0f ?? 0Fh
.text:00418fe3 dd ?? DDh
.text:00418fe4 d8 ?? D8h
.text:00418fe5 db ?? DBh
.text:00418fe6 2d ?? 2Dh -
.text:00418fe7 d0 ?? D0h ;? -> 0041ffd0
.text:00418fe8 ff ?? FFh
.text:00418fe9 41 ?? 41h A
.text:00418fea 00 ?? 00h
.text:00418feb 0a ?? 0Ah
.text:00418fec ed ?? EDh
.text:00418fed 74 ?? 74h t
.text:00418fee 02 ?? 02h
.text:00418fef d9 ?? D9h
.text:00418ff0 e0 ?? E0h
.text:00418ff1 c3 ?? C3h
.text:00418ff2 c6 ?? C6h
.text:00418ff3 85 ?? 85h
.text:00418ff4 70 ?? 70h p
.text:00418ff5 ff ?? FFh
.text:00418ff6 ff ?? FFh
.text:00418ff7 ff ?? FFh
.text:00418ff8 04 ?? 04h
.text:00418ff9 e9 ?? E9h
.text:00418ffa 0c ?? 0Ch
.text:00418ffb 02 ?? 02h
.text:00418ffc 00 ?? 00h
.text:00418ffd 00 ?? 00h
.text:00418ffe dd ?? DDh
.text:00418fff d8 ?? D8h
.text:00419000 dd ?? DDh
.text:00419001 d8 ?? D8h
.text:00419002 db ?? DBh
.text:00419003 2d ?? 2Dh -
.text:00419004 d0 ?? D0h ;? -> 0041ffd0
.text:00419005 ff ?? FFh
.text:00419006 41 ?? 41h A
.text:00419007 00 ?? 00h
.text:00419008 c6 ?? C6h
.text:00419009 85 ?? 85h
.text:0041900a 70 ?? 70h p
.text:0041900b ff ?? FFh
.text:0041900c ff ?? FFh
.text:0041900d ff ?? FFh
.text:0041900e 03 ?? 03h
.text:0041900f c3 ?? C3h
.text:00419010 0a ?? 0Ah
.text:00419011 c9 ?? C9h
.text:00419012 75 ?? 75h u
.text:00419013 af ?? AFh
.text:00419014 dd ?? DDh
.text:00419015 d8 ?? D8h
.text:00419016 db ?? DBh
.text:00419017 2d ?? 2Dh -
.text:00419018 d0 ?? D0h ;? -> 0041ffd0
.text:00419019 ff ?? FFh
.text:0041901a 41 ?? 41h A
.text:0041901b 00 ?? 00h
.text:0041901c c3 ?? C3h
.text:0041901d d9 ?? D9h
.text:0041901e c0 ?? C0h
.text:0041901f d9 ?? D9h
.text:00419020 e1 ?? E1h
.text:00419021 db ?? DBh
.text:00419022 2d ?? 2Dh -
.text:00419023 ee ?? EEh ;? -> 0041ffee
.text:00419024 ff ?? FFh
.text:00419025 41 ?? 41h A
.text:00419026 00 ?? 00h
.text:00419027 de ?? DEh
.text:00419028 d9 ?? D9h
.text:00419029 9b ?? 9Bh
.text:0041902a dd ?? DDh
.text:0041902b bd ?? BDh
.text:0041902c 60 ?? 60h `
.text:0041902d ff ?? FFh
.text:0041902e ff ?? FFh
.text:0041902f ff ?? FFh
.text:00419030 9b ?? 9Bh
.text:00419031 f6 ?? F6h
.text:00419032 85 ?? 85h
.text:00419033 61 ?? 61h a
.text:00419034 ff ?? FFh
.text:00419035 ff ?? FFh
.text:00419036 ff ?? FFh
.text:00419037 41 ?? 41h A
.text:00419038 75 ?? 75h u
.text:00419039 95 ?? 95h
.text:0041903a d9 ?? D9h
.text:0041903b c0 ?? C0h
.text:0041903c d9 ?? D9h
.text:0041903d fc ?? FCh
.text:0041903e d9 ?? D9h
.text:0041903f e4 ?? E4h
.text:00419040 9b ?? 9Bh
.text:00419041 dd ?? DDh
.text:00419042 bd ?? BDh
.text:00419043 60 ?? 60h `
.text:00419044 ff ?? FFh
.text:00419045 ff ?? FFh
.text:00419046 ff ?? FFh
.text:00419047 9b ?? 9Bh
.text:00419048 8a ?? 8Ah
.text:00419049 95 ?? 95h
.text:0041904a 61 ?? 61h a
.text:0041904b ff ?? FFh
.text:0041904c ff ?? FFh
.text:0041904d ff ?? FFh
.text:0041904e d9 ?? D9h
.text:0041904f c9 ?? C9h
.text:00419050 d8 ?? D8h
.text:00419051 e1 ?? E1h
.text:00419052 d9 ?? D9h
.text:00419053 e4 ?? E4h
.text:00419054 9b ?? 9Bh
.text:00419055 dd ?? DDh
.text:00419056 bd ?? BDh
.text:00419057 60 ?? 60h `
.text:00419058 ff ?? FFh
.text:00419059 ff ?? FFh
.text:0041905a ff ?? FFh
.text:0041905b d9 ?? D9h
.text:0041905c e1 ?? E1h
.text:0041905d d9 ?? D9h
.text:0041905e f0 ?? F0h
.text:0041905f c3 ?? C3h
.text:00419060 d9 ?? D9h
.text:00419061 c0 ?? C0h
.text:00419062 d9 ?? D9h
.text:00419063 fc ?? FCh
.text:00419064 d8 ?? D8h
.text:00419065 d9 ?? D9h
.text:00419066 9b ?? 9Bh
.text:00419067 df ?? DFh
.text:00419068 e0 ?? E0h
.text:00419069 9e ?? 9Eh
.text:0041906a 75 ?? 75h u
.text:0041906b 1a ?? 1Ah
.text:0041906c d9 ?? D9h
.text:0041906d c0 ?? C0h
.text:0041906e dc ?? DCh
.text:0041906f 0d ?? 0Dh
.text:00419070 02 ?? 02h ;? -> 00420002
.text:00419071 00 ?? 00h
.text:00419072 42 ?? 42h B
.text:00419073 00 ?? 00h
.text:00419074 d9 ?? D9h
.text:00419075 c0 ?? C0h
.text:00419076 d9 ?? D9h
.text:00419077 fc ?? FCh
.text:00419078 de ?? DEh
.text:00419079 d9 ?? D9h
.text:0041907a 9b ?? 9Bh
.text:0041907b df ?? DFh
.text:0041907c e0 ?? E0h
.text:0041907d 9e ?? 9Eh
.text:0041907e 74 ?? 74h t
.text:0041907f 0d ?? 0Dh
.text:00419080 b8 ?? B8h
.text:00419081 01 ?? 01h
.text:00419082 00 ?? 00h
.text:00419083 00 ?? 00h
.text:00419084 00 ?? 00h
.text:00419085 c3 ?? C3h
.text:00419086 b8 ?? B8h
.text:00419087 00 ?? 00h
.text:00419088 00 ?? 00h
.text:00419089 00 ?? 00h
.text:0041908a 00 ?? 00h
.text:0041908b eb ?? EBh
.text:0041908c f8 ?? F8h
.text:0041908d b8 ?? B8h
.text:0041908e 02 ?? 02h
.text:0041908f 00 ?? 00h
.text:00419090 00 ?? 00h
.text:00419091 00 ?? 00h
.text:00419092 eb ?? EBh
.text:00419093 f1 ?? F1h
.text:00419094 56 ?? 56h V
.text:00419095 83 ?? 83h
.text:00419096 ec ?? ECh
.text:00419097 74 ?? 74h t
.text:00419098 8bf4 MOV ESI,ESP
.text:0041909a 56 PUSH ESI
.text:0041909b 83ec08 SUB ESP,0x8
.text:0041909e dd1c24 FSTP qword ptr [ESP]
.text:004190a1 83ec08 SUB ESP,0x8
.text:004190a4 dd1c24 FSTP qword ptr [ESP]
.text:004190a7 9bdd7608 FSAVE [ESI + 0x8]
.text:004190ab e8e9070000 CALL FUN_00419899 ;undefined4 FUN_00419899(int param_1,...
.text:004190b0 83c414 ADD ESP,0x14
.text:004190b3 dd6608 FRSTOR [ESI + 0x8]
.text:004190b6 dd06 FLD qword ptr [ESI]
.text:004190b8 83c474 ADD ESP,0x74
.text:004190bb 5e POP ESI
.text:004190bc 85c0 TEST EAX,EAX
.text:004190be 7405 JZ LAB_004190c5
.text:004190c0 e92e020000 JMP LAB_004192f3
LAB_004190c5: ;XREF[1,0]: 004190be
.text:004190c5 c3 RET
.text:004190c6 cc ?? CCh
.text:004190c7 cc ?? CCh
.text:004190c8 cc ?? CCh
.text:004190c9 cc ?? CCh
.text:004190ca cc ?? CCh
.text:004190cb cc ?? CCh
.text:004190cc cc ?? CCh
.text:004190cd cc ?? CCh
.text:004190ce cc ?? CCh
.text:004190cf cc ?? CCh
.text:004190d0 80 ?? 80h
.text:004190d1 7a ?? 7Ah z
.text:004190d2 0e ?? 0Eh
.text:004190d3 05 ?? 05h
.text:004190d4 75 ?? 75h u
.text:004190d5 11 ?? 11h
.text:004190d6 66 ?? 66h f
.text:004190d7 8b ?? 8Bh
.text:004190d8 9d ?? 9Dh
.text:004190d9 5c ?? 5Ch \
.text:004190da ff ?? FFh
.text:004190db ff ?? FFh
.text:004190dc ff ?? FFh
.text:004190dd 80 ?? 80h
.text:004190de cf ?? CFh
.text:004190df 02 ?? 02h
.text:004190e0 80 ?? 80h
.text:004190e1 e7 ?? E7h
.text:004190e2 fe ?? FEh
.text:004190e3 b3 ?? B3h
.text:004190e4 3f ?? 3Fh ?
.text:004190e5 eb ?? EBh
.text:004190e6 04 ?? 04h
.text:004190e7 66 ?? 66h f
.text:004190e8 bb ?? BBh
.text:004190e9 3f ?? 3Fh ?
.text:004190ea 13 ?? 13h
.text:004190eb 66 ?? 66h f
.text:004190ec 89 ?? 89h
.text:004190ed 9d ?? 9Dh
.text:004190ee 5e ?? 5Eh ^
.text:004190ef ff ?? FFh
.text:004190f0 ff ?? FFh
.text:004190f1 ff ?? FFh
.text:004190f2 d9 ?? D9h
.text:004190f3 ad ?? ADh
.text:004190f4 5e ?? 5Eh ^
.text:004190f5 ff ?? FFh
.text:004190f6 ff ?? FFh
.text:004190f7 ff ?? FFh
.text:004190f8 bb ?? BBh
.text:004190f9 5e ?? 5Eh ^ ;? -> 0042005e
.text:004190fa 00 ?? 00h
.text:004190fb 42 ?? 42h B
.text:004190fc 00 ?? 00h
.text:004190fd d9 ?? D9h
.text:004190fe e5 ?? E5h
.text:004190ff 89 ?? 89h
.text:00419100 95 ?? 95h
.text:00419101 6c ?? 6Ch l
.text:00419102 ff ?? FFh
.text:00419103 ff ?? FFh
.text:00419104 ff ?? FFh
.text:00419105 9b ?? 9Bh
.text:00419106 dd ?? DDh
.text:00419107 bd ?? BDh
.text:00419108 60 ?? 60h `
.text:00419109 ff ?? FFh
.text:0041910a ff ?? FFh
.text:0041910b ff ?? FFh
.text:0041910c c6 ?? C6h
.text:0041910d 85 ?? 85h
.text:0041910e 70 ?? 70h p
.text:0041910f ff ?? FFh
.text:00419110 ff ?? FFh
.text:00419111 ff ?? FFh
.text:00419112 00 ?? 00h
.text:00419113 9b ?? 9Bh
.text:00419114 8a ?? 8Ah
.text:00419115 8d ?? 8Dh
.text:00419116 61 ?? 61h a
.text:00419117 ff ?? FFh
.text:00419118 ff ?? FFh
.text:00419119 ff ?? FFh
.text:0041911a d0 ?? D0h
.text:0041911b e1 ?? E1h
.text:0041911c d0 ?? D0h
.text:0041911d f9 ?? F9h
.text:0041911e d0 ?? D0h
.text:0041911f c1 ?? C1h
.text:00419120 8a ?? 8Ah
.text:00419121 c1 ?? C1h
.text:00419122 24 ?? 24h $
.text:00419123 0f ?? 0Fh
.text:00419124 d7 ?? D7h
.text:00419125 0f ?? 0Fh
.text:00419126 be ?? BEh
.text:00419127 c0 ?? C0h
.text:00419128 81 ?? 81h
.text:00419129 e1 ?? E1h
.text:0041912a 04 ?? 04h
.text:0041912b 04 ?? 04h
.text:0041912c 00 ?? 00h
.text:0041912d 00 ?? 00h
.text:0041912e 8b ?? 8Bh
.text:0041912f da ?? DAh
.text:00419130 03 ?? 03h
.text:00419131 d8 ?? D8h
.text:00419132 83 ?? 83h
.text:00419133 c3 ?? C3h
.text:00419134 10 ?? 10h
.text:00419135 50 ?? 50h P
.text:00419136 52 ?? 52h R
.text:00419137 51 ?? 51h Q
.text:00419138 8b ?? 8Bh
.text:00419139 0b ?? 0Bh
.text:0041913a ff ?? FFh
.text:0041913b 15 ?? 15h
.text:0041913c 18 ?? 18h ;? -> 0041b118
.text:0041913d b1 ?? B1h
.text:0041913e 41 ?? 41h A
.text:0041913f 00 ?? 00h
.text:00419140 59 ?? 59h Y
.text:00419141 5a ?? 5Ah Z
.text:00419142 58 ?? 58h X
.text:00419143 ff ?? FFh
.text:00419144 23 ?? 23h #
.text:00419145 80 ?? 80h
.text:00419146 7a ?? 7Ah z
.text:00419147 0e ?? 0Eh
.text:00419148 05 ?? 05h
.text:00419149 75 ?? 75h u
.text:0041914a 11 ?? 11h
.text:0041914b 66 ?? 66h f
.text:0041914c 8b ?? 8Bh
.text:0041914d 9d ?? 9Dh
.text:0041914e 5c ?? 5Ch \
.text:0041914f ff ?? FFh
.text:00419150 ff ?? FFh
.text:00419151 ff ?? FFh
.text:00419152 80 ?? 80h
.text:00419153 cf ?? CFh
.text:00419154 02 ?? 02h
.text:00419155 80 ?? 80h
.text:00419156 e7 ?? E7h
.text:00419157 fe ?? FEh
.text:00419158 b3 ?? B3h
.text:00419159 3f ?? 3Fh ?
.text:0041915a eb ?? EBh
.text:0041915b 04 ?? 04h
.text:0041915c 66 ?? 66h f
.text:0041915d bb ?? BBh
.text:0041915e 3f ?? 3Fh ?
.text:0041915f 13 ?? 13h
.text:00419160 66 ?? 66h f
.text:00419161 89 ?? 89h
.text:00419162 9d ?? 9Dh
.text:00419163 5e ?? 5Eh ^
.text:00419164 ff ?? FFh
.text:00419165 ff ?? FFh
.text:00419166 ff ?? FFh
.text:00419167 d9 ?? D9h
.text:00419168 ad ?? ADh
.text:00419169 5e ?? 5Eh ^
.text:0041916a ff ?? FFh
.text:0041916b ff ?? FFh
.text:0041916c ff ?? FFh
.text:0041916d bb ?? BBh
.text:0041916e 5e ?? 5Eh ^ ;? -> 0042005e
.text:0041916f 00 ?? 00h
.text:00419170 42 ?? 42h B
.text:00419171 00 ?? 00h
.text:00419172 d9 ?? D9h
.text:00419173 e5 ?? E5h
.text:00419174 89 ?? 89h
.text:00419175 95 ?? 95h
.text:00419176 6c ?? 6Ch l
.text:00419177 ff ?? FFh
.text:00419178 ff ?? FFh
.text:00419179 ff ?? FFh
.text:0041917a 9b ?? 9Bh
.text:0041917b dd ?? DDh
.text:0041917c bd ?? BDh
.text:0041917d 60 ?? 60h `
.text:0041917e ff ?? FFh
.text:0041917f ff ?? FFh
.text:00419180 ff ?? FFh
.text:00419181 c6 ?? C6h
.text:00419182 85 ?? 85h
.text:00419183 70 ?? 70h p
.text:00419184 ff ?? FFh
.text:00419185 ff ?? FFh
.text:00419186 ff ?? FFh
.text:00419187 00 ?? 00h
.text:00419188 d9 ?? D9h
.text:00419189 c9 ?? C9h
.text:0041918a 8a ?? 8Ah
.text:0041918b 8d ?? 8Dh
.text:0041918c 61 ?? 61h a
.text:0041918d ff ?? FFh
.text:0041918e ff ?? FFh
.text:0041918f ff ?? FFh
.text:00419190 d9 ?? D9h
.text:00419191 e5 ?? E5h
.text:00419192 9b ?? 9Bh
.text:00419193 dd ?? DDh
.text:00419194 bd ?? BDh
.text:00419195 60 ?? 60h `
.text:00419196 ff ?? FFh
.text:00419197 ff ?? FFh
.text:00419198 ff ?? FFh
.text:00419199 d9 ?? D9h
.text:0041919a c9 ?? C9h
.text:0041919b 8a ?? 8Ah
.text:0041919c ad ?? ADh
.text:0041919d 61 ?? 61h a
.text:0041919e ff ?? FFh
.text:0041919f ff ?? FFh
.text:004191a0 ff ?? FFh
.text:004191a1 d0 ?? D0h
.text:004191a2 e5 ?? E5h
.text:004191a3 d0 ?? D0h
.text:004191a4 fd ?? FDh
.text:004191a5 d0 ?? D0h
.text:004191a6 c5 ?? C5h
.text:004191a7 8a ?? 8Ah
.text:004191a8 c5 ?? C5h
.text:004191a9 24 ?? 24h $
.text:004191aa 0f ?? 0Fh
.text:004191ab d7 ?? D7h
.text:004191ac 8a ?? 8Ah
.text:004191ad e0 ?? E0h
.text:004191ae d0 ?? D0h
.text:004191af e1 ?? E1h
.text:004191b0 d0 ?? D0h
.text:004191b1 f9 ?? F9h
.text:004191b2 d0 ?? D0h
.text:004191b3 c1 ?? C1h
.text:004191b4 8a ?? 8Ah
.text:004191b5 c1 ?? C1h
.text:004191b6 24 ?? 24h $
.text:004191b7 0f ?? 0Fh
.text:004191b8 d7 ?? D7h
.text:004191b9 d0 ?? D0h
.text:004191ba e4 ?? E4h
.text:004191bb d0 ?? D0h
.text:004191bc e4 ?? E4h
.text:004191bd 0a ?? 0Ah
.text:004191be c4 ?? C4h
.text:004191bf 0f ?? 0Fh
.text:004191c0 be ?? BEh
.text:004191c1 c0 ?? C0h
.text:004191c2 81 ?? 81h
.text:004191c3 e1 ?? E1h
.text:004191c4 04 ?? 04h
.text:004191c5 04 ?? 04h
.text:004191c6 00 ?? 00h
.text:004191c7 00 ?? 00h
.text:004191c8 8b ?? 8Bh
.text:004191c9 da ?? DAh
.text:004191ca 03 ?? 03h
.text:004191cb d8 ?? D8h
.text:004191cc 83 ?? 83h
.text:004191cd c3 ?? C3h
.text:004191ce 10 ?? 10h
.text:004191cf 50 ?? 50h P
.text:004191d0 52 ?? 52h R
.text:004191d1 51 ?? 51h Q
.text:004191d2 8b ?? 8Bh
.text:004191d3 0b ?? 0Bh
.text:004191d4 ff ?? FFh
.text:004191d5 15 ?? 15h
.text:004191d6 18 ?? 18h ;? -> 0041b118
.text:004191d7 b1 ?? B1h
.text:004191d8 41 ?? 41h A
.text:004191d9 00 ?? 00h
.text:004191da 59 ?? 59h Y
.text:004191db 5a ?? 5Ah Z
.text:004191dc 58 ?? 58h X
.text:004191dd ff ?? FFh
.text:004191de 23 ?? 23h #
.text:004191df e8 ?? E8h
.text:004191e0 0f ?? 0Fh
.text:004191e1 01 ?? 01h
.text:004191e2 00 ?? 00h
.text:004191e3 00 ?? 00h
.text:004191e4 d9 ?? D9h
.text:004191e5 c9 ?? C9h
.text:004191e6 8d ?? 8Dh
.text:004191e7 a4 ?? A4h
.text:004191e8 24 ?? 24h $
.text:004191e9 00 ?? 00h
.text:004191ea 00 ?? 00h
.text:004191eb 00 ?? 00h
.text:004191ec 00 ?? 00h
.text:004191ed 8d ?? 8Dh
.text:004191ee 49 ?? 49h I
.text:004191ef 00 ?? 00h
.text:004191f0 dd ?? DDh
.text:004191f1 d8 ?? D8h
.text:004191f2 8d ?? 8Dh
.text:004191f3 a4 ?? A4h
.text:004191f4 24 ?? 24h $
.text:004191f5 00 ?? 00h
.text:004191f6 00 ?? 00h
.text:004191f7 00 ?? 00h
.text:004191f8 00 ?? 00h
.text:004191f9 8d ?? 8Dh
.text:004191fa a4 ?? A4h
.text:004191fb 24 ?? 24h $
.text:004191fc 00 ?? 00h
.text:004191fd 00 ?? 00h
.text:004191fe 00 ?? 00h
.text:004191ff 00 ?? 00h
.text:00419200 c3 ?? C3h
.text:00419201 e8 ?? E8h
.text:00419202 ed ?? EDh
.text:00419203 00 ?? 00h
.text:00419204 00 ?? 00h
.text:00419205 00 ?? 00h
.text:00419206 eb ?? EBh
.text:00419207 e8 ?? E8h
.text:00419208 dd ?? DDh
.text:00419209 d8 ?? D8h
.text:0041920a dd ?? DDh
.text:0041920b d8 ?? D8h
.text:0041920c d9 ?? D9h
.text:0041920d ee ?? EEh
.text:0041920e c3 ?? C3h
.text:0041920f 90 ?? 90h
.text:00419210 dd ?? DDh
.text:00419211 d8 ?? D8h
.text:00419212 dd ?? DDh
.text:00419213 d8 ?? D8h
.text:00419214 d9 ?? D9h
.text:00419215 ee ?? EEh
.text:00419216 84 ?? 84h
.text:00419217 ed ?? EDh
.text:00419218 74 ?? 74h t
.text:00419219 02 ?? 02h
.text:0041921a d9 ?? D9h
.text:0041921b e0 ?? E0h
.text:0041921c c3 ?? C3h
.text:0041921d dd ?? DDh
.text:0041921e d8 ?? D8h
.text:0041921f 90 ?? 90h
.text:00419220 dd ?? DDh
.text:00419221 d8 ?? D8h
.text:00419222 d9 ?? D9h
.text:00419223 e8 ?? E8h
.text:00419224 c3 ?? C3h
.text:00419225 8d ?? 8Dh
.text:00419226 a4 ?? A4h
.text:00419227 24 ?? 24h $
.text:00419228 00 ?? 00h
.text:00419229 00 ?? 00h
.text:0041922a 00 ?? 00h
.text:0041922b 00 ?? 00h
.text:0041922c 8d ?? 8Dh
.text:0041922d 64 ?? 64h d
.text:0041922e 24 ?? 24h $
.text:0041922f 00 ?? 00h
.text:00419230 db ?? DBh
.text:00419231 bd ?? BDh
.text:00419232 62 ?? 62h b
.text:00419233 ff ?? FFh
.text:00419234 ff ?? FFh
.text:00419235 ff ?? FFh
.text:00419236 db ?? DBh
.text:00419237 ad ?? ADh
.text:00419238 62 ?? 62h b
.text:00419239 ff ?? FFh
.text:0041923a ff ?? FFh
.text:0041923b ff ?? FFh
.text:0041923c f6 ?? F6h
.text:0041923d 85 ?? 85h
.text:0041923e 69 ?? 69h i
.text:0041923f ff ?? FFh
.text:00419240 ff ?? FFh
.text:00419241 ff ?? FFh
.text:00419242 40 ?? 40h @
.text:00419243 74 ?? 74h t
.text:00419244 08 ?? 08h
.text:00419245 c6 ?? C6h
.text:00419246 85 ?? 85h
.text:00419247 70 ?? 70h p
.text:00419248 ff ?? FFh
.text:00419249 ff ?? FFh
.text:0041924a ff ?? FFh
.text:0041924b 00 ?? 00h
.text:0041924c c3 ?? C3h
.text:0041924d c6 ?? C6h
.text:0041924e 85 ?? 85h
.text:0041924f 70 ?? 70h p
.text:00419250 ff ?? FFh
.text:00419251 ff ?? FFh
.text:00419252 ff ?? FFh
.text:00419253 00 ?? 00h
.text:00419254 dc ?? DCh
.text:00419255 05 ?? 05h
.text:00419256 4e ?? 4Eh N ;? -> 0042004e
.text:00419257 00 ?? 00h
.text:00419258 42 ?? 42h B
.text:00419259 00 ?? 00h
.text:0041925a c3 ?? C3h
.text:0041925b eb ?? EBh
.text:0041925c 03 ?? 03h
.text:0041925d cc ?? CCh
.text:0041925e cc ?? CCh
.text:0041925f cc ?? CCh
.text:00419260 d9 ?? D9h
.text:00419261 c9 ?? C9h
.text:00419262 8d ?? 8Dh
.text:00419263 a4 ?? A4h
.text:00419264 24 ?? 24h $
.text:00419265 00 ?? 00h
.text:00419266 00 ?? 00h
.text:00419267 00 ?? 00h
.text:00419268 00 ?? 00h
.text:00419269 8d ?? 8Dh
.text:0041926a a4 ?? A4h
.text:0041926b 24 ?? 24h $
.text:0041926c 00 ?? 00h
.text:0041926d 00 ?? 00h
.text:0041926e 00 ?? 00h
.text:0041926f 00 ?? 00h
.text:00419270 db ?? DBh
.text:00419271 bd ?? BDh
.text:00419272 62 ?? 62h b
.text:00419273 ff ?? FFh
.text:00419274 ff ?? FFh
.text:00419275 ff ?? FFh
.text:00419276 db ?? DBh
.text:00419277 ad ?? ADh
.text:00419278 62 ?? 62h b
.text:00419279 ff ?? FFh
.text:0041927a ff ?? FFh
.text:0041927b ff ?? FFh
.text:0041927c f6 ?? F6h
.text:0041927d 85 ?? 85h
.text:0041927e 69 ?? 69h i
.text:0041927f ff ?? FFh
.text:00419280 ff ?? FFh
.text:00419281 ff ?? FFh
.text:00419282 40 ?? 40h @
.text:00419283 74 ?? 74h t
.text:00419284 09 ?? 09h
.text:00419285 c6 ?? C6h
.text:00419286 85 ?? 85h
.text:00419287 70 ?? 70h p
.text:00419288 ff ?? FFh
.text:00419289 ff ?? FFh
.text:0041928a ff ?? FFh
.text:0041928b 00 ?? 00h
.text:0041928c eb ?? EBh
.text:0041928d 07 ?? 07h
.text:0041928e c6 ?? C6h
.text:0041928f 85 ?? 85h
.text:00419290 70 ?? 70h p
.text:00419291 ff ?? FFh
.text:00419292 ff ?? FFh
.text:00419293 ff ?? FFh
.text:00419294 00 ?? 00h
.text:00419295 de ?? DEh
.text:00419296 c1 ?? C1h
.text:00419297 c3 ?? C3h
.text:00419298 8d ?? 8Dh
.text:00419299 a4 ?? A4h
.text:0041929a 24 ?? 24h $
.text:0041929b 00 ?? 00h
.text:0041929c 00 ?? 00h
.text:0041929d 00 ?? 00h
.text:0041929e 00 ?? 00h
.text:0041929f 90 ?? 90h
.text:004192a0 db ?? DBh
.text:004192a1 bd ?? BDh
.text:004192a2 62 ?? 62h b
.text:004192a3 ff ?? FFh
.text:004192a4 ff ?? FFh
.text:004192a5 ff ?? FFh
.text:004192a6 db ?? DBh
.text:004192a7 ad ?? ADh
.text:004192a8 62 ?? 62h b
.text:004192a9 ff ?? FFh
.text:004192aa ff ?? FFh
.text:004192ab ff ?? FFh
.text:004192ac f6 ?? F6h
.text:004192ad 85 ?? 85h
.text:004192ae 69 ?? 69h i
.text:004192af ff ?? FFh
.text:004192b0 ff ?? FFh
.text:004192b1 ff ?? FFh
.text:004192b2 40 ?? 40h @
.text:004192b3 74 ?? 74h t
.text:004192b4 20 ?? 20h
.text:004192b5 d9 ?? D9h
.text:004192b6 c9 ?? C9h
.text:004192b7 db ?? DBh
.text:004192b8 bd ?? BDh
.text:004192b9 62 ?? 62h b
.text:004192ba ff ?? FFh
.text:004192bb ff ?? FFh
.text:004192bc ff ?? FFh
.text:004192bd db ?? DBh
.text:004192be ad ?? ADh
.text:004192bf 62 ?? 62h b
.text:004192c0 ff ?? FFh
.text:004192c1 ff ?? FFh
.text:004192c2 ff ?? FFh
.text:004192c3 f6 ?? F6h
.text:004192c4 85 ?? 85h
.text:004192c5 69 ?? 69h i
.text:004192c6 ff ?? FFh
.text:004192c7 ff ?? FFh
.text:004192c8 ff ?? FFh
.text:004192c9 40 ?? 40h @
.text:004192ca 74 ?? 74h t
.text:004192cb 09 ?? 09h
.text:004192cc c6 ?? C6h
.text:004192cd 85 ?? 85h
.text:004192ce 70 ?? 70h p
.text:004192cf ff ?? FFh
.text:004192d0 ff ?? FFh
.text:004192d1 ff ?? FFh
.text:004192d2 00 ?? 00h
.text:004192d3 eb ?? EBh
.text:004192d4 07 ?? 07h
.text:004192d5 c6 ?? C6h
.text:004192d6 85 ?? 85h
.text:004192d7 70 ?? 70h p
.text:004192d8 ff ?? FFh
.text:004192d9 ff ?? FFh
.text:004192da ff ?? FFh
.text:004192db 01 ?? 01h
.text:004192dc de ?? DEh
.text:004192dd c1 ?? C1h
.text:004192de c3 ?? C3h
.text:004192df 90 ?? 90h
.text:004192e0 dd ?? DDh
.text:004192e1 d8 ?? D8h
.text:004192e2 dd ?? DDh
.text:004192e3 d8 ?? D8h
.text:004192e4 db ?? DBh
.text:004192e5 2d ?? 2Dh -
.text:004192e6 30 ?? 30h 0 ;? -> 00420030
.text:004192e7 00 ?? 00h
.text:004192e8 42 ?? 42h B
.text:004192e9 00 ?? 00h
.text:004192ea 80 ?? 80h
.text:004192eb bd ?? BDh
.text:004192ec 70 ?? 70h p
.text:004192ed ff ?? FFh
.text:004192ee ff ?? FFh
.text:004192ef ff ?? FFh
.text:004192f0 00 ?? 00h
.text:004192f1 7f ?? 7Fh
.text:004192f2 07 ?? 07h
LAB_004192f3: ;XREF[1,0]: 004190c0
.text:004192f3 c68570fff... MOV byte ptr [EBP + 0xffffff70],0x1
.text:004192fa 0ac9 OR CL,CL
.text:004192fc c3 RET
.text:004192fd 8d ?? 8Dh
.text:004192fe 49 ?? 49h I
.text:004192ff 00 ?? 00h
.text:00419300 dd ?? DDh
.text:00419301 d8 ?? D8h
.text:00419302 dd ?? DDh
.text:00419303 d8 ?? D8h
.text:00419304 db ?? DBh
.text:00419305 2d ?? 2Dh -
.text:00419306 44 ?? 44h D ;? -> 00420044
.text:00419307 00 ?? 00h
.text:00419308 42 ?? 42h B
.text:00419309 00 ?? 00h
.text:0041930a 0a ?? 0Ah
.text:0041930b ed ?? EDh
.text:0041930c 74 ?? 74h t
.text:0041930d 02 ?? 02h
.text:0041930e d9 ?? D9h
.text:0041930f e0 ?? E0h
.text:00419310 0a ?? 0Ah
.text:00419311 c9 ?? C9h
.text:00419312 74 ?? 74h t
.text:00419313 08 ?? 08h
.text:00419314 dd ?? DDh
.text:00419315 05 ?? 05h
.text:00419316 56 ?? 56h V ;? -> 00420056
.text:00419317 00 ?? 00h
.text:00419318 42 ?? 42h B
.text:00419319 00 ?? 00h
.text:0041931a de ?? DEh
.text:0041931b c9 ?? C9h
.text:0041931c c3 ?? C3h
.text:0041931d 0a ?? 0Ah
.text:0041931e c9 ?? C9h
.text:0041931f 74 ?? 74h t
.text:00419320 02 ?? 02h
.text:00419321 d9 ?? D9h
.text:00419322 e0 ?? E0h
.text:00419323 c3 ?? C3h
.text:00419324 cc ?? CCh
.text:00419325 cc ?? CCh
.text:00419326 cc ?? CCh
.text:00419327 cc ?? CCh
.text:00419328 cc ?? CCh
.text:00419329 cc ?? CCh
.text:0041932a cc ?? CCh
.text:0041932b cc ?? CCh
.text:0041932c cc ?? CCh
.text:0041932d cc ?? CCh
.text:0041932e cc ?? CCh
.text:0041932f cc ?? CCh
.text:00419330 d9 ?? D9h
.text:00419331 c0 ?? C0h
.text:00419332 d9 ?? D9h
.text:00419333 fc ?? FCh
.text:00419334 dc ?? DCh
.text:00419335 e1 ?? E1h
.text:00419336 d9 ?? D9h
.text:00419337 c9 ?? C9h
.text:00419338 d9 ?? D9h
.text:00419339 e0 ?? E0h
.text:0041933a d9 ?? D9h
.text:0041933b f0 ?? F0h
.text:0041933c d9 ?? D9h
.text:0041933d e8 ?? E8h
.text:0041933e de ?? DEh
.text:0041933f c1 ?? C1h
.text:00419340 d9 ?? D9h
.text:00419341 fd ?? FDh
.text:00419342 dd ?? DDh
.text:00419343 d9 ?? D9h
.text:00419344 c3 ?? C3h
.text:00419345 8b ?? 8Bh
.text:00419346 54 ?? 54h T
.text:00419347 24 ?? 24h $
.text:00419348 04 ?? 04h
.text:00419349 81 ?? 81h
.text:0041934a e2 ?? E2h
.text:0041934b 00 ?? 00h
.text:0041934c 03 ?? 03h
.text:0041934d 00 ?? 00h
.text:0041934e 00 ?? 00h
.text:0041934f 83 ?? 83h
.text:00419350 ca ?? CAh
.text:00419351 7f ?? 7Fh
.text:00419352 66 ?? 66h f
.text:00419353 89 ?? 89h
.text:00419354 54 ?? 54h T
.text:00419355 24 ?? 24h $
.text:00419356 06 ?? 06h
.text:00419357 d9 ?? D9h
.text:00419358 6c ?? 6Ch l
.text:00419359 24 ?? 24h $
.text:0041935a 06 ?? 06h
.text:0041935b c3 ?? C3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_0041935c(void)
;XREF[1,0]: 004183ef
.text:0041935c a900000800 TEST EAX,0x80000
.text:00419361 7406 JZ LAB_00419369
.text:00419363 b800000000 MOV EAX,0x0
.text:00419368 c3 RET
LAB_00419369: ;XREF[1,0]: 00419361
.text:00419369 dc0570004200 FADD qword ptr [.rdata:DAT_00420070]
.text:0041936f b800000000 MOV EAX,0x0
.text:00419374 c3 RET
.text:00419375 8b align align(1)
.text:00419376 42 ?? 42h B
.text:00419377 04 ?? 04h
.text:00419378 25 ?? 25h %
.text:00419379 00 ?? 00h
.text:0041937a 00 ?? 00h
.text:0041937b f0 ?? F0h
.text:0041937c 7f ?? 7Fh
.text:0041937d 3d ?? 3Dh =
.text:0041937e 00 ?? 00h
.text:0041937f 00 ?? 00h
.text:00419380 f0 ?? F0h
.text:00419381 7f ?? 7Fh
.text:00419382 74 ?? 74h t
.text:00419383 03 ?? 03h
.text:00419384 dd ?? DDh
.text:00419385 02 ?? 02h
.text:00419386 c3 ?? C3h
.text:00419387 8b ?? 8Bh
.text:00419388 42 ?? 42h B
.text:00419389 04 ?? 04h
.text:0041938a 83 ?? 83h
.text:0041938b ec ?? ECh
.text:0041938c 0a ?? 0Ah
.text:0041938d 0d ?? 0Dh
.text:0041938e 00 ?? 00h
.text:0041938f 00 ?? 00h
.text:00419390 ff ?? FFh
.text:00419391 7f ?? 7Fh
.text:00419392 89 ?? 89h
.text:00419393 44 ?? 44h D
.text:00419394 24 ?? 24h $
.text:00419395 06 ?? 06h
.text:00419396 8b ?? 8Bh
.text:00419397 42 ?? 42h B
.text:00419398 04 ?? 04h
.text:00419399 8b ?? 8Bh
.text:0041939a 0a ?? 0Ah
.text:0041939b 0f ?? 0Fh
.text:0041939c a4 ?? A4h
.text:0041939d c8 ?? C8h
.text:0041939e 0b ?? 0Bh
.text:0041939f c1 ?? C1h
.text:004193a0 e1 ?? E1h
.text:004193a1 0b ?? 0Bh
.text:004193a2 89 ?? 89h
.text:004193a3 44 ?? 44h D
.text:004193a4 24 ?? 24h $
.text:004193a5 04 ?? 04h
.text:004193a6 89 ?? 89h
.text:004193a7 0c ?? 0Ch
.text:004193a8 24 ?? 24h $
.text:004193a9 db ?? DBh
.text:004193aa 2c ?? 2Ch ,
.text:004193ab 24 ?? 24h $
.text:004193ac 83 ?? 83h
.text:004193ad c4 ?? C4h
.text:004193ae 0a ?? 0Ah
.text:004193af a9 ?? A9h
.text:004193b0 00 ?? 00h
.text:004193b1 00 ?? 00h
.text:004193b2 00 ?? 00h
.text:004193b3 00 ?? 00h
.text:004193b4 8b ?? 8Bh
.text:004193b5 42 ?? 42h B
.text:004193b6 04 ?? 04h
.text:004193b7 c3 ?? C3h
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_004193b8(undefined4 param_1, uint param_2)
;param_1 undefined4 4
;param_2 uint 8 ;XREF[2,0]: 004193b8,004193c9
;XREF[1,0]: 00418361
.text:004193b8 8b442408 MOV EAX,dword ptr [ESP + param_2]
.text:004193bc 250000f07f AND EAX,0x7ff00000
.text:004193c1 3d0000f07f CMP EAX,0x7ff00000
.text:004193c6 7401 JZ LAB_004193c9
.text:004193c8 c3 RET
LAB_004193c9: ;XREF[1,0]: 004193c6
.text:004193c9 8b442408 MOV EAX,dword ptr [ESP + param_2]
.text:004193cd c3 RET
LAB_004193ce: ;XREF[2,0]: 004183ac,00418418
.text:004193ce 66813c247f02 CMP word ptr [ESP]=>local_4,0x27f
.text:004193d4 7403 JZ LAB_004193d9
.text:004193d6 d92c24 FLDCW word ptr [ESP]=>local_4
LAB_004193d9: ;XREF[1,0]: 004193d4
.text:004193d9 5a POP param_2
.text:004193da c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __math_exit *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;undefined __math_exit(float10 * param_1, undefined4 param_2, ushort param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6)
;param_1 float10 * ECX
;param_2 undefined4 EDX
;param_3 ushort 4
;param_4 undefined4 8
;param_5 undefined4 c
;param_6 undefined4 10
;local_res0 undefined2 0 ;XREF[2,0]: 004193db,00419400
;XREF[1,0]: 004183bd
.text:004193db 668b0424 MOV AX,word ptr [ESP]=>local_res0
.text:004193df 663d7f02 CMP AX,0x27f
.text:004193e3 741e JZ LAB_00419403
.text:004193e5 6683e020 AND AX,0x20
.text:004193e9 7415 JZ LAB_00419400
.text:004193eb 9bdfe0 FSTSW AX
.text:004193ee 6683e020 AND AX,0x20
.text:004193f2 740c JZ LAB_00419400
.text:004193f4 b808000000 MOV EAX,0x8
.text:004193f9 e8d9000000 CALL __startOneArgErrorHandling ;float10 * __startOneArgErrorHandling...
.text:004193fe 5a POP param_2
.text:004193ff c3 RET
LAB_00419400: ;XREF[2,0]: 004193e9,004193f2
.text:00419400 d92c24 FLDCW word ptr [ESP]=>local_res0
LAB_00419403: ;XREF[1,0]: 004193e3
.text:00419403 5a POP param_2
.text:00419404 c3 RET
.text:00419405 83 ?? 83h
.text:00419406 ec ?? ECh
.text:00419407 08 ?? 08h
.text:00419408 dd ?? DDh
.text:00419409 14 ?? 14h
.text:0041940a 24 ?? 24h $
.text:0041940b 8b ?? 8Bh
.text:0041940c 44 ?? 44h D
.text:0041940d 24 ?? 24h $
.text:0041940e 04 ?? 04h
.text:0041940f 83 ?? 83h
.text:00419410 c4 ?? C4h
.text:00419411 08 ?? 08h
.text:00419412 25 ?? 25h %
.text:00419413 00 ?? 00h
.text:00419414 00 ?? 00h
.text:00419415 f0 ?? F0h
.text:00419416 7f ?? 7Fh
.text:00419417 eb ?? EBh
.text:00419418 14 ?? 14h
.text:00419419 83 ?? 83h
.text:0041941a ec ?? ECh
.text:0041941b 08 ?? 08h
.text:0041941c dd ?? DDh
.text:0041941d 14 ?? 14h
.text:0041941e 24 ?? 24h $
.text:0041941f 8b ?? 8Bh
.text:00419420 44 ?? 44h D
.text:00419421 24 ?? 24h $
.text:00419422 04 ?? 04h
.text:00419423 83 ?? 83h
.text:00419424 c4 ?? C4h
.text:00419425 08 ?? 08h
.text:00419426 25 ?? 25h %
.text:00419427 00 ?? 00h
.text:00419428 00 ?? 00h
.text:00419429 f0 ?? F0h
.text:0041942a 7f ?? 7Fh
.text:0041942b 74 ?? 74h t
.text:0041942c 3d ?? 3Dh =
.text:0041942d 3d ?? 3Dh =
.text:0041942e 00 ?? 00h
.text:0041942f 00 ?? 00h
.text:00419430 f0 ?? F0h
.text:00419431 7f ?? 7Fh
.text:00419432 74 ?? 74h t
.text:00419433 5f ?? 5Fh _
.text:00419434 66 ?? 66h f
.text:00419435 8b ?? 8Bh
.text:00419436 04 ?? 04h
.text:00419437 24 ?? 24h $
.text:00419438 66 ?? 66h f
.text:00419439 3d ?? 3Dh =
.text:0041943a 7f ?? 7Fh
.text:0041943b 02 ?? 02h
.text:0041943c 74 ?? 74h t
.text:0041943d 2a ?? 2Ah *
.text:0041943e 66 ?? 66h f
.text:0041943f 83 ?? 83h
.text:00419440 e0 ?? E0h
.text:00419441 20 ?? 20h
.text:00419442 75 ?? 75h u
.text:00419443 21 ?? 21h !
.text:00419444 9b ?? 9Bh
.text:00419445 df ?? DFh
.text:00419446 e0 ?? E0h
.text:00419447 66 ?? 66h f
.text:00419448 83 ?? 83h
.text:00419449 e0 ?? E0h
.text:0041944a 20 ?? 20h
.text:0041944b 74 ?? 74h t
.text:0041944c 18 ?? 18h
.text:0041944d b8 ?? B8h
.text:0041944e 08 ?? 08h
.text:0041944f 00 ?? 00h
.text:00419450 00 ?? 00h
.text:00419451 00 ?? 00h
.text:00419452 83 ?? 83h
.text:00419453 fa ?? FAh
.text:00419454 1d ?? 1Dh
.text:00419455 74 ?? 74h t
.text:00419456 07 ?? 07h
.text:00419457 e8 ?? E8h
.text:00419458 7b ?? 7Bh {
.text:00419459 00 ?? 00h
.text:0041945a 00 ?? 00h
.text:0041945b 00 ?? 00h
.text:0041945c 5a ?? 5Ah Z
.text:0041945d c3 ?? C3h
.text:0041945e e8 ?? E8h
.text:0041945f 5d ?? 5Dh ]
.text:00419460 00 ?? 00h
.text:00419461 00 ?? 00h
.text:00419462 00 ?? 00h
.text:00419463 5a ?? 5Ah Z
.text:00419464 c3 ?? C3h
.text:00419465 d9 ?? D9h
.text:00419466 2c ?? 2Ch ,
.text:00419467 24 ?? 24h $
.text:00419468 5a ?? 5Ah Z
.text:00419469 c3 ?? C3h
.text:0041946a dd ?? DDh
.text:0041946b 05 ?? 05h
.text:0041946c 9c ?? 9Ch ;? -> 0042009c
.text:0041946d 00 ?? 00h
.text:0041946e 42 ?? 42h B
.text:0041946f 00 ?? 00h
.text:00419470 d9 ?? D9h
.text:00419471 c9 ?? C9h
.text:00419472 d9 ?? D9h
.text:00419473 fd ?? FDh
.text:00419474 dd ?? DDh
.text:00419475 d9 ?? D9h
.text:00419476 d9 ?? D9h
.text:00419477 c0 ?? C0h
.text:00419478 d9 ?? D9h
.text:00419479 e1 ?? E1h
.text:0041947a dc ?? DCh
.text:0041947b 1d ?? 1Dh
.text:0041947c 8c ?? 8Ch ;? -> 0042008c
.text:0041947d 00 ?? 00h
.text:0041947e 42 ?? 42h B
.text:0041947f 00 ?? 00h
.text:00419480 9b ?? 9Bh
.text:00419481 df ?? DFh
.text:00419482 e0 ?? E0h
.text:00419483 9e ?? 9Eh
.text:00419484 b8 ?? B8h
.text:00419485 04 ?? 04h
.text:00419486 00 ?? 00h
.text:00419487 00 ?? 00h
.text:00419488 00 ?? 00h
.text:00419489 73 ?? 73h s
.text:0041948a c7 ?? C7h
.text:0041948b dc ?? DCh
.text:0041948c 0d ?? 0Dh
.text:0041948d ac ?? ACh ;? -> 004200ac
.text:0041948e 00 ?? 00h
.text:0041948f 42 ?? 42h B
.text:00419490 00 ?? 00h
.text:00419491 eb ?? EBh
.text:00419492 bf ?? BFh
.text:00419493 dd ?? DDh
.text:00419494 05 ?? 05h
.text:00419495 94 ?? 94h ;? -> 00420094
.text:00419496 00 ?? 00h
.text:00419497 42 ?? 42h B
.text:00419498 00 ?? 00h
.text:00419499 d9 ?? D9h
.text:0041949a c9 ?? C9h
.text:0041949b d9 ?? D9h
.text:0041949c fd ?? FDh
.text:0041949d dd ?? DDh
.text:0041949e d9 ?? D9h
.text:0041949f d9 ?? D9h
.text:004194a0 c0 ?? C0h
.text:004194a1 d9 ?? D9h
.text:004194a2 e1 ?? E1h
.text:004194a3 dc ?? DCh
.text:004194a4 1d ?? 1Dh
.text:004194a5 84 ?? 84h ;? -> 00420084
.text:004194a6 00 ?? 00h
.text:004194a7 42 ?? 42h B
.text:004194a8 00 ?? 00h
.text:004194a9 9b ?? 9Bh
.text:004194aa df ?? DFh
.text:004194ab e0 ?? E0h
.text:004194ac 9e ?? 9Eh
.text:004194ad b8 ?? B8h
.text:004194ae 03 ?? 03h
.text:004194af 00 ?? 00h
.text:004194b0 00 ?? 00h
.text:004194b1 00 ?? 00h
.text:004194b2 76 ?? 76h v
.text:004194b3 9e ?? 9Eh
.text:004194b4 dc ?? DCh
.text:004194b5 0d ?? 0Dh
.text:004194b6 a4 ?? A4h ;? -> 004200a4
.text:004194b7 00 ?? 00h
.text:004194b8 42 ?? 42h B
.text:004194b9 00 ?? 00h
.text:004194ba eb ?? EBh
.text:004194bb 96 ?? 96h
.text:004194bc cc ?? CCh
.text:004194bd cc ?? CCh
.text:004194be cc ?? CCh
.text:004194bf cc ?? CCh
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;float10 * FUN_004194c0(float10 * __return_storage_ptr__, undefined4 param_1, undefined4 param_2, undefined2 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6, undefined4 param_7, undefined4 param_8)
;__return_s... float10 * ECX
;param_1 undefined4 EDX
;param_2 undefined4 4
;param_3 undefined2 8
;param_4 undefined4 c
;param_5 undefined4 10
;param_6 undefined4 14 ;XREF[1,0]: 004194c9
;param_7 undefined4 18 ;XREF[1,0]: 004194cf
;param_8 undefined4 1c
;local_10 undefined4 -10 ;XREF[1,0]: 004194d2
;local_14 undefined4 -14 ;XREF[1,0]: 004194cc
;local_24 undefined4 -24 ;XREF[1,0]: 004194c6
.text:004194c0 55 PUSH EBP
.text:004194c1 8bec MOV EBP,ESP
.text:004194c3 83c4e0 ADD ESP,-0x20
.text:004194c6 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
.text:004194c9 8b4518 MOV EAX,dword ptr [EBP + param_6+0x4]
.text:004194cc 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:004194cf 8b451c MOV EAX,dword ptr [EBP + param_7+0x4]
.text:004194d2 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:004194d5 eb09 JMP LAB_004194e0
;************************************************************************************************
;* Library Function - Single Match *
;* __startOneArgErrorHandling *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;float10 * __startOneArgErrorHandling(float10 * __return_storage_ptr__, undefined4 param_1, int param_2, ushort param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6)
;__return_s... float10 * ECX
;param_1 undefined4 EDX
;param_2 int 4 ;XREF[3,0]: 004194f2,00419506,0041950e
;param_3 ushort 8
;param_4 undefined4 c ;XREF[1,0]: 004194e6
;param_5 undefined4 10 ;XREF[1,0]: 004194e9
;param_6 undefined4 14
;local_c undefined8 -c ;XREF[2,0]: 004194e0,00419503
;local_18 undefined4 -18 ;XREF[1,0]: 004194ef
;local_1c undefined4 -1c ;XREF[1,0]: 004194ec
;local_20 undefined4 -20 ;XREF[1,0]: 004194e3
;local_24 undefined4 -24 ;XREF[2,0]: 004194dd,004194f5
;XREF[2,0]: 00418429,004193f9
.text:004194d7 55 PUSH EBP
.text:004194d8 8bec MOV EBP,ESP
.text:004194da 83c4e0 ADD ESP,-0x20
.text:004194dd 8945e0 MOV dword ptr [EBP + local_24+0x4],EAX
LAB_004194e0: ;XREF[1,0]: 004194d5
.text:004194e0 dd5df8 FSTP qword ptr [EBP + local_c+0x4]
.text:004194e3 894de4 MOV dword ptr [EBP +...,__return_storage_...
.text:004194e6 8b4510 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:004194e9 8b4d14 MOV __return_storage...,dword ptr [EBP + ...
.text:004194ec 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:004194ef 894dec MOV dword ptr [EBP +...,__return_storage_...
.text:004194f2 8d4508 LEA EAX=>param_2,[EBP + 0x8]
.text:004194f5 8d4de0 LEA __return_storage...,[EBP + -0x20]
.text:004194f8 50 PUSH EAX
.text:004194f9 51 PUSH __return_storage_ptr__
.text:004194fa 52 PUSH param_1
.text:004194fb e8c4040000 CALL FUN_004199c4 ;undefined FUN_004199c4(int param_1, ...
.text:00419500 83c40c ADD ESP,0xc
.text:00419503 dd45f8 FLD qword ptr [EBP + local_c+0x4]
.text:00419506 66817d087f02 CMP word ptr [EBP + param_2+0x4],0x27f
.text:0041950c 7403 JZ LAB_00419511
.text:0041950e d96d08 FLDCW word ptr [EBP + param_2+0x4]
LAB_00419511: ;XREF[1,0]: 0041950c
.text:00419511 c9 LEAVE
.text:00419512 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* ___libm_error_support *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined ___libm_error_support(undefined8 * param_1, undefined8 * param_2, undefined8 * param_3, int param_4)
;param_1 undefined8 * 4 ;XREF[4,0]: 004195d1,00419652,0041967b,004196c8
;param_2 undefined8 * 8 ;XREF[3,0]: 004195e2,0041968c,004196d2
;param_3 undefined8 * c ;XREF[4,0]: 004195d6,0041961b,00419680,004196cd
;param_4 int 10 ;XREF[1,0]: 0041953b
;local_c undefined8 -c ;XREF[4,0]: 004195f3,0041969d,004196e3,004196fe
;local_14 undefined8 -14 ;XREF[3,0]: 004195ed,00419697,004196dd
;local_1c undefined8 -1c ;XREF[3,0]: 004195e5,0041968f,004196d5
;local_20 undefined4 -20 ;XREF[12,0]: 0041956e,0041957d,00419589,00419598,004195ab
; 004195ca,00419610,00419659,00419662,0041966b
; 00419674,004196c1
;local_24 undefined4 -24 ;XREF[10,0]: 0041957a,00419595,004195a4,004195d9,004195ea
; 00419604,00419683,00419694,004196ba,004196da
;XREF[2,0]: 004184e5,00418e7a
.text:00419513 8bff MOV EDI,EDI
.text:00419515 55 PUSH EBP
.text:00419516 8bec MOV EBP,ESP
.text:00419518 83ec20 SUB ESP,0x20
.text:0041951b 833d28434... CMP dword ptr [.data:DAT_00424328],0x0 ;= ??
.text:00419522 56 PUSH ESI
.text:00419523 57 PUSH EDI
.text:00419524 7410 JZ LAB_00419536
.text:00419526 ff3554454200 PUSH dword ptr [.data:Ptr_00424554] ;PVOID Ptr for DecodePointer
.text:0041952c ff1510b14100 CALL dword ptr [->KERNEL32.DLL::DecodePoin...;= 000227c2
.text:00419532 8bf8 MOV EDI,EAX
.text:00419534 eb05 JMP LAB_0041953b
LAB_00419536: ;XREF[1,0]: 00419524
.text:00419536 bfc7cd4000 MOV EDI,FUN_0040cdc7
LAB_0041953b: ;XREF[1,0]: 00419534
.text:0041953b 8b4514 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:0041953e 83f81a CMP EAX,0x1a
.text:00419541 0f8fde000000 JG LAB_00419625
.text:00419547 0f84cc000000 JZ LAB_00419619
.text:0041954d 83f80e CMP EAX,0xe
.text:00419550 7f65 JG LAB_004195b7
.text:00419552 7450 JZ LAB_004195a4
.text:00419554 6a02 PUSH 0x2
.text:00419556 59 POP ECX
.text:00419557 2bc1 SUB EAX,ECX
.text:00419559 743a JZ LAB_00419595
.text:0041955b 83e801 SUB EAX,0x1
.text:0041955e 7429 JZ LAB_00419589
.text:00419560 83e805 SUB EAX,0x5
.text:00419563 7415 JZ LAB_0041957a
.text:00419565 83e801 SUB EAX,0x1
.text:00419568 0f8595010000 JNZ LAB_00419703
.text:0041956e c745e4b80... MOV dword ptr [EBP +...,.rdata:s_log10_00...;= "log10"
.text:00419575 e901010000 JMP LAB_0041967b
LAB_0041957a: ;XREF[1,0]: 00419563
.text:0041957a 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:0041957d c745e4b80... MOV dword ptr [EBP +...,.rdata:s_log10_00...;= "log10"
.text:00419584 e93f010000 JMP LAB_004196c8
LAB_00419589: ;XREF[1,0]: 0041955e
.text:00419589 c745e4b40... MOV dword ptr [EBP +...,.rdata:DAT_004200b4 ;= 6Ch l
.text:00419590 e9e6000000 JMP LAB_0041967b
LAB_00419595: ;XREF[1,0]: 00419559
.text:00419595 894de0 MOV dword ptr [EBP + local_24+0x4],ECX
.text:00419598 c745e4b40... MOV dword ptr [EBP +...,.rdata:DAT_004200b4 ;= 6Ch l
.text:0041959f e924010000 JMP LAB_004196c8
LAB_004195a4: ;XREF[1,0]: 00419552
.text:004195a4 c745e0030... MOV dword ptr [EBP + local_24+0x4],0x3
.text:004195ab c745e4c00... MOV dword ptr [EBP +...,.rdata:DAT_004200c0 ;= 65h e
.text:004195b2 e911010000 JMP LAB_004196c8
LAB_004195b7: ;XREF[1,0]: 00419550
.text:004195b7 83e80f SUB EAX,0xf
.text:004195ba 7454 JZ LAB_00419610
.text:004195bc 83e809 SUB EAX,0x9
.text:004195bf 7443 JZ LAB_00419604
.text:004195c1 83e801 SUB EAX,0x1
.text:004195c4 0f8539010000 JNZ LAB_00419703
.text:004195ca c745e4c40... MOV dword ptr [EBP +...,.rdata:DAT_004200c4 ;= 70h p
LAB_004195d1: ;XREF[1,0]: 00419617
.text:004195d1 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004195d4 8bcf MOV ECX,EDI
.text:004195d6 8b7510 MOV ESI,dword ptr [EBP + param_3+0x4]
.text:004195d9 c745e0040... MOV dword ptr [EBP + local_24+0x4],0x4
.text:004195e0 dd00 FLD qword ptr [EAX]
.text:004195e2 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004195e5 dd5de8 FSTP qword ptr [EBP + local_1c+0x4]
.text:004195e8 dd00 FLD qword ptr [EAX]
.text:004195ea 8d45e0 LEA EAX=>local_24,[EBP + -0x20]
.text:004195ed dd5df0 FSTP qword ptr [EBP + local_14+0x4]
.text:004195f0 dd06 FLD qword ptr [ESI]
.text:004195f2 50 PUSH EAX
.text:004195f3 dd5df8 FSTP qword ptr [EBP + local_c+0x4]
.text:004195f6 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:004195fc ffd7 CALL EDI
.text:004195fe 59 POP ECX
.text:004195ff e9fa000000 JMP LAB_004196fe
LAB_00419604: ;XREF[1,0]: 004195bf
.text:00419604 c745e0030... MOV dword ptr [EBP + local_24+0x4],0x3
.text:0041960b e9b1000000 JMP LAB_004196c1
LAB_00419610: ;XREF[1,0]: 004195ba
.text:00419610 c745e4c00... MOV dword ptr [EBP +...,.rdata:DAT_004200c0 ;= 65h e
.text:00419617 ebb8 JMP LAB_004195d1
LAB_00419619: ;XREF[1,0]: 00419547
.text:00419619 d9e8 FLD1
LAB_0041961b: ;XREF[1,0]: 00419657
.text:0041961b 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0041961e dd18 FSTP qword ptr [EAX]
.text:00419620 e9de000000 JMP LAB_00419703
LAB_00419625: ;XREF[1,0]: 00419541
.text:00419625 83e81b SUB EAX,0x1b
.text:00419628 0f848c000000 JZ LAB_004196ba
.text:0041962e 83e801 SUB EAX,0x1
.text:00419631 7441 JZ LAB_00419674
.text:00419633 83e815 SUB EAX,0x15
.text:00419636 7433 JZ LAB_0041966b
.text:00419638 83e809 SUB EAX,0x9
.text:0041963b 7425 JZ LAB_00419662
.text:0041963d 83e803 SUB EAX,0x3
.text:00419640 7417 JZ LAB_00419659
.text:00419642 2dab030000 SUB EAX,0x3ab
.text:00419647 7409 JZ LAB_00419652
.text:00419649 83e801 SUB EAX,0x1
.text:0041964c 0f85b1000000 JNZ LAB_00419703
LAB_00419652: ;XREF[1,0]: 00419647
.text:00419652 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419655 dd00 FLD qword ptr [EAX]
.text:00419657 ebc2 JMP LAB_0041961b
LAB_00419659: ;XREF[1,0]: 00419640
.text:00419659 c745e4c80... MOV dword ptr [EBP +...,.rdata:DAT_004200c8 ;= 61h a
.text:00419660 eb19 JMP LAB_0041967b
LAB_00419662: ;XREF[1,0]: 0041963b
.text:00419662 c745e4d00... MOV dword ptr [EBP +...,.rdata:DAT_004200d0 ;= 61h a
.text:00419669 eb10 JMP LAB_0041967b
LAB_0041966b: ;XREF[1,0]: 00419636
.text:0041966b c745e4d80... MOV dword ptr [EBP +...,.rdata:DAT_004200d8 ;= 73h s
.text:00419672 eb07 JMP LAB_0041967b
LAB_00419674: ;XREF[1,0]: 00419631
.text:00419674 c745e4c40... MOV dword ptr [EBP +...,.rdata:DAT_004200c4 ;= 70h p
LAB_0041967b: ;XREF[5,0]: 00419575,00419590,00419660,00419669
; 00419672
.text:0041967b 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041967e 8bcf MOV ECX,EDI
.text:00419680 8b7510 MOV ESI,dword ptr [EBP + param_3+0x4]
.text:00419683 c745e0010... MOV dword ptr [EBP + local_24+0x4],0x1
.text:0041968a dd00 FLD qword ptr [EAX]
.text:0041968c 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0041968f dd5de8 FSTP qword ptr [EBP + local_1c+0x4]
.text:00419692 dd00 FLD qword ptr [EAX]
.text:00419694 8d45e0 LEA EAX=>local_24,[EBP + -0x20]
.text:00419697 dd5df0 FSTP qword ptr [EBP + local_14+0x4]
.text:0041969a dd06 FLD qword ptr [ESI]
.text:0041969c 50 PUSH EAX
.text:0041969d dd5df8 FSTP qword ptr [EBP + local_c+0x4]
.text:004196a0 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:004196a6 ffd7 CALL EDI
.text:004196a8 59 POP ECX
.text:004196a9 85c0 TEST EAX,EAX
.text:004196ab 7551 JNZ LAB_004196fe
.text:004196ad e8524cffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004196b2 c70021000000 MOV dword ptr [EAX],0x21
.text:004196b8 eb44 JMP LAB_004196fe
LAB_004196ba: ;XREF[1,0]: 00419628
.text:004196ba c745e0020... MOV dword ptr [EBP + local_24+0x4],0x2
LAB_004196c1: ;XREF[1,0]: 0041960b
.text:004196c1 c745e4c40... MOV dword ptr [EBP +...,.rdata:DAT_004200c4 ;= 70h p
LAB_004196c8: ;XREF[3,0]: 00419584,0041959f,004195b2
.text:004196c8 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:004196cb 8bcf MOV ECX,EDI
.text:004196cd 8b7510 MOV ESI,dword ptr [EBP + param_3+0x4]
.text:004196d0 dd00 FLD qword ptr [EAX]
.text:004196d2 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:004196d5 dd5de8 FSTP qword ptr [EBP + local_1c+0x4]
.text:004196d8 dd00 FLD qword ptr [EAX]
.text:004196da 8d45e0 LEA EAX=>local_24,[EBP + -0x20]
.text:004196dd dd5df0 FSTP qword ptr [EBP + local_14+0x4]
.text:004196e0 dd06 FLD qword ptr [ESI]
.text:004196e2 50 PUSH EAX
.text:004196e3 dd5df8 FSTP qword ptr [EBP + local_c+0x4]
.text:004196e6 ff1518b14100 CALL dword ptr [->_guard_check_icall] ;undefined _guard_check_icall(void)
;= 00401c9f
.text:004196ec ffd7 CALL EDI
.text:004196ee 59 POP ECX
.text:004196ef 85c0 TEST EAX,EAX
.text:004196f1 750b JNZ LAB_004196fe
.text:004196f3 e80c4cffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:004196f8 c70022000000 MOV dword ptr [EAX],0x22
LAB_004196fe: ;XREF[4,0]: 004195ff,004196ab,004196b8,004196f1
.text:004196fe dd45f8 FLD qword ptr [EBP + local_c+0x4]
.text:00419701 dd1e FSTP qword ptr [ESI]
LAB_00419703: ;XREF[4,0]: 00419568,004195c4,00419620,0041964c
.text:00419703 5f POP EDI
.text:00419704 5e POP ESI
.text:00419705 c9 LEAVE
.text:00419706 c3 RET
LAB_00419707: ;XREF[2,0]: 00418437,00418468
.text:00419707 8bff MOV EDI,EDI
.text:00419709 55 PUSH EBP
.text:0041970a 8bec MOV EBP,ESP
.text:0041970c 51 PUSH ECX
.text:0041970d 51 PUSH ECX
.text:0041970e 53 PUSH EBX
.text:0041970f 56 PUSH ESI
.text:00419710 beffff0000 MOV ESI,0xffff
.text:00419715 56 PUSH ESI
.text:00419716 683f1b0000 PUSH 0x1b3f
.text:0041971b e82de6ffff CALL __ctrlfp ;int __ctrlfp(void)
.text:00419720 dd4508 FLD qword ptr [EBP + __return_storage_ptr...
.text:00419723 8bd8 MOV EBX,EAX
.text:00419725 59 POP ECX
.text:00419726 59 POP ECX
.text:00419727 0fb74d0e MOVZX ECX,word ptr [EBP + Stack[0xa]+0x4]
.text:0041972b b8f07f0000 MOV EAX,0x7ff0
.text:00419730 23c8 AND ECX,EAX
.text:00419732 51 PUSH ECX
.text:00419733 51 PUSH ECX
.text:00419734 dd1c24 FSTP qword ptr [ESP]=>local_1c
.text:00419737 663bc8 CMP CX,AX
.text:0041973a 7546 JNZ LAB_00419782
.text:0041973c e80d0c0000 CALL FUN_0041a34e ;byte FUN_0041a34e(int param_1, uint ...
.text:00419741 59 POP ECX
.text:00419742 59 POP ECX
.text:00419743 83e801 SUB EAX,0x1
.text:00419746 742e JZ LAB_00419776
.text:00419748 83e801 SUB EAX,0x1
.text:0041974b 7429 JZ LAB_00419776
.text:0041974d 83e801 SUB EAX,0x1
.text:00419750 7424 JZ LAB_00419776
.text:00419752 dd4508 FLD qword ptr [EBP + __return_storage_ptr...
.text:00419755 dd05e0004200 FLD qword ptr [.rdata:DAT_004200e0]
.text:0041975b 53 PUSH EBX
.text:0041975c 83ec10 SUB ESP,0x10
.text:0041975f d8c1 FADD ST0,ST1
.text:00419761 dd5c2408 FSTP qword ptr [ESP + Stack[-0x20]+0x28]
.text:00419765 dd1c24 FSTP qword ptr [ESP]=>local_28
.text:00419768 6a0c PUSH 0xc
.text:0041976a 6a08 PUSH 0x8
LAB_0041976c: ;XREF[1,0]: 004197af
.text:0041976c e8ab030000 CALL __except1 ;undefined __except1(uint param_1, in...
.text:00419771 83c41c ADD ESP,0x1c
.text:00419774 eb4b JMP LAB_004197c1
LAB_00419776: ;XREF[3,0]: 00419746,0041974b,00419750
.text:00419776 56 PUSH ESI
.text:00419777 53 PUSH EBX
.text:00419778 e8d0e5ffff CALL __ctrlfp ;int __ctrlfp(void)
.text:0041977d dd4508 FLD qword ptr [EBP + __return_storage_ptr...
.text:00419780 eb3d JMP LAB_004197bf
LAB_00419782: ;XREF[1,0]: 0041973a
.text:00419782 e84d030000 CALL __frnd ;float10 * __frnd(float10 * __return_...
.text:00419787 dd55f8 FST qword ptr [EBP + local_c+0x4]
.text:0041978a dd4508 FLD qword ptr [EBP + __return_storage_ptr...
.text:0041978d 83c408 ADD ESP,0x8
.text:00419790 dde1 FUCOM
.text:00419792 dfe0 FNSTSW AX
.text:00419794 f6c444 TEST AH,0x44
.text:00419797 7b18 JNP LAB_004197b1
.text:00419799 f6c320 TEST BL,0x20
.text:0041979c 7513 JNZ LAB_004197b1
.text:0041979e 53 PUSH EBX
.text:0041979f 83ec10 SUB ESP,0x10
.text:004197a2 d9c9 FXCH
.text:004197a4 dd5c2408 FSTP qword ptr [ESP + Stack[-0x20]+0x28]
.text:004197a8 dd1c24 FSTP qword ptr [ESP]=>local_28
.text:004197ab 6a0c PUSH 0xc
.text:004197ad 6a10 PUSH 0x10
.text:004197af ebbb JMP LAB_0041976c
LAB_004197b1: ;XREF[2,0]: 00419797,0041979c
.text:004197b1 56 PUSH ESI
.text:004197b2 ddd9 FSTP ST1
.text:004197b4 53 PUSH EBX
.text:004197b5 ddd8 FSTP ST0
.text:004197b7 e891e5ffff CALL __ctrlfp ;int __ctrlfp(void)
.text:004197bc dd45f8 FLD qword ptr [EBP + local_c+0x4]
LAB_004197bf: ;XREF[1,0]: 00419780
.text:004197bf 59 POP ECX
.text:004197c0 59 POP ECX
LAB_004197c1: ;XREF[1,0]: 00419774
.text:004197c1 5e POP ESI
.text:004197c2 5b POP EBX
.text:004197c3 c9 LEAVE
.text:004197c4 c3 RET
.text:004197c5 ccccccccc... align align(11)
;************************************************************************************************
;* Library Function - Single Match *
;* ___ascii_strnicmp *
;* *
;* Libraries: Visual Studio 2012 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;int ___ascii_strnicmp(char * _Str1, char * _Str2, size_t _MaxCount)
;_Str1 char * 4 ;XREF[1,0]: 004197dd
;_Str2 char * 8 ;XREF[1,0]: 004197e0
;_MaxCount size_t c ;XREF[1,0]: 004197d6
;XREF[1,0]: 004187a2
.text:004197d0 55 PUSH EBP
.text:004197d1 8bec MOV EBP,ESP
.text:004197d3 57 PUSH EDI
.text:004197d4 56 PUSH ESI
.text:004197d5 53 PUSH EBX
.text:004197d6 8b4d10 MOV ECX,dword ptr [EBP + _MaxCount+0x4]
.text:004197d9 0bc9 OR ECX,ECX
.text:004197db 744d JZ LAB_0041982a
.text:004197dd 8b7508 MOV ESI,dword ptr [EBP + _Str1+0x4]
.text:004197e0 8b7d0c MOV EDI,dword ptr [EBP + _Str2+0x4]
.text:004197e3 b741 MOV BH,0x41
.text:004197e5 b35a MOV BL,0x5a
.text:004197e7 b620 MOV DH,0x20
.text:004197e9 8d4900 LEA ECX,[ECX]
LAB_004197ec: ;XREF[1,0]: 00419819
.text:004197ec 8a26 MOV AH,byte ptr [ESI]
.text:004197ee 0ae4 OR AH,AH
.text:004197f0 8a07 MOV AL,byte ptr [EDI]
.text:004197f2 7427 JZ LAB_0041981b
.text:004197f4 0ac0 OR AL,AL
.text:004197f6 7423 JZ LAB_0041981b
.text:004197f8 83c601 ADD ESI,0x1
.text:004197fb 83c701 ADD EDI,0x1
.text:004197fe 3ae7 CMP AH,BH
.text:00419800 7206 JC LAB_00419808
.text:00419802 3ae3 CMP AH,BL
.text:00419804 7702 JA LAB_00419808
.text:00419806 02e6 ADD AH,DH
LAB_00419808: ;XREF[2,0]: 00419800,00419804
.text:00419808 3ac7 CMP AL,BH
.text:0041980a 7206 JC LAB_00419812
.text:0041980c 3ac3 CMP AL,BL
.text:0041980e 7702 JA LAB_00419812
.text:00419810 02c6 ADD AL,DH
LAB_00419812: ;XREF[2,0]: 0041980a,0041980e
.text:00419812 3ae0 CMP AH,AL
.text:00419814 750b JNZ LAB_00419821
.text:00419816 83e901 SUB ECX,0x1
.text:00419819 75d1 JNZ LAB_004197ec
LAB_0041981b: ;XREF[2,0]: 004197f2,004197f6
.text:0041981b 33c9 XOR ECX,ECX
.text:0041981d 3ae0 CMP AH,AL
.text:0041981f 7409 JZ LAB_0041982a
LAB_00419821: ;XREF[1,0]: 00419814
.text:00419821 b9ffffffff MOV ECX,0xffffffff
.text:00419826 7202 JC LAB_0041982a
.text:00419828 f7d9 NEG ECX
LAB_0041982a: ;XREF[3,0]: 004197db,0041981f,00419826
.text:0041982a 8bc1 MOV EAX,ECX
.text:0041982c 5b POP EBX
.text:0041982d 5e POP ESI
.text:0041982e 5f POP EDI
.text:0041982f c9 LEAVE
.text:00419830 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00419831(double param_1)
;param_1 double 4 ;XREF[3,0]: 00419838,0041984b,00419858
;local_c undefined8 -c ;XREF[2,0]: 00419870,0041987b
;local_14 undefined8 -14 ;XREF[3,0]: 0041983d,00419850,00419873
;XREF[1,0]: 00419975
.text:00419831 8bff MOV EDI,EDI
.text:00419833 55 PUSH EBP
.text:00419834 8bec MOV EBP,ESP
.text:00419836 51 PUSH ECX
.text:00419837 51 PUSH ECX
.text:00419838 dd4508 FLD qword ptr [EBP + param_1+0x4]
.text:0041983b 51 PUSH ECX
.text:0041983c 51 PUSH ECX
.text:0041983d dd1c24 FSTP qword ptr [ESP]=>local_14
.text:00419840 e86c0b0000 CALL __fpclass ;int __fpclass(double _X)
.text:00419845 59 POP ECX
.text:00419846 59 POP ECX
.text:00419847 a890 TEST AL,0x90
.text:00419849 754a JNZ LAB_00419895
.text:0041984b dd4508 FLD qword ptr [EBP + param_1+0x4]
.text:0041984e 51 PUSH ECX
.text:0041984f 51 PUSH ECX
.text:00419850 dd1c24 FSTP qword ptr [ESP]=>local_14
.text:00419853 e87c020000 CALL __frnd ;float10 * __frnd(float10 * __return_...
.text:00419858 dd4508 FLD qword ptr [EBP + param_1+0x4]
.text:0041985b dde1 FUCOM
.text:0041985d dfe0 FNSTSW AX
.text:0041985f 59 POP ECX
.text:00419860 59 POP ECX
.text:00419861 ddd9 FSTP ST1
.text:00419863 f6c444 TEST AH,0x44
.text:00419866 7a2b JP LAB_00419893
.text:00419868 dc0d10094200 FMUL qword ptr [.rdata:DAT_00420910]
.text:0041986e 51 PUSH ECX
.text:0041986f 51 PUSH ECX
.text:00419870 dd55f8 FST qword ptr [EBP + local_c+0x4]
.text:00419873 dd1c24 FSTP qword ptr [ESP]=>local_14
.text:00419876 e859020000 CALL __frnd ;float10 * __frnd(float10 * __return_...
.text:0041987b dd45f8 FLD qword ptr [EBP + local_c+0x4]
.text:0041987e dae9 FUCOMPP
.text:00419880 dfe0 FNSTSW AX
.text:00419882 59 POP ECX
.text:00419883 59 POP ECX
.text:00419884 f6c444 TEST AH,0x44
.text:00419887 7a05 JP LAB_0041988e
.text:00419889 6a02 PUSH 0x2
.text:0041988b 58 POP EAX
.text:0041988c c9 LEAVE
.text:0041988d c3 RET
LAB_0041988e: ;XREF[1,0]: 00419887
.text:0041988e 33c0 XOR EAX,EAX
.text:00419890 40 INC EAX
.text:00419891 c9 LEAVE
.text:00419892 c3 RET
LAB_00419893: ;XREF[1,0]: 00419866
.text:00419893 ddd8 FSTP ST0
LAB_00419895: ;XREF[1,0]: 00419849
.text:00419895 33c0 XOR EAX,EAX
.text:00419897 c9 LEAVE
.text:00419898 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined4 FUN_00419899(int param_1, int param_2, int param_3, int param_4, undefined8 * param_5)
;param_1 int 4 ;XREF[3,0]: 0041989e,00419934,00419967
;param_2 int 8 ;XREF[2,0]: 0041992f,00419962
;param_3 int c ;XREF[5,0]: 004198b2,004198f2,00419940,0041996d,0041997c
;param_4 int 10 ;XREF[2,0]: 004198ad,004198ed
;param_5 undefined8 * 14 ;XREF[4,0]: 004198db,00419917,00419957,004199bb
;local_c undefined8 -c ;XREF[1,0]: 00419972
;XREF[1,0]: 004190ab
.text:00419899 8bff MOV EDI,EDI
.text:0041989b 55 PUSH EBP
.text:0041989c 8bec MOV EBP,ESP
.text:0041989e dd4508 FLD qword ptr [EBP + param_1+0x4]
.text:004198a1 b90000f07f MOV ECX,0x7ff00000
.text:004198a6 d9e1 FABS
.text:004198a8 b80000f0ff MOV EAX,0xfff00000
.text:004198ad 394d14 CMP dword ptr [EBP + param_4+0x4],ECX
.text:004198b0 753b JNZ LAB_004198ed
.text:004198b2 837d1000 CMP dword ptr [EBP + param_3+0x4],0x0
.text:004198b6 7575 JNZ LAB_0041992d
.text:004198b8 d9e8 FLD1
.text:004198ba d8d1 FCOM
.text:004198bc dfe0 FNSTSW AX
.text:004198be f6c405 TEST AH,0x5
.text:004198c1 7a0f JP LAB_004198d2
LAB_004198c3: ;XREF[1,0]: 0041994a
.text:004198c3 ddd9 FSTP ST1
.text:004198c5 ddd8 FSTP ST0
.text:004198c7 dd05a00a4200 FLD qword ptr [.rdata:DAT_00420aa0]
.text:004198cd e9e9000000 JMP LAB_004199bb
LAB_004198d2: ;XREF[1,0]: 004198c1
.text:004198d2 d8d1 FCOM
.text:004198d4 dfe0 FNSTSW AX
.text:004198d6 ddd9 FSTP ST1
.text:004198d8 f6c441 TEST AH,0x41
.text:004198db 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:004198de 0f85da000000 JNZ LAB_004199be
.text:004198e4 ddd8 FSTP ST0
.text:004198e6 d9ee FLDZ
.text:004198e8 e9d1000000 JMP LAB_004199be
LAB_004198ed: ;XREF[1,0]: 004198b0
.text:004198ed 394514 CMP dword ptr [EBP + param_4+0x4],EAX
.text:004198f0 753b JNZ LAB_0041992d
.text:004198f2 837d1000 CMP dword ptr [EBP + param_3+0x4],0x0
.text:004198f6 7535 JNZ LAB_0041992d
.text:004198f8 d9e8 FLD1
.text:004198fa d8d1 FCOM
.text:004198fc dfe0 FNSTSW AX
.text:004198fe f6c405 TEST AH,0x5
.text:00419901 7a0b JP LAB_0041990e
.text:00419903 ddd9 FSTP ST1
.text:00419905 ddd8 FSTP ST0
.text:00419907 d9ee FLDZ
.text:00419909 e9ad000000 JMP LAB_004199bb
LAB_0041990e: ;XREF[1,0]: 00419901
.text:0041990e d8d1 FCOM
.text:00419910 dfe0 FNSTSW AX
.text:00419912 ddd9 FSTP ST1
.text:00419914 f6c441 TEST AH,0x41
.text:00419917 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:0041991a 0f859e000000 JNZ LAB_004199be
.text:00419920 ddd8 FSTP ST0
.text:00419922 dd05a00a4200 FLD qword ptr [.rdata:DAT_00420aa0]
.text:00419928 e991000000 JMP LAB_004199be
LAB_0041992d: ;XREF[3,0]: 004198b6,004198f0,004198f6
.text:0041992d ddd8 FSTP ST0
.text:0041992f 394d0c CMP dword ptr [EBP + param_2+0x4],ECX
.text:00419932 752e JNZ LAB_00419962
.text:00419934 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:00419938 0f8582000000 JNZ LAB_004199c0
.text:0041993e d9ee FLDZ
.text:00419940 dd4510 FLD qword ptr [EBP + param_3+0x4]
.text:00419943 d8d1 FCOM
.text:00419945 dfe0 FNSTSW AX
.text:00419947 f6c441 TEST AH,0x41
.text:0041994a 0f8473ffffff JZ LAB_004198c3
.text:00419950 d8d9 FCOMP
.text:00419952 dfe0 FNSTSW AX
.text:00419954 f6c405 TEST AH,0x5
.text:00419957 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:0041995a 7b62 JNP LAB_004199be
.text:0041995c ddd8 FSTP ST0
.text:0041995e d9e8 FLD1
.text:00419960 eb5c JMP LAB_004199be
LAB_00419962: ;XREF[1,0]: 00419932
.text:00419962 39450c CMP dword ptr [EBP + param_2+0x4],EAX
.text:00419965 7559 JNZ LAB_004199c0
.text:00419967 837d0800 CMP dword ptr [EBP + param_1+0x4],0x0
.text:0041996b 7553 JNZ LAB_004199c0
.text:0041996d dd4510 FLD qword ptr [EBP + param_3+0x4]
.text:00419970 51 PUSH ECX
.text:00419971 51 PUSH ECX
.text:00419972 dd1c24 FSTP qword ptr [ESP]=>local_c
.text:00419975 e8b7feffff CALL FUN_00419831 ;undefined4 FUN_00419831(double param_1)
.text:0041997a d9ee FLDZ
.text:0041997c dd4510 FLD qword ptr [EBP + param_3+0x4]
.text:0041997f 59 POP ECX
.text:00419980 59 POP ECX
.text:00419981 d8d1 FCOM
.text:00419983 8bc8 MOV ECX,EAX
.text:00419985 dfe0 FNSTSW AX
.text:00419987 f6c441 TEST AH,0x41
.text:0041998a 7513 JNZ LAB_0041999f
.text:0041998c ddd9 FSTP ST1
.text:0041998e ddd8 FSTP ST0
.text:00419990 dd05a00a4200 FLD qword ptr [.rdata:DAT_00420aa0]
.text:00419996 83f901 CMP ECX,0x1
.text:00419999 7520 JNZ LAB_004199bb
.text:0041999b d9e0 FCHS
.text:0041999d eb1c JMP LAB_004199bb
LAB_0041999f: ;XREF[1,0]: 0041998a
.text:0041999f d8d9 FCOMP
.text:004199a1 dfe0 FNSTSW AX
.text:004199a3 f6c405 TEST AH,0x5
.text:004199a6 7a0f JP LAB_004199b7
.text:004199a8 83f901 CMP ECX,0x1
.text:004199ab 750e JNZ LAB_004199bb
.text:004199ad ddd8 FSTP ST0
.text:004199af dd05b00a4200 FLD qword ptr [.rdata:DAT_00420ab0]
.text:004199b5 eb04 JMP LAB_004199bb
LAB_004199b7: ;XREF[1,0]: 004199a6
.text:004199b7 ddd8 FSTP ST0
.text:004199b9 d9e8 FLD1
LAB_004199bb: ;XREF[6,0]: 004198cd,00419909,00419999,0041999d
; 004199ab,004199b5
.text:004199bb 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
LAB_004199be: ;XREF[6,0]: 004198de,004198e8,0041991a,00419928
; 0041995a,00419960
.text:004199be dd18 FSTP qword ptr [EAX]
LAB_004199c0: ;XREF[3,0]: 00419938,00419965,0041996b
.text:004199c0 33c0 XOR EAX,EAX
.text:004199c2 5d POP EBP
.text:004199c3 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_004199c4(int param_1, int * param_2, ushort * param_3)
;param_1 int 4 ;XREF[1,0]: 00419a47
;param_2 int * 8 ;XREF[1,0]: 004199ef
;param_3 ushort * c ;XREF[1,0]: 004199eb
;local_res0 undefined4 0 ;XREF[1,0]: 004199d2
;local_4 undefined4 -4 ;XREF[1,0]: 00419ad2
;local_c undefined4 -c ;XREF[1,0]: 004199d5
;local_14 undefined4 -14 ;XREF[2,0]: 004199e8,00419ac1
;local_50 undefined4 -50 ;XREF[3,0]: 00419a59,00419a5f,00419a6e
;local_60 undefined8 -60 ;XREF[1,0]: 00419a6b
;local_90 undefined1 -90 ;XREF[1,0]: 00419a82
;local_94 undefined4 -94 ;XREF[3,0]: 004199f6,00419a7b,00419a93
;XREF[1,0]: 004194fb
.text:004199c4 8bff MOV EDI,EDI
.text:004199c6 53 PUSH EBX
.text:004199c7 8bdc MOV EBX,ESP
.text:004199c9 51 PUSH ECX
.text:004199ca 51 PUSH ECX
.text:004199cb 83e4f0 AND ESP,0xfffffff0
.text:004199ce 83c404 ADD ESP,0x4
.text:004199d1 55 PUSH EBP
.text:004199d2 8b6b04 MOV EBP,dword ptr [EBX + local_res0+0x4]
.text:004199d5 896c2404 MOV dword ptr [ESP + local_c+0x10],EBP
.text:004199d9 8bec MOV EBP,ESP
.text:004199db 81ec88000000 SUB ESP,0x88
.text:004199e1 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:004199e6 33c5 XOR EAX,EBP
.text:004199e8 8945fc MOV dword ptr [EBP + local_14+0x10],EAX
.text:004199eb 8b4310 MOV EAX,dword ptr [EBX + param_3+0x4]
.text:004199ee 56 PUSH ESI
.text:004199ef 8b730c MOV ESI,dword ptr [EBX + param_2+0x4]
.text:004199f2 57 PUSH EDI
.text:004199f3 0fb708 MOVZX ECX,word ptr [EAX]
.text:004199f6 898d7cffffff MOV dword ptr [EBP + local_94+0x10],ECX
.text:004199fc 8b06 MOV EAX,dword ptr [ESI]
.text:004199fe 83e801 SUB EAX,0x1
.text:00419a01 742f JZ LAB_00419a32
.text:00419a03 83e801 SUB EAX,0x1
.text:00419a06 7426 JZ LAB_00419a2e
.text:00419a08 83e801 SUB EAX,0x1
.text:00419a0b 741d JZ LAB_00419a2a
.text:00419a0d 83e801 SUB EAX,0x1
.text:00419a10 7414 JZ LAB_00419a26
.text:00419a12 83e801 SUB EAX,0x1
.text:00419a15 741b JZ LAB_00419a32
.text:00419a17 48 DEC EAX
.text:00419a18 83e801 SUB EAX,0x1
.text:00419a1b 7471 JZ LAB_00419a8e
.text:00419a1d 83e801 SUB EAX,0x1
.text:00419a20 756c JNZ LAB_00419a8e
.text:00419a22 6a10 PUSH 0x10
.text:00419a24 eb0e JMP LAB_00419a34
LAB_00419a26: ;XREF[1,0]: 00419a10
.text:00419a26 6a12 PUSH 0x12
.text:00419a28 eb0a JMP LAB_00419a34
LAB_00419a2a: ;XREF[1,0]: 00419a0b
.text:00419a2a 6a11 PUSH 0x11
.text:00419a2c eb06 JMP LAB_00419a34
LAB_00419a2e: ;XREF[1,0]: 00419a06
.text:00419a2e 6a04 PUSH 0x4
.text:00419a30 eb02 JMP LAB_00419a34
LAB_00419a32: ;XREF[2,0]: 00419a01,00419a15
.text:00419a32 6a08 PUSH 0x8
LAB_00419a34: ;XREF[4,0]: 00419a24,00419a28,00419a2c,00419a30
.text:00419a34 5f POP EDI
.text:00419a35 51 PUSH ECX
.text:00419a36 8d4618 LEA EAX,[ESI + 0x18]
.text:00419a39 50 PUSH EAX
.text:00419a3a 57 PUSH EDI
.text:00419a3b e8aa010000 CALL FUN_00419bea ;bool FUN_00419bea(uint param_1, doub...
.text:00419a40 83c40c ADD ESP,0xc
.text:00419a43 85c0 TEST EAX,EAX
.text:00419a45 7547 JNZ LAB_00419a8e
.text:00419a47 8b4b08 MOV ECX,dword ptr [EBX + param_1+0x4]
.text:00419a4a 83f910 CMP ECX,0x10
.text:00419a4d 7410 JZ LAB_00419a5f
.text:00419a4f 83f916 CMP ECX,0x16
.text:00419a52 740b JZ LAB_00419a5f
.text:00419a54 83f91d CMP ECX,0x1d
.text:00419a57 7406 JZ LAB_00419a5f
.text:00419a59 8365c0fe AND dword ptr [EBP +...,0xfffffffe
.text:00419a5d eb12 JMP LAB_00419a71
LAB_00419a5f: ;XREF[3,0]: 00419a4d,00419a52,00419a57
.text:00419a5f 8b45c0 MOV EAX,dword ptr [EBP + local_50+0x10]
.text:00419a62 dd4610 FLD qword ptr [ESI + 0x10]
.text:00419a65 83e0e3 AND EAX,0xffffffe3
.text:00419a68 83c803 OR EAX,0x3
.text:00419a6b dd5db0 FSTP qword ptr [EBP + local_60+0x10]
.text:00419a6e 8945c0 MOV dword ptr [EBP + local_50+0x10],EAX
LAB_00419a71: ;XREF[1,0]: 00419a5d
.text:00419a71 8d4618 LEA EAX,[ESI + 0x18]
.text:00419a74 50 PUSH EAX
.text:00419a75 8d4608 LEA EAX,[ESI + 0x8]
.text:00419a78 50 PUSH EAX
.text:00419a79 51 PUSH ECX
.text:00419a7a 57 PUSH EDI
.text:00419a7b 8d857cffffff LEA EAX=>local_94,[EBP + 0xffffff7c]
.text:00419a81 50 PUSH EAX
.text:00419a82 8d4580 LEA EAX=>local_90,[EBP + -0x80]
.text:00419a85 50 PUSH EAX
.text:00419a86 e8df030000 CALL __raise_exc ;undefined __raise_exc(uint * param_1...
.text:00419a8b 83c418 ADD ESP,0x18
LAB_00419a8e: ;XREF[3,0]: 00419a1b,00419a20,00419a45
.text:00419a8e 68ffff0000 PUSH 0xffff
.text:00419a93 ffb57cffffff PUSH dword ptr [EBP + local_94+0x10]
.text:00419a99 e8afe2ffff CALL __ctrlfp ;int __ctrlfp(void)
.text:00419a9e 833e08 CMP dword ptr [ESI],0x8
.text:00419aa1 59 POP ECX
.text:00419aa2 59 POP ECX
.text:00419aa3 7414 JZ LAB_00419ab9
.text:00419aa5 e8f132ffff CALL FUN_0040cd9b ;bool FUN_0040cd9b(void)
.text:00419aaa 84c0 TEST AL,AL
.text:00419aac 740b JZ LAB_00419ab9
.text:00419aae 56 PUSH ESI
.text:00419aaf e81333ffff CALL FUN_0040cdc7 ;undefined4 FUN_0040cdc7(undefined4 p...
.text:00419ab4 59 POP ECX
.text:00419ab5 85c0 TEST EAX,EAX
.text:00419ab7 7508 JNZ LAB_00419ac1
LAB_00419ab9: ;XREF[2,0]: 00419aa3,00419aac
.text:00419ab9 ff36 PUSH dword ptr [ESI]
.text:00419abb e8be060000 CALL FUN_0041a17e ;undefined FUN_0041a17e(int param_1)
.text:00419ac0 59 POP ECX
LAB_00419ac1: ;XREF[1,0]: 00419ab7
.text:00419ac1 8b4dfc MOV ECX,dword ptr [EBP + local_14+0x10]
.text:00419ac4 5f POP EDI
.text:00419ac5 33cd XOR ECX,EBP
.text:00419ac7 5e POP ESI
.text:00419ac8 e85886feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00419acd 8be5 MOV ESP,EBP
.text:00419acf 5d POP EBP
.text:00419ad0 8be3 MOV ESP,EBX
.text:00419ad2 5b POP EBX=>local_4
.text:00419ad3 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __frnd *
;* *
;* Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release, Visual Studio 2012 Release...*
;************************************************************************************************
;float10 * __frnd(float10 * __return_storage_ptr__, double param_1)
;__return_s... float10 * 4 ;XREF[1,0]: 00419adb
;param_1 double c
;local_c undefined8 -c ;XREF[2,0]: 00419ae0,00419ae3
;XREF[3,0]: 00419782,00419853,00419876
.text:00419ad4 8bff MOV EDI,EDI
.text:00419ad6 55 PUSH EBP
.text:00419ad7 8bec MOV EBP,ESP
.text:00419ad9 51 PUSH ECX
.text:00419ada 51 PUSH ECX
.text:00419adb dd4508 FLD qword ptr [EBP + __return_storage_ptr...
.text:00419ade d9fc FRNDINT
.text:00419ae0 dd5df8 FSTP qword ptr [EBP + local_c+0x4]
.text:00419ae3 dd45f8 FLD qword ptr [EBP + local_c+0x4]
.text:00419ae6 c9 LEAVE
.text:00419ae7 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __errcode *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;int __errcode(uint param_1)
;param_1 uint 4 ;XREF[1,0]: 00419aed
;XREF[1,0]: 00419b85
.text:00419ae8 8bff MOV EDI,EDI
.text:00419aea 55 PUSH EBP
.text:00419aeb 8bec MOV EBP,ESP
.text:00419aed 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419af0 a820 TEST AL,0x20
.text:00419af2 7404 JZ LAB_00419af8
.text:00419af4 6a05 PUSH 0x5
.text:00419af6 eb17 JMP LAB_00419b0f
LAB_00419af8: ;XREF[1,0]: 00419af2
.text:00419af8 a808 TEST AL,0x8
.text:00419afa 7405 JZ LAB_00419b01
.text:00419afc 33c0 XOR EAX,EAX
.text:00419afe 40 INC EAX
.text:00419aff 5d POP EBP
.text:00419b00 c3 RET
LAB_00419b01: ;XREF[1,0]: 00419afa
.text:00419b01 a804 TEST AL,0x4
.text:00419b03 7404 JZ LAB_00419b09
.text:00419b05 6a02 PUSH 0x2
.text:00419b07 eb06 JMP LAB_00419b0f
LAB_00419b09: ;XREF[1,0]: 00419b03
.text:00419b09 a801 TEST AL,0x1
.text:00419b0b 7405 JZ LAB_00419b12
.text:00419b0d 6a03 PUSH 0x3
LAB_00419b0f: ;XREF[2,0]: 00419af6,00419b07
.text:00419b0f 58 POP EAX
.text:00419b10 5d POP EBP
.text:00419b11 c3 RET
LAB_00419b12: ;XREF[1,0]: 00419b0b
.text:00419b12 0fb6c0 MOVZX EAX,AL
.text:00419b15 83e002 AND EAX,0x2
.text:00419b18 03c0 ADD EAX,EAX
.text:00419b1a 5d POP EBP
.text:00419b1b c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __except1 *
;* *
;* Library: Visual Studio 2015 Release *
;************************************************************************************************
;undefined __except1(uint param_1, int param_2, undefined8 param_3, double param_4, uint param_5)
;param_1 uint 4 ;XREF[3,0]: 00419b4d,00419b6f,00419b82
;param_2 int 8 ;XREF[2,0]: 00419b69,00419bb1
;param_3 undefined8 c ;XREF[2,0]: 00419b65,00419bab
;param_4 double 14 ;XREF[4,0]: 00419b47,00419b61,00419b9a,00419bd2
;param_5 uint 1c ;XREF[3,0]: 00419b44,00419b6c,00419b7c
;local_res0 undefined4 0 ;XREF[1,0]: 00419b2a
;local_4 undefined4 -4 ;XREF[1,0]: 00419be8
;local_c undefined4 -c ;XREF[1,0]: 00419b2d
;local_14 undefined4 -14 ;XREF[2,0]: 00419b40,00419bd7
;local_50 undefined4 -50 ;XREF[1,0]: 00419b5c
;local_90 undefined1 -90 ;XREF[1,0]: 00419b73
;local_a4 undefined4 -a4 ;XREF[1,0]: 00419bc5
;local_ac undefined8 -ac ;XREF[1,0]: 00419ba1
;local_b4 undefined8 -b4 ;XREF[1,0]: 00419ba7
;local_bc undefined8 -bc ;XREF[1,0]: 00419bae
;XREF[1,0]: 0041976c
.text:00419b1c 8bff MOV EDI,EDI
.text:00419b1e 53 PUSH EBX
.text:00419b1f 8bdc MOV EBX,ESP
.text:00419b21 51 PUSH ECX
.text:00419b22 51 PUSH ECX
.text:00419b23 83e4f0 AND ESP,0xfffffff0
.text:00419b26 83c404 ADD ESP,0x4
.text:00419b29 55 PUSH EBP
.text:00419b2a 8b6b04 MOV EBP,dword ptr [EBX + local_res0+0x4]
.text:00419b2d 896c2404 MOV dword ptr [ESP + local_c+0x10],EBP
.text:00419b31 8bec MOV EBP,ESP
.text:00419b33 81ec88000000 SUB ESP,0x88
.text:00419b39 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:00419b3e 33c5 XOR EAX,EBP
.text:00419b40 8945fc MOV dword ptr [EBP + local_14+0x10],EAX
.text:00419b43 56 PUSH ESI
.text:00419b44 8b7320 MOV ESI,dword ptr [EBX + param_5+0x4]
.text:00419b47 8d4318 LEA EAX=>param_4,[EBX + 0x18]
.text:00419b4a 57 PUSH EDI
.text:00419b4b 56 PUSH ESI
.text:00419b4c 50 PUSH EAX
.text:00419b4d ff7308 PUSH dword ptr [EBX + param_1+0x4]
.text:00419b50 e895000000 CALL FUN_00419bea ;bool FUN_00419bea(uint param_1, doub...
.text:00419b55 83c40c ADD ESP,0xc
.text:00419b58 85c0 TEST EAX,EAX
.text:00419b5a 7526 JNZ LAB_00419b82
.text:00419b5c 8365c0fe AND dword ptr [EBP +...,0xfffffffe
.text:00419b60 50 PUSH EAX
.text:00419b61 8d4318 LEA EAX=>param_4,[EBX + 0x18]
.text:00419b64 50 PUSH EAX
.text:00419b65 8d4310 LEA EAX=>param_3,[EBX + 0x10]
.text:00419b68 50 PUSH EAX
.text:00419b69 ff730c PUSH dword ptr [EBX + param_2+0x4]
.text:00419b6c 8d4320 LEA EAX=>param_5,[EBX + 0x20]
.text:00419b6f ff7308 PUSH dword ptr [EBX + param_1+0x4]
.text:00419b72 50 PUSH EAX
.text:00419b73 8d4580 LEA EAX=>local_90,[EBP + -0x80]
.text:00419b76 50 PUSH EAX
.text:00419b77 e811030000 CALL __raise_exc_ex ;undefined __raise_exc_ex(uint * para...
.text:00419b7c 8b7320 MOV ESI,dword ptr [EBX + param_5+0x4]
.text:00419b7f 83c41c ADD ESP,0x1c
LAB_00419b82: ;XREF[1,0]: 00419b5a
.text:00419b82 ff7308 PUSH dword ptr [EBX + param_1+0x4]
.text:00419b85 e85effffff CALL __errcode ;int __errcode(uint param_1)
.text:00419b8a 59 POP ECX
.text:00419b8b 8bf8 MOV EDI,EAX
.text:00419b8d e80932ffff CALL FUN_0040cd9b ;bool FUN_0040cd9b(void)
.text:00419b92 84c0 TEST AL,AL
.text:00419b94 7429 JZ LAB_00419bbf
.text:00419b96 85ff TEST EDI,EDI
.text:00419b98 7425 JZ LAB_00419bbf
.text:00419b9a dd4318 FLD qword ptr [EBX + param_4+0x4]
.text:00419b9d 56 PUSH ESI
.text:00419b9e 83ec18 SUB ESP,0x18
.text:00419ba1 dd5c2410 FSTP qword ptr [ESP + local_ac+0xbc]
.text:00419ba5 d9ee FLDZ
.text:00419ba7 dd5c2408 FSTP qword ptr [ESP + local_b4+0xbc]
.text:00419bab dd4310 FLD qword ptr [EBX + param_3+0x4]
.text:00419bae dd1c24 FSTP qword ptr [ESP]=>local_bc
.text:00419bb1 ff730c PUSH dword ptr [EBX + param_2+0x4]
.text:00419bb4 57 PUSH EDI
.text:00419bb5 e8f5050000 CALL FUN_0041a1af ;float10 * FUN_0041a1af(float10 * __r...
.text:00419bba 83c424 ADD ESP,0x24
.text:00419bbd eb18 JMP LAB_00419bd7
LAB_00419bbf: ;XREF[2,0]: 00419b94,00419b98
.text:00419bbf 57 PUSH EDI
.text:00419bc0 e8b9050000 CALL FUN_0041a17e ;undefined FUN_0041a17e(int param_1)
.text:00419bc5 c70424fff... MOV dword ptr [ESP]=>local_a4,0xffff
.text:00419bcc 56 PUSH ESI
.text:00419bcd e87be1ffff CALL __ctrlfp ;int __ctrlfp(void)
.text:00419bd2 dd4318 FLD qword ptr [EBX + param_4+0x4]
.text:00419bd5 59 POP ECX
.text:00419bd6 59 POP ECX
LAB_00419bd7: ;XREF[1,0]: 00419bbd
.text:00419bd7 8b4dfc MOV ECX,dword ptr [EBP + local_14+0x10]
.text:00419bda 5f POP EDI
.text:00419bdb 33cd XOR ECX,EBP
.text:00419bdd 5e POP ESI
.text:00419bde e84285feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:00419be3 8be5 MOV ESP,EBP
.text:00419be5 5d POP EBP
.text:00419be6 8be3 MOV ESP,EBX
.text:00419be8 5b POP EBX=>local_4
.text:00419be9 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_00419bea(uint param_1, double * param_2, uint param_3)
;param_1 uint 4 ;XREF[2,0]: 00419bf6,00419db3
;param_2 double * 8 ;XREF[6,0]: 00419c69,00419c7f,00419c95,00419cab,00419ce6
; 00419e30
;param_3 uint c ;XREF[6,0]: 00419c04,00419c1a,00419c39,00419c4a,00419cdc
; 00419e4e
;local_5 undefined1 -5 ;XREF[4,0]: 00419d46,00419d52,00419dfb,00419e02
;local_6 undefined1 -6 ;XREF[3,0]: 00419d6e,00419db9,00419e09
;local_7 undefined1 -7 ;XREF[3,0]: 00419d6b,00419db6,00419e0f
;local_c undefined4 -c ;XREF[5,0]: 00419cf7,00419d75,00419d7d,00419db0,00419e2d
;local_14 undefined8 -14 ;XREF[3,3]: 00419dcc,00419dd7,00419e2a,00419d3f,00419d4c
; 00419dc1
;local_18 undefined4 -18 ;XREF[2,0]: 00419d05,00419d13
;local_24 undefined1[10] -24 ;XREF[11,5]: 00419d1f,00419d7a,00419d9a,00419da5,00419dbe
; 00419dc5,00419dcf,00419dd2,00419e15,00419e1e
; 00419e25,00419d55,00419d63,00419d96,00419da8
; 00419e21
;local_3c undefined8 -3c ;XREF[1,0]: 00419d0b
;XREF[2,0]: 00419a3b,00419b50
.text:00419bea 8bff MOV EDI,EDI
.text:00419bec 55 PUSH EBP
.text:00419bed 8bec MOV EBP,ESP
.text:00419bef 83ec20 SUB ESP,0x20
.text:00419bf2 33c9 XOR ECX,ECX
.text:00419bf4 41 INC ECX
.text:00419bf5 53 PUSH EBX
.text:00419bf6 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:00419bf9 56 PUSH ESI
.text:00419bfa 8bf3 MOV ESI,EBX
.text:00419bfc 83e61f AND ESI,0x1f
.text:00419bff f6c308 TEST BL,0x8
.text:00419c02 7414 JZ LAB_00419c18
.text:00419c04 844d10 TEST byte ptr [EBP + param_3+0x4],CL
.text:00419c07 740f JZ LAB_00419c18
.text:00419c09 51 PUSH ECX
.text:00419c0a e868e1ffff CALL FUN_00417d77 ;undefined FUN_00417d77(void)
.text:00419c0f 59 POP ECX
.text:00419c10 83e6f7 AND ESI,0xfffffff7
.text:00419c13 e931020000 JMP LAB_00419e49
LAB_00419c18: ;XREF[2,0]: 00419c02,00419c07
.text:00419c18 8bc3 MOV EAX,EBX
.text:00419c1a 234510 AND EAX,dword ptr [EBP + param_3+0x4]
.text:00419c1d a804 TEST AL,0x4
.text:00419c1f 7410 JZ LAB_00419c31
.text:00419c21 6a04 PUSH 0x4
.text:00419c23 e84fe1ffff CALL FUN_00417d77 ;undefined FUN_00417d77(void)
.text:00419c28 59 POP ECX
.text:00419c29 83e6fb AND ESI,0xfffffffb
.text:00419c2c e918020000 JMP LAB_00419e49
LAB_00419c31: ;XREF[1,0]: 00419c1f
.text:00419c31 84d9 TEST CL,BL
.text:00419c33 0f849a000000 JZ LAB_00419cd3
.text:00419c39 f6451008 TEST byte ptr [EBP + param_3+0x4],0x8
.text:00419c3d 0f8490000000 JZ LAB_00419cd3
.text:00419c43 6a08 PUSH 0x8
.text:00419c45 e82de1ffff CALL FUN_00417d77 ;undefined FUN_00417d77(void)
.text:00419c4a 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:00419c4d 59 POP ECX
.text:00419c4e b9000c0000 MOV ECX,0xc00
.text:00419c53 23c1 AND EAX,ECX
.text:00419c55 7454 JZ LAB_00419cab
.text:00419c57 3d00040000 CMP EAX,0x400
.text:00419c5c 7437 JZ LAB_00419c95
.text:00419c5e 3d00080000 CMP EAX,0x800
.text:00419c63 741a JZ LAB_00419c7f
.text:00419c65 3bc1 CMP EAX,ECX
.text:00419c67 7562 JNZ LAB_00419ccb
.text:00419c69 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00419c6c d9ee FLDZ
.text:00419c6e dc19 FCOMP qword ptr [ECX]
.text:00419c70 dfe0 FNSTSW AX
.text:00419c72 dd05a80a4200 FLD qword ptr [.rdata:DAT_00420aa8] ;= FFh
.text:00419c78 f6c405 TEST AH,0x5
.text:00419c7b 7b4c JNP LAB_00419cc9
.text:00419c7d eb48 JMP LAB_00419cc7
LAB_00419c7f: ;XREF[1,0]: 00419c63
.text:00419c7f 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00419c82 d9ee FLDZ
.text:00419c84 dc19 FCOMP qword ptr [ECX]
.text:00419c86 dfe0 FNSTSW AX
.text:00419c88 f6c405 TEST AH,0x5
.text:00419c8b 7b2c JNP LAB_00419cb9
.text:00419c8d dd05a80a4200 FLD qword ptr [.rdata:DAT_00420aa8] ;= FFh
.text:00419c93 eb32 JMP LAB_00419cc7
LAB_00419c95: ;XREF[1,0]: 00419c5c
.text:00419c95 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00419c98 d9ee FLDZ
.text:00419c9a dc19 FCOMP qword ptr [ECX]
.text:00419c9c dfe0 FNSTSW AX
.text:00419c9e f6c405 TEST AH,0x5
.text:00419ca1 7a1e JP LAB_00419cc1
.text:00419ca3 dd05a80a4200 FLD qword ptr [.rdata:DAT_00420aa8] ;= FFh
.text:00419ca9 eb1e JMP LAB_00419cc9
LAB_00419cab: ;XREF[1,0]: 00419c55
.text:00419cab 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00419cae d9ee FLDZ
.text:00419cb0 dc19 FCOMP qword ptr [ECX]
.text:00419cb2 dfe0 FNSTSW AX
.text:00419cb4 f6c405 TEST AH,0x5
.text:00419cb7 7a08 JP LAB_00419cc1
LAB_00419cb9: ;XREF[1,0]: 00419c8b
.text:00419cb9 dd05a00a4200 FLD qword ptr [.rdata:DAT_00420aa0]
.text:00419cbf eb08 JMP LAB_00419cc9
LAB_00419cc1: ;XREF[2,0]: 00419ca1,00419cb7
.text:00419cc1 dd05a00a4200 FLD qword ptr [.rdata:DAT_00420aa0]
LAB_00419cc7: ;XREF[2,0]: 00419c7d,00419c93
.text:00419cc7 d9e0 FCHS
LAB_00419cc9: ;XREF[3,0]: 00419c7b,00419ca9,00419cbf
.text:00419cc9 dd19 FSTP qword ptr [ECX]
LAB_00419ccb: ;XREF[1,0]: 00419c67
.text:00419ccb 83e6fe AND ESI,0xfffffffe
.text:00419cce e976010000 JMP LAB_00419e49
LAB_00419cd3: ;XREF[2,0]: 00419c33,00419c3d
.text:00419cd3 f6c302 TEST BL,0x2
.text:00419cd6 0f846d010000 JZ LAB_00419e49
.text:00419cdc f6451010 TEST byte ptr [EBP + param_3+0x4],0x10
.text:00419ce0 0f8463010000 JZ LAB_00419e49
.text:00419ce6 8b450c MOV EAX,dword ptr [EBP + param_2+0x4]
.text:00419ce9 57 PUSH EDI
.text:00419cea 8bfb MOV EDI,EBX
.text:00419cec c1ef04 SHR EDI,0x4
.text:00419cef dd00 FLD qword ptr [EAX]
.text:00419cf1 23f9 AND EDI,ECX
.text:00419cf3 d9ee FLDZ
.text:00419cf5 dde9 FUCOMP
.text:00419cf7 897df8 MOV dword ptr [EBP + local_c+0x4],EDI
.text:00419cfa dfe0 FNSTSW AX
.text:00419cfc f6c444 TEST AH,0x44
.text:00419cff 0f8b36010000 JNP LAB_00419e3b
.text:00419d05 8d45ec LEA EAX=>local_18,[EBP + -0x14]
.text:00419d08 50 PUSH EAX
.text:00419d09 51 PUSH ECX
.text:00419d0a 51 PUSH ECX
.text:00419d0b dd1c24 FSTP qword ptr [ESP]=>local_3c
.text:00419d0e e83c050000 CALL FUN_0041a24f ;undefined FUN_0041a24f(float10 * par...
.text:00419d13 8b55ec MOV EDX,dword ptr [EBP + local_18+0x4]
.text:00419d16 83c40c ADD ESP,0xc
.text:00419d19 81c200faffff ADD EDX,0xfffffa00
.text:00419d1f dd55e0 FST qword ptr [EBP + local_24[0]+0x4]
.text:00419d22 d9ee FLDZ
.text:00419d24 81facefbffff CMP EDX,0xfffffbce
.text:00419d2a 7d0a JGE LAB_00419d36
.text:00419d2c 33c0 XOR EAX,EAX
.text:00419d2e dec9 FMULP
.text:00419d30 40 INC EAX
.text:00419d31 e9fa000000 JMP LAB_00419e30
LAB_00419d36: ;XREF[1,0]: 00419d2a
.text:00419d36 ded9 FCOMPP
.text:00419d38 dfe0 FNSTSW AX
.text:00419d3a f6c441 TEST AH,0x41
.text:00419d3d 750d JNZ LAB_00419d4c
.text:00419d3f c745f4010... MOV dword ptr [EBP + local_14+0x8],0x1
.text:00419d46 c645ff01 MOV byte ptr [EBP + local_5+0x4],0x1
.text:00419d4a eb09 JMP LAB_00419d55
LAB_00419d4c: ;XREF[1,0]: 00419d3d
.text:00419d4c 8365f400 AND dword ptr [EBP + local_14+0x8],0x0
.text:00419d50 32c0 XOR AL,AL
.text:00419d52 8845ff MOV byte ptr [EBP + local_5+0x4],AL
LAB_00419d55: ;XREF[1,0]: 00419d4a
.text:00419d55 8b45e6 MOV EAX,dword ptr [EBP + local_24[6]+0x4]
.text:00419d58 b903fcffff MOV ECX,0xfffffc03
.text:00419d5d 83e00f AND EAX,0xf
.text:00419d60 83c810 OR EAX,0x10
.text:00419d63 668945e6 MOV word ptr [EBP + local_24[6]+0x4],AX
.text:00419d67 32e4 XOR AH,AH
.text:00419d69 32c0 XOR AL,AL
.text:00419d6b 8865fd MOV byte ptr [EBP + local_7+0x4],AH
.text:00419d6e 8845fe MOV byte ptr [EBP + local_6+0x4],AL
.text:00419d71 3bd1 CMP EDX,ECX
.text:00419d73 7d49 JGE LAB_00419dbe
.text:00419d75 897df8 MOV dword ptr [EBP + local_c+0x4],EDI
.text:00419d78 2bca SUB ECX,EDX
.text:00419d7a 8b7de0 MOV EDI,dword ptr [EBP + local_24[0]+0x4]
.text:00419d7d 8b5df8 MOV EBX,dword ptr [EBP + local_c+0x4]
LAB_00419d80: ;XREF[1,0]: 00419dae
.text:00419d80 8bd7 MOV EDX,EDI
.text:00419d82 83e201 AND EDX,0x1
.text:00419d85 7405 JZ LAB_00419d8c
.text:00419d87 85db TEST EBX,EBX
.text:00419d89 7501 JNZ LAB_00419d8c
.text:00419d8b 43 INC EBX
LAB_00419d8c: ;XREF[2,0]: 00419d85,00419d89
.text:00419d8c 84c0 TEST AL,AL
.text:00419d8e 7402 JZ LAB_00419d92
.text:00419d90 b401 MOV AH,0x1
LAB_00419d92: ;XREF[1,0]: 00419d8e
.text:00419d92 d1ef SHR EDI,0x1
.text:00419d94 8ac2 MOV AL,DL
.text:00419d96 f645e401 TEST byte ptr [EBP + local_24[4]+0x4],0x1
.text:00419d9a 897de0 MOV dword ptr [EBP + local_24[0]+0x4],EDI
.text:00419d9d 7409 JZ LAB_00419da8
.text:00419d9f 81cf00000080 OR EDI,0x80000000
.text:00419da5 897de0 MOV dword ptr [EBP + local_24[0]+0x4],EDI
LAB_00419da8: ;XREF[1,0]: 00419d9d
.text:00419da8 d16de4 SHR dword ptr [EBP + local_24[4]+0x4],0x1
.text:00419dab 83e901 SUB ECX,0x1
.text:00419dae 75d0 JNZ LAB_00419d80
.text:00419db0 895df8 MOV dword ptr [EBP + local_c+0x4],EBX
.text:00419db3 8b5d08 MOV EBX,dword ptr [EBP + param_1+0x4]
.text:00419db6 8865fd MOV byte ptr [EBP + local_7+0x4],AH
.text:00419db9 8845fe MOV byte ptr [EBP + local_6+0x4],AL
.text:00419dbc eb03 JMP LAB_00419dc1
LAB_00419dbe: ;XREF[1,0]: 00419d73
.text:00419dbe 8b7de0 MOV EDI,dword ptr [EBP + local_24[0]+0x4]
LAB_00419dc1: ;XREF[1,0]: 00419dbc
.text:00419dc1 837df400 CMP dword ptr [EBP + local_14+0x8],0x0
.text:00419dc5 dd45e0 FLD qword ptr [EBP + local_24[0]+0x4]
.text:00419dc8 740d JZ LAB_00419dd7
.text:00419dca d9e0 FCHS
.text:00419dcc dd55f0 FST qword ptr [EBP + local_14+0x4]
.text:00419dcf dd55e0 FST qword ptr [EBP + local_24[0]+0x4]
.text:00419dd2 8b7de0 MOV EDI,dword ptr [EBP + local_24[0]+0x4]
.text:00419dd5 eb03 JMP LAB_00419dda
LAB_00419dd7: ;XREF[1,0]: 00419dc8
.text:00419dd7 dd55f0 FST qword ptr [EBP + local_14+0x4]
LAB_00419dda: ;XREF[1,0]: 00419dd5
.text:00419dda 84c0 TEST AL,AL
.text:00419ddc 7504 JNZ LAB_00419de2
.text:00419dde 84e4 TEST AH,AH
.text:00419de0 744b JZ LAB_00419e2d
LAB_00419de2: ;XREF[1,0]: 00419ddc
.text:00419de2 ddd8 FSTP ST0
.text:00419de4 e86b6cffff CALL _fegetround ;undefined _fegetround(void)
.text:00419de9 85c0 TEST EAX,EAX
.text:00419deb 741c JZ LAB_00419e09
.text:00419ded 3d00010000 CMP EAX,0x100
.text:00419df2 740e JZ LAB_00419e02
.text:00419df4 3d00020000 CMP EAX,0x200
.text:00419df9 752f JNZ LAB_00419e2a
.text:00419dfb 8a45ff MOV AL,byte ptr [EBP + local_5+0x4]
.text:00419dfe 3401 XOR AL,0x1
.text:00419e00 eb03 JMP LAB_00419e05
LAB_00419e02: ;XREF[1,0]: 00419df2
.text:00419e02 8a45ff MOV AL,byte ptr [EBP + local_5+0x4]
LAB_00419e05: ;XREF[1,0]: 00419e00
.text:00419e05 84c0 TEST AL,AL
.text:00419e07 eb10 JMP LAB_00419e19
LAB_00419e09: ;XREF[1,0]: 00419deb
.text:00419e09 807dfe00 CMP byte ptr [EBP + local_6+0x4],0x0
.text:00419e0d 741b JZ LAB_00419e2a
.text:00419e0f 807dfd00 CMP byte ptr [EBP + local_7+0x4],0x0
.text:00419e13 7506 JNZ LAB_00419e1b
.text:00419e15 f645e001 TEST byte ptr [EBP + local_24[0]+0x4],0x1
LAB_00419e19: ;XREF[1,0]: 00419e07
.text:00419e19 740f JZ LAB_00419e2a
LAB_00419e1b: ;XREF[1,0]: 00419e13
.text:00419e1b 83c701 ADD EDI,0x1
.text:00419e1e 897de0 MOV dword ptr [EBP + local_24[0]+0x4],EDI
.text:00419e21 8355e400 ADC dword ptr [EBP + local_24[4]+0x4],0x0
.text:00419e25 dd45e0 FLD qword ptr [EBP + local_24[0]+0x4]
.text:00419e28 eb03 JMP LAB_00419e2d
LAB_00419e2a: ;XREF[3,0]: 00419df9,00419e0d,00419e19
.text:00419e2a dd45f0 FLD qword ptr [EBP + local_14+0x4]
LAB_00419e2d: ;XREF[2,0]: 00419de0,00419e28
.text:00419e2d 8b45f8 MOV EAX,dword ptr [EBP + local_c+0x4]
LAB_00419e30: ;XREF[1,0]: 00419d31
.text:00419e30 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:00419e33 dd19 FSTP qword ptr [ECX]
.text:00419e35 85c0 TEST EAX,EAX
.text:00419e37 740c JZ LAB_00419e45
.text:00419e39 eb02 JMP LAB_00419e3d
LAB_00419e3b: ;XREF[1,0]: 00419cff
.text:00419e3b ddd8 FSTP ST0
LAB_00419e3d: ;XREF[1,0]: 00419e39
.text:00419e3d 6a10 PUSH 0x10
.text:00419e3f e833dfffff CALL FUN_00417d77 ;undefined FUN_00417d77(void)
.text:00419e44 59 POP ECX
LAB_00419e45: ;XREF[1,0]: 00419e37
.text:00419e45 83e6fd AND ESI,0xfffffffd
.text:00419e48 5f POP EDI
LAB_00419e49: ;XREF[5,0]: 00419c13,00419c2c,00419cce,00419cd6
; 00419ce0
.text:00419e49 f6c310 TEST BL,0x10
.text:00419e4c 7411 JZ LAB_00419e5f
.text:00419e4e f6451020 TEST byte ptr [EBP + param_3+0x4],0x20
.text:00419e52 740b JZ LAB_00419e5f
.text:00419e54 6a20 PUSH 0x20
.text:00419e56 e81cdfffff CALL FUN_00417d77 ;undefined FUN_00417d77(void)
.text:00419e5b 59 POP ECX
.text:00419e5c 83e6ef AND ESI,0xffffffef
LAB_00419e5f: ;XREF[2,0]: 00419e4c,00419e52
.text:00419e5f 33c0 XOR EAX,EAX
.text:00419e61 85f6 TEST ESI,ESI
.text:00419e63 5e POP ESI
.text:00419e64 0f94c0 SETZ AL
.text:00419e67 5b POP EBX
.text:00419e68 c9 LEAVE
.text:00419e69 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __raise_exc *
;* *
;* Library: Visual Studio 2015 Release *
;************************************************************************************************
;undefined __raise_exc(uint * param_1, uint * param_2, uint param_3, int param_4, undefined8 * param_5, undefined8 * param_6)
;param_1 uint * 4 ;XREF[1,0]: 00419e80
;param_2 uint * 8 ;XREF[1,0]: 00419e7d
;param_3 uint c ;XREF[1,0]: 00419e7a
;param_4 int 10 ;XREF[1,0]: 00419e77
;param_5 undefined8 * 14 ;XREF[1,0]: 00419e74
;param_6 undefined8 * 18 ;XREF[1,0]: 00419e71
;XREF[1,0]: 00419a86
.text:00419e6a 8bff MOV EDI,EDI
.text:00419e6c 55 PUSH EBP
.text:00419e6d 8bec MOV EBP,ESP
.text:00419e6f 6a00 PUSH 0x0
.text:00419e71 ff751c PUSH dword ptr [EBP + param_6+0x4]
.text:00419e74 ff7518 PUSH dword ptr [EBP + param_5+0x4]
.text:00419e77 ff7514 PUSH dword ptr [EBP + param_4+0x4]
.text:00419e7a ff7510 PUSH dword ptr [EBP + param_3+0x4]
.text:00419e7d ff750c PUSH dword ptr [EBP + param_2+0x4]
.text:00419e80 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:00419e83 e805000000 CALL __raise_exc_ex ;undefined __raise_exc_ex(uint * para...
.text:00419e88 83c41c ADD ESP,0x1c
.text:00419e8b 5d POP EBP
.text:00419e8c c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __raise_exc_ex *
;* *
;* Library: Visual Studio 2015 Release *
;************************************************************************************************
;undefined __raise_exc_ex(uint * param_1, uint * param_2, uint param_3, int param_4, undefined8 * param_5, undefined8 * param_6, int param_7)
;param_1 uint * 4 ;XREF[39,0]: 00419e92,00419e9e,00419eaa,00419eb8,00419ec8
; 00419ed9,00419eea,00419efb,00419f07,00419f1e
; 00419f30,00419f42,00419f57,00419f73,00419f7f
; 00419f8b,00419f97,00419fa3,00419fc6,00419fce
; 00419fdd,00419fe9,0041a005,0041a00d,0041a01a
; 0041a027,0041a03a,0041a046,0041a052,0041a058
; 0041a05e,0041a068,0041a072,0041a086,0041a08c
; 0041a092,0041a0a4,0041a0b1,0041a0c0
;param_2 uint * 8 ;XREF[1,0]: 00419f0b
;param_3 uint c ;XREF[1,0]: 00419eb0
;param_4 int 10 ;XREF[1,0]: 0041a02a
;param_5 undefined8 * 14 ;XREF[2,0]: 0041a04d,0041a081
;param_6 undefined8 * 18 ;XREF[2,0]: 0041a061,0041a095
;param_7 int 1c ;XREF[2,0]: 0041a040,0041a167
;XREF[2,0]: 00419b77,00419e83
.text:00419e8d 8bff MOV EDI,EDI
.text:00419e8f 55 PUSH EBP
.text:00419e90 8bec MOV EBP,ESP
.text:00419e92 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419e95 33c9 XOR ECX,ECX
.text:00419e97 53 PUSH EBX
.text:00419e98 33db XOR EBX,EBX
.text:00419e9a 43 INC EBX
.text:00419e9b 894804 MOV dword ptr [EAX + 0x4],ECX
.text:00419e9e 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419ea1 57 PUSH EDI
.text:00419ea2 bf0d0000c0 MOV EDI,0xc000000d
.text:00419ea7 894808 MOV dword ptr [EAX + 0x8],ECX
.text:00419eaa 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419ead 89480c MOV dword ptr [EAX + 0xc],ECX
.text:00419eb0 8b4d10 MOV ECX,dword ptr [EBP + param_3+0x4]
.text:00419eb3 f6c110 TEST CL,0x10
.text:00419eb6 740b JZ LAB_00419ec3
.text:00419eb8 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419ebb bf8f0000c0 MOV EDI,0xc000008f
.text:00419ec0 095804 OR dword ptr [EAX + 0x4],EBX
LAB_00419ec3: ;XREF[1,0]: 00419eb6
.text:00419ec3 f6c102 TEST CL,0x2
.text:00419ec6 740c JZ LAB_00419ed4
.text:00419ec8 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419ecb bf930000c0 MOV EDI,0xc0000093
.text:00419ed0 83480402 OR dword ptr [EAX + 0x4],0x2
LAB_00419ed4: ;XREF[1,0]: 00419ec6
.text:00419ed4 f6c101 TEST CL,0x1
.text:00419ed7 740c JZ LAB_00419ee5
.text:00419ed9 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419edc bf910000c0 MOV EDI,0xc0000091
.text:00419ee1 83480404 OR dword ptr [EAX + 0x4],0x4
LAB_00419ee5: ;XREF[1,0]: 00419ed7
.text:00419ee5 f6c104 TEST CL,0x4
.text:00419ee8 740c JZ LAB_00419ef6
.text:00419eea 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419eed bf8e0000c0 MOV EDI,0xc000008e
.text:00419ef2 83480408 OR dword ptr [EAX + 0x4],0x8
LAB_00419ef6: ;XREF[1,0]: 00419ee8
.text:00419ef6 f6c108 TEST CL,0x8
.text:00419ef9 740c JZ LAB_00419f07
.text:00419efb 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419efe bf900000c0 MOV EDI,0xc0000090
.text:00419f03 83480410 OR dword ptr [EAX + 0x4],0x10
LAB_00419f07: ;XREF[1,0]: 00419ef9
.text:00419f07 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00419f0a 56 PUSH ESI
.text:00419f0b 8b750c MOV ESI,dword ptr [EBP + param_2+0x4]
.text:00419f0e 8b06 MOV EAX,dword ptr [ESI]
.text:00419f10 c1e004 SHL EAX,0x4
.text:00419f13 f7d0 NOT EAX
.text:00419f15 334108 XOR EAX,dword ptr [ECX + 0x8]
.text:00419f18 83e010 AND EAX,0x10
.text:00419f1b 314108 XOR dword ptr [ECX + 0x8],EAX
.text:00419f1e 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00419f21 8b06 MOV EAX,dword ptr [ESI]
.text:00419f23 03c0 ADD EAX,EAX
.text:00419f25 f7d0 NOT EAX
.text:00419f27 334108 XOR EAX,dword ptr [ECX + 0x8]
.text:00419f2a 83e008 AND EAX,0x8
.text:00419f2d 314108 XOR dword ptr [ECX + 0x8],EAX
.text:00419f30 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00419f33 8b06 MOV EAX,dword ptr [ESI]
.text:00419f35 d1e8 SHR EAX,0x1
.text:00419f37 f7d0 NOT EAX
.text:00419f39 334108 XOR EAX,dword ptr [ECX + 0x8]
.text:00419f3c 83e004 AND EAX,0x4
.text:00419f3f 314108 XOR dword ptr [ECX + 0x8],EAX
.text:00419f42 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00419f45 8b06 MOV EAX,dword ptr [ESI]
.text:00419f47 c1e803 SHR EAX,0x3
.text:00419f4a f7d0 NOT EAX
.text:00419f4c 334108 XOR EAX,dword ptr [ECX + 0x8]
.text:00419f4f 83e002 AND EAX,0x2
.text:00419f52 314108 XOR dword ptr [ECX + 0x8],EAX
.text:00419f55 8b06 MOV EAX,dword ptr [ESI]
.text:00419f57 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00419f5a c1e805 SHR EAX,0x5
.text:00419f5d f7d0 NOT EAX
.text:00419f5f 334108 XOR EAX,dword ptr [ECX + 0x8]
.text:00419f62 23c3 AND EAX,EBX
.text:00419f64 314108 XOR dword ptr [ECX + 0x8],EAX
.text:00419f67 e864deffff CALL FUN_00417dd0 ;int FUN_00417dd0(void)
.text:00419f6c 8bd0 MOV EDX,EAX
.text:00419f6e f6c201 TEST DL,0x1
.text:00419f71 7407 JZ LAB_00419f7a
.text:00419f73 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00419f76 83490c10 OR dword ptr [ECX + 0xc],0x10
LAB_00419f7a: ;XREF[1,0]: 00419f71
.text:00419f7a f6c204 TEST DL,0x4
.text:00419f7d 7407 JZ LAB_00419f86
.text:00419f7f 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419f82 83480c08 OR dword ptr [EAX + 0xc],0x8
LAB_00419f86: ;XREF[1,0]: 00419f7d
.text:00419f86 f6c208 TEST DL,0x8
.text:00419f89 7407 JZ LAB_00419f92
.text:00419f8b 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419f8e 83480c04 OR dword ptr [EAX + 0xc],0x4
LAB_00419f92: ;XREF[1,0]: 00419f89
.text:00419f92 f6c210 TEST DL,0x10
.text:00419f95 7407 JZ LAB_00419f9e
.text:00419f97 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419f9a 83480c02 OR dword ptr [EAX + 0xc],0x2
LAB_00419f9e: ;XREF[1,0]: 00419f95
.text:00419f9e f6c220 TEST DL,0x20
.text:00419fa1 7406 JZ LAB_00419fa9
.text:00419fa3 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419fa6 09580c OR dword ptr [EAX + 0xc],EBX
LAB_00419fa9: ;XREF[1,0]: 00419fa1
.text:00419fa9 8b06 MOV EAX,dword ptr [ESI]
.text:00419fab b9000c0000 MOV ECX,0xc00
.text:00419fb0 23c1 AND EAX,ECX
.text:00419fb2 7435 JZ LAB_00419fe9
.text:00419fb4 3d00040000 CMP EAX,0x400
.text:00419fb9 7422 JZ LAB_00419fdd
.text:00419fbb 3d00080000 CMP EAX,0x800
.text:00419fc0 740c JZ LAB_00419fce
.text:00419fc2 3bc1 CMP EAX,ECX
.text:00419fc4 7529 JNZ LAB_00419fef
.text:00419fc6 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419fc9 830803 OR dword ptr [EAX],0x3
.text:00419fcc eb21 JMP LAB_00419fef
LAB_00419fce: ;XREF[1,0]: 00419fc0
.text:00419fce 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00419fd1 8b01 MOV EAX,dword ptr [ECX]
.text:00419fd3 83e0fe AND EAX,0xfffffffe
.text:00419fd6 83c802 OR EAX,0x2
LAB_00419fd9: ;XREF[1,0]: 00419fe7
.text:00419fd9 8901 MOV dword ptr [ECX],EAX
.text:00419fdb eb12 JMP LAB_00419fef
LAB_00419fdd: ;XREF[1,0]: 00419fb9
.text:00419fdd 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:00419fe0 8b01 MOV EAX,dword ptr [ECX]
.text:00419fe2 83e0fd AND EAX,0xfffffffd
.text:00419fe5 0bc3 OR EAX,EBX
.text:00419fe7 ebf0 JMP LAB_00419fd9
LAB_00419fe9: ;XREF[1,0]: 00419fb2
.text:00419fe9 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:00419fec 8320fc AND dword ptr [EAX],0xfffffffc
LAB_00419fef: ;XREF[3,0]: 00419fc4,00419fcc,00419fdb
.text:00419fef 8b06 MOV EAX,dword ptr [ESI]
.text:00419ff1 b900030000 MOV ECX,0x300
.text:00419ff6 23c1 AND EAX,ECX
.text:00419ff8 7420 JZ LAB_0041a01a
.text:00419ffa 3d00020000 CMP EAX,0x200
.text:00419fff 740c JZ LAB_0041a00d
.text:0041a001 3bc1 CMP EAX,ECX
.text:0041a003 7522 JNZ LAB_0041a027
.text:0041a005 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a008 8320e3 AND dword ptr [EAX],0xffffffe3
.text:0041a00b eb1a JMP LAB_0041a027
LAB_0041a00d: ;XREF[1,0]: 00419fff
.text:0041a00d 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0041a010 8b01 MOV EAX,dword ptr [ECX]
.text:0041a012 83e0e7 AND EAX,0xffffffe7
.text:0041a015 83c804 OR EAX,0x4
.text:0041a018 eb0b JMP LAB_0041a025
LAB_0041a01a: ;XREF[1,0]: 00419ff8
.text:0041a01a 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0041a01d 8b01 MOV EAX,dword ptr [ECX]
.text:0041a01f 83e0eb AND EAX,0xffffffeb
.text:0041a022 83c808 OR EAX,0x8
LAB_0041a025: ;XREF[1,0]: 0041a018
.text:0041a025 8901 MOV dword ptr [ECX],EAX
LAB_0041a027: ;XREF[2,0]: 0041a003,0041a00b
.text:0041a027 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a02a 8b4d14 MOV ECX,dword ptr [EBP + param_4+0x4]
.text:0041a02d c1e105 SHL ECX,0x5
.text:0041a030 3308 XOR ECX,dword ptr [EAX]
.text:0041a032 81e1e0ff0100 AND ECX,0x1ffe0
.text:0041a038 3108 XOR dword ptr [EAX],ECX
.text:0041a03a 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a03d 095820 OR dword ptr [EAX + 0x20],EBX
.text:0041a040 837d2000 CMP dword ptr [EBP + param_7+0x4],0x0
.text:0041a044 742c JZ LAB_0041a072
.text:0041a046 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a049 836020e1 AND dword ptr [EAX + 0x20],0xffffffe1
.text:0041a04d 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:0041a050 d900 FLD dword ptr [EAX]
.text:0041a052 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a055 d95810 FSTP dword ptr [EAX + 0x10]
.text:0041a058 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a05b 095860 OR dword ptr [EAX + 0x60],EBX
.text:0041a05e 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a061 8b5d1c MOV EBX,dword ptr [EBP + param_6+0x4]
.text:0041a064 836060e1 AND dword ptr [EAX + 0x60],0xffffffe1
.text:0041a068 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a06b d903 FLD dword ptr [EBX]
.text:0041a06d d95850 FSTP dword ptr [EAX + 0x50]
.text:0041a070 eb3a JMP LAB_0041a0ac
LAB_0041a072: ;XREF[1,0]: 0041a044
.text:0041a072 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0041a075 8b4120 MOV EAX,dword ptr [ECX + 0x20]
.text:0041a078 83e0e3 AND EAX,0xffffffe3
.text:0041a07b 83c802 OR EAX,0x2
.text:0041a07e 894120 MOV dword ptr [ECX + 0x20],EAX
.text:0041a081 8b4518 MOV EAX,dword ptr [EBP + param_5+0x4]
.text:0041a084 dd00 FLD qword ptr [EAX]
.text:0041a086 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a089 dd5810 FSTP qword ptr [EAX + 0x10]
.text:0041a08c 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a08f 095860 OR dword ptr [EAX + 0x60],EBX
.text:0041a092 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0041a095 8b5d1c MOV EBX,dword ptr [EBP + param_6+0x4]
.text:0041a098 8b4160 MOV EAX,dword ptr [ECX + 0x60]
.text:0041a09b 83e0e3 AND EAX,0xffffffe3
.text:0041a09e 83c802 OR EAX,0x2
.text:0041a0a1 894160 MOV dword ptr [ECX + 0x60],EAX
.text:0041a0a4 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a0a7 dd03 FLD qword ptr [EBX]
.text:0041a0a9 dd5850 FSTP qword ptr [EAX + 0x50]
LAB_0041a0ac: ;XREF[1,0]: 0041a070
.text:0041a0ac e88bdcffff CALL FUN_00417d3c ;int FUN_00417d3c(void)
.text:0041a0b1 8d4508 LEA EAX=>param_1,[EBP + 0x8]
.text:0041a0b4 50 PUSH EAX ;ULONG_PTR * lpArguments for RaiseExc...
.text:0041a0b5 6a01 PUSH 0x1 ;DWORD nNumberOfArguments for RaiseEx...
.text:0041a0b7 6a00 PUSH 0x0 ;DWORD dwExceptionFlags for RaiseExce...
.text:0041a0b9 57 PUSH EDI ;DWORD dwExceptionCode for RaiseExcep...
.text:0041a0ba ff1570b04100 CALL dword ptr [->KERNEL32.DLL::RaiseExcep...;= 0002251a
.text:0041a0c0 8b4d08 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0041a0c3 f6410810 TEST byte ptr [ECX + 0x8],0x10
.text:0041a0c7 7403 JZ LAB_0041a0cc
.text:0041a0c9 8326fe AND dword ptr [ESI],0xfffffffe
LAB_0041a0cc: ;XREF[1,0]: 0041a0c7
.text:0041a0cc f6410808 TEST byte ptr [ECX + 0x8],0x8
.text:0041a0d0 7403 JZ LAB_0041a0d5
.text:0041a0d2 8326fb AND dword ptr [ESI],0xfffffffb
LAB_0041a0d5: ;XREF[1,0]: 0041a0d0
.text:0041a0d5 f6410804 TEST byte ptr [ECX + 0x8],0x4
.text:0041a0d9 7403 JZ LAB_0041a0de
.text:0041a0db 8326f7 AND dword ptr [ESI],0xfffffff7
LAB_0041a0de: ;XREF[1,0]: 0041a0d9
.text:0041a0de f6410802 TEST byte ptr [ECX + 0x8],0x2
.text:0041a0e2 7403 JZ LAB_0041a0e7
.text:0041a0e4 8326ef AND dword ptr [ESI],0xffffffef
LAB_0041a0e7: ;XREF[1,0]: 0041a0e2
.text:0041a0e7 f6410801 TEST byte ptr [ECX + 0x8],0x1
.text:0041a0eb 7403 JZ LAB_0041a0f0
.text:0041a0ed 8326df AND dword ptr [ESI],0xffffffdf
LAB_0041a0f0: ;XREF[1,0]: 0041a0eb
.text:0041a0f0 8b01 MOV EAX,dword ptr [ECX]
.text:0041a0f2 bafff3ffff MOV EDX,0xfffff3ff
.text:0041a0f7 83e003 AND EAX,0x3
.text:0041a0fa 83e800 SUB EAX,0x0
.text:0041a0fd 7435 JZ LAB_0041a134
.text:0041a0ff 83e801 SUB EAX,0x1
.text:0041a102 7422 JZ LAB_0041a126
.text:0041a104 83e801 SUB EAX,0x1
.text:0041a107 740d JZ LAB_0041a116
.text:0041a109 83e801 SUB EAX,0x1
.text:0041a10c 7528 JNZ LAB_0041a136
.text:0041a10e 810e000c0000 OR dword ptr [ESI],0xc00
.text:0041a114 eb20 JMP LAB_0041a136
LAB_0041a116: ;XREF[1,0]: 0041a107
.text:0041a116 8b06 MOV EAX,dword ptr [ESI]
.text:0041a118 25fffbffff AND EAX,0xfffffbff
.text:0041a11d 0d00080000 OR EAX,0x800
LAB_0041a122: ;XREF[1,0]: 0041a132
.text:0041a122 8906 MOV dword ptr [ESI],EAX
.text:0041a124 eb10 JMP LAB_0041a136
LAB_0041a126: ;XREF[1,0]: 0041a102
.text:0041a126 8b06 MOV EAX,dword ptr [ESI]
.text:0041a128 25fff7ffff AND EAX,0xfffff7ff
.text:0041a12d 0d00040000 OR EAX,0x400
.text:0041a132 ebee JMP LAB_0041a122
LAB_0041a134: ;XREF[1,0]: 0041a0fd
.text:0041a134 2116 AND dword ptr [ESI],EDX
LAB_0041a136: ;XREF[3,0]: 0041a10c,0041a114,0041a124
.text:0041a136 8b01 MOV EAX,dword ptr [ECX]
.text:0041a138 c1e802 SHR EAX,0x2
.text:0041a13b 83e007 AND EAX,0x7
.text:0041a13e 83e800 SUB EAX,0x0
.text:0041a141 7419 JZ LAB_0041a15c
.text:0041a143 83e801 SUB EAX,0x1
.text:0041a146 7409 JZ LAB_0041a151
.text:0041a148 83e801 SUB EAX,0x1
.text:0041a14b 751a JNZ LAB_0041a167
.text:0041a14d 2116 AND dword ptr [ESI],EDX
.text:0041a14f eb16 JMP LAB_0041a167
LAB_0041a151: ;XREF[1,0]: 0041a146
.text:0041a151 8b06 MOV EAX,dword ptr [ESI]
.text:0041a153 23c2 AND EAX,EDX
.text:0041a155 0d00020000 OR EAX,0x200
.text:0041a15a eb09 JMP LAB_0041a165
LAB_0041a15c: ;XREF[1,0]: 0041a141
.text:0041a15c 8b06 MOV EAX,dword ptr [ESI]
.text:0041a15e 23c2 AND EAX,EDX
.text:0041a160 0d00030000 OR EAX,0x300
LAB_0041a165: ;XREF[1,0]: 0041a15a
.text:0041a165 8906 MOV dword ptr [ESI],EAX
LAB_0041a167: ;XREF[2,0]: 0041a14b,0041a14f
.text:0041a167 837d2000 CMP dword ptr [EBP + param_7+0x4],0x0
.text:0041a16b 5e POP ESI
.text:0041a16c 7407 JZ LAB_0041a175
.text:0041a16e d94150 FLD dword ptr [ECX + 0x50]
.text:0041a171 d91b FSTP dword ptr [EBX]
.text:0041a173 eb05 JMP LAB_0041a17a
LAB_0041a175: ;XREF[1,0]: 0041a16c
.text:0041a175 dd4150 FLD qword ptr [ECX + 0x50]
.text:0041a178 dd1b FSTP qword ptr [EBX]
LAB_0041a17a: ;XREF[1,0]: 0041a173
.text:0041a17a 5f POP EDI
.text:0041a17b 5b POP EBX
.text:0041a17c 5d POP EBP
.text:0041a17d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041a17e(int param_1)
;param_1 int 4 ;XREF[1,0]: 0041a183
;XREF[4,0]: 00419abb,00419bc0,0041a1df,0041a243
.text:0041a17e 8bff MOV EDI,EDI
.text:0041a180 55 PUSH EBP
.text:0041a181 8bec MOV EBP,ESP
.text:0041a183 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a186 83e801 SUB EAX,0x1
.text:0041a189 7417 JZ LAB_0041a1a2
.text:0041a18b 83e801 SUB EAX,0x1
.text:0041a18e 7405 JZ LAB_0041a195
.text:0041a190 83e801 SUB EAX,0x1
.text:0041a193 7518 JNZ LAB_0041a1ad
LAB_0041a195: ;XREF[1,0]: 0041a18e
.text:0041a195 e86a41ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0041a19a c70022000000 MOV dword ptr [EAX],0x22
.text:0041a1a0 5d POP EBP
.text:0041a1a1 c3 RET
LAB_0041a1a2: ;XREF[1,0]: 0041a189
.text:0041a1a2 e85d41ffff CALL FUN_0040e304 ;undefined * FUN_0040e304(void)
.text:0041a1a7 c70021000000 MOV dword ptr [EAX],0x21
LAB_0041a1ad: ;XREF[1,0]: 0041a193
.text:0041a1ad 5d POP EBP
.text:0041a1ae c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;float10 * FUN_0041a1af(float10 * __return_storage_ptr__, int param_1, int param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6, undefined4 param_7, undefined4 param_8)
;__return_s... float10 * 4 ;XREF[2,0]: 0041a1dc,0041a210
;param_1 int 8 ;XREF[1,0]: 0041a1b4
;param_2 int c ;XREF[1,0]: 0041a1fa
;param_3 undefined4 10 ;XREF[1,0]: 0041a200
;param_4 undefined4 14 ;XREF[1,0]: 0041a206
;param_5 undefined4 18 ;XREF[1,0]: 0041a20c
;param_6 undefined4 1c ;XREF[2,0]: 0041a1e4,0041a216
;param_7 undefined4 20 ;XREF[1,0]: 0041a224
;param_8 undefined4 24 ;XREF[2,0]: 0041a1d4,0041a21e
;local_c undefined8 -c ;XREF[2,1]: 0041a221,0041a249,0041a22a
;local_10 undefined4 -10 ;XREF[1,0]: 0041a213
;local_14 undefined4 -14 ;XREF[1,0]: 0041a209
;local_18 undefined4 -18 ;XREF[1,0]: 0041a203
;local_1c undefined4 -1c ;XREF[1,0]: 0041a1fd
;local_20 undefined4 -20 ;XREF[2,0]: 0041a1cb,0041a1f3
;local_24 undefined4 -24 ;XREF[2,0]: 0041a227,0041a232
;XREF[1,0]: 00419bb5
.text:0041a1af 8bff MOV EDI,EDI
.text:0041a1b1 55 PUSH EBP
.text:0041a1b2 8bec MOV EBP,ESP
.text:0041a1b4 8b4d0c MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0041a1b7 83ec20 SUB ESP,0x20
.text:0041a1ba 33c0 XOR EAX,EAX
LAB_0041a1bc: ;XREF[1,0]: 0041a1c9
; FWD[2,0]: 00420918,00420920
.text:0041a1bc 390cc5180... CMP dword ptr [EAX*0...,ECX ;= 00000014h
;= 0000001Dh
.text:0041a1c3 7427 JZ LAB_0041a1ec
.text:0041a1c5 40 INC EAX
.text:0041a1c6 83f81d CMP EAX,0x1d
.text:0041a1c9 7cf1 JL LAB_0041a1bc
.text:0041a1cb 8365e400 AND dword ptr [EBP + local_20+0x4],0x0
LAB_0041a1cf: ;XREF[1,0]: 0041a1f8
.text:0041a1cf 68ffff0000 PUSH 0xffff
.text:0041a1d4 ff7528 PUSH dword ptr [EBP + param_8+0x4]
.text:0041a1d7 e871dbffff CALL __ctrlfp ;int __ctrlfp(void)
.text:0041a1dc ff7508 PUSH dword ptr [EBP + __return_storage_ptr...
.text:0041a1df e89affffff CALL FUN_0041a17e ;undefined FUN_0041a17e(int param_1)
.text:0041a1e4 dd4520 FLD qword ptr [EBP + param_6+0x4]
.text:0041a1e7 83c40c ADD ESP,0xc
.text:0041a1ea c9 LEAVE
.text:0041a1eb c3 RET
LAB_0041a1ec: ;XREF[1,0]: 0041a1c3
.text:0041a1ec 8b04c51c0... MOV EAX,dword ptr [EAX*0x8 + .rdata:PTR_D...;= 004200c0
.text:0041a1f3 8945e4 MOV dword ptr [EBP +...,EAX=>.rdata:DAT_0...;= 65h e
.text:0041a1f6 85c0 TEST EAX,EAX
.text:0041a1f8 74d5 JZ LAB_0041a1cf
.text:0041a1fa 8b4510 MOV EAX,dword ptr [EBP + param_2+0x4]
.text:0041a1fd 8945e8 MOV dword ptr [EBP + local_1c+0x4],EAX
.text:0041a200 8b4514 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0041a203 8945ec MOV dword ptr [EBP + local_18+0x4],EAX
.text:0041a206 8b4518 MOV EAX,dword ptr [EBP + param_4+0x4]
.text:0041a209 8945f0 MOV dword ptr [EBP + local_14+0x4],EAX
.text:0041a20c 8b451c MOV EAX,dword ptr [EBP + param_5+0x4]
.text:0041a20f 56 PUSH ESI
.text:0041a210 8b7508 MOV ESI,dword ptr [EBP + __return_storage...
.text:0041a213 8945f4 MOV dword ptr [EBP + local_10+0x4],EAX
.text:0041a216 8b4520 MOV EAX,dword ptr [EBP + param_6+0x4]
.text:0041a219 68ffff0000 PUSH 0xffff
.text:0041a21e ff7528 PUSH dword ptr [EBP + param_8+0x4]
.text:0041a221 8945f8 MOV dword ptr [EBP + local_c+0x4],EAX
.text:0041a224 8b4524 MOV EAX,dword ptr [EBP + param_7+0x4]
.text:0041a227 8975e0 MOV dword ptr [EBP + local_24+0x4],ESI
.text:0041a22a 8945fc MOV dword ptr [EBP + local_c+0x8],EAX
.text:0041a22d e81bdbffff CALL __ctrlfp ;int __ctrlfp(void)
.text:0041a232 8d45e0 LEA EAX=>local_24,[EBP + -0x20]
.text:0041a235 50 PUSH EAX
.text:0041a236 e88c2bffff CALL FUN_0040cdc7 ;undefined4 FUN_0040cdc7(undefined4 p...
.text:0041a23b 83c40c ADD ESP,0xc
.text:0041a23e 85c0 TEST EAX,EAX
.text:0041a240 7507 JNZ LAB_0041a249
.text:0041a242 56 PUSH ESI
.text:0041a243 e836ffffff CALL FUN_0041a17e ;undefined FUN_0041a17e(int param_1)
.text:0041a248 59 POP ECX
LAB_0041a249: ;XREF[1,0]: 0041a240
.text:0041a249 dd45f8 FLD qword ptr [EBP + local_c+0x4]
.text:0041a24c 5e POP ESI
.text:0041a24d c9 LEAVE
.text:0041a24e c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041a24f(float10 * param_1, uint param_2, int * param_3)
;param_1 float10 * 4 ;XREF[4,0]: 0041a254,0041a27e,0041a2c1,0041a2e1
;param_2 uint 8 ;XREF[3,6]: 0041a27b,0041a2a7,0041a2b1,0041a26d,0041a29f
; 0041a2b7,0041a2bd,0041a2d1,0041a2dd
;param_3 int * c ;XREF[1,0]: 0041a319
;local_18 undefined8 -18 ;XREF[2,0]: 0041a2e8,0041a2fb
;XREF[1,0]: 00419d0e
.text:0041a24f 8bff MOV EDI,EDI
.text:0041a251 55 PUSH EBP
.text:0041a252 8bec MOV EBP,ESP
.text:0041a254 dd4508 FLD qword ptr [EBP + param_1+0x4]
.text:0041a257 d9ee FLDZ
.text:0041a259 dde1 FUCOM
.text:0041a25b dfe0 FNSTSW AX
.text:0041a25d 56 PUSH ESI
.text:0041a25e f6c444 TEST AH,0x44
.text:0041a261 7a09 JP LAB_0041a26c
.text:0041a263 ddd9 FSTP ST1
.text:0041a265 33f6 XOR ESI,ESI
.text:0041a267 e9ad000000 JMP LAB_0041a319
LAB_0041a26c: ;XREF[1,0]: 0041a261
.text:0041a26c 57 PUSH EDI
.text:0041a26d 668b7d0e MOV DI,word ptr [EBP + param_2+0x6]
.text:0041a271 0fb7c7 MOVZX EAX,DI
.text:0041a274 a9f07f0000 TEST EAX,0x7ff0
.text:0041a279 757a JNZ LAB_0041a2f5
.text:0041a27b 8b4d0c MOV ECX,dword ptr [EBP + param_2+0x4]
.text:0041a27e 8b5508 MOV EDX,dword ptr [EBP + param_1+0x4]
.text:0041a281 f7c1ffff0f00 TEST ECX,0xfffff
.text:0041a287 7504 JNZ LAB_0041a28d
.text:0041a289 85d2 TEST EDX,EDX
.text:0041a28b 7468 JZ LAB_0041a2f5
LAB_0041a28d: ;XREF[1,0]: 0041a287
.text:0041a28d ded9 FCOMPP
.text:0041a28f be03fcffff MOV ESI,0xfffffc03
.text:0041a294 dfe0 FNSTSW AX
.text:0041a296 53 PUSH EBX
.text:0041a297 33db XOR EBX,EBX
.text:0041a299 f6c441 TEST AH,0x41
.text:0041a29c 7501 JNZ LAB_0041a29f
.text:0041a29e 43 INC EBX
LAB_0041a29f: ;XREF[1,0]: 0041a29c
.text:0041a29f f6450e10 TEST byte ptr [EBP + param_2+0x6],0x10
.text:0041a2a3 751f JNZ LAB_0041a2c4
LAB_0041a2a5: ;XREF[1,0]: 0041a2bb
.text:0041a2a5 03c9 ADD ECX,ECX
.text:0041a2a7 894d0c MOV dword ptr [EBP + param_2+0x4],ECX
.text:0041a2aa 85d2 TEST EDX,EDX
.text:0041a2ac 7906 JNS LAB_0041a2b4
.text:0041a2ae 83c901 OR ECX,0x1
.text:0041a2b1 894d0c MOV dword ptr [EBP + param_2+0x4],ECX
LAB_0041a2b4: ;XREF[1,0]: 0041a2ac
.text:0041a2b4 03d2 ADD EDX,EDX
.text:0041a2b6 4e DEC ESI
.text:0041a2b7 f6450e10 TEST byte ptr [EBP + param_2+0x6],0x10
.text:0041a2bb 74e8 JZ LAB_0041a2a5
.text:0041a2bd 668b7d0e MOV DI,word ptr [EBP + param_2+0x6]
.text:0041a2c1 895508 MOV dword ptr [EBP + param_1+0x4],EDX
LAB_0041a2c4: ;XREF[1,0]: 0041a2a3
.text:0041a2c4 b8efff0000 MOV EAX,0xffef
.text:0041a2c9 6623f8 AND DI,AX
.text:0041a2cc 85db TEST EBX,EBX
.text:0041a2ce 0fb7c7 MOVZX EAX,DI
.text:0041a2d1 66897d0e MOV word ptr [EBP + param_2+0x6],DI
.text:0041a2d5 5b POP EBX
.text:0041a2d6 7409 JZ LAB_0041a2e1
.text:0041a2d8 0d00800000 OR EAX,0x8000
.text:0041a2dd 6689450e MOV word ptr [EBP + param_2+0x6],AX
LAB_0041a2e1: ;XREF[1,0]: 0041a2d6
.text:0041a2e1 dd4508 FLD qword ptr [EBP + param_1+0x4]
.text:0041a2e4 6a00 PUSH 0x0
.text:0041a2e6 51 PUSH ECX
.text:0041a2e7 51 PUSH ECX
.text:0041a2e8 dd1c24 FSTP qword ptr [ESP]=>local_18
.text:0041a2eb e831000000 CALL __set_exp ;float10 * __set_exp(float10 * __retu...
.text:0041a2f0 83c40c ADD ESP,0xc
.text:0041a2f3 eb23 JMP LAB_0041a318
LAB_0041a2f5: ;XREF[2,0]: 0041a279,0041a28b
.text:0041a2f5 6a00 PUSH 0x0
.text:0041a2f7 51 PUSH ECX
.text:0041a2f8 ddd8 FSTP ST0
.text:0041a2fa 51 PUSH ECX
.text:0041a2fb dd1c24 FSTP qword ptr [ESP]=>local_18
.text:0041a2fe e81e000000 CALL __set_exp ;float10 * __set_exp(float10 * __retu...
.text:0041a303 0fb7f7 MOVZX ESI,DI
.text:0041a306 83c40c ADD ESP,0xc
.text:0041a309 c1ee04 SHR ESI,0x4
.text:0041a30c 81e6ff070000 AND ESI,0x7ff
.text:0041a312 81eefe030000 SUB ESI,0x3fe
LAB_0041a318: ;XREF[1,0]: 0041a2f3
.text:0041a318 5f POP EDI
LAB_0041a319: ;XREF[1,0]: 0041a267
.text:0041a319 8b4510 MOV EAX,dword ptr [EBP + param_3+0x4]
.text:0041a31c 8930 MOV dword ptr [EAX],ESI
.text:0041a31e 5e POP ESI
.text:0041a31f 5d POP EBP
.text:0041a320 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __set_exp *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;float10 * __set_exp(float10 * __return_storage_ptr__, undefined8 param_1, short param_2)
;__return_s... float10 * 4 ;XREF[1,0]: 0041a32f
;param_1 undefined8 c ;XREF[1,0]: 0041a328
;param_2 short 14
;local_c undefined8 -c ;XREF[2,1]: 0041a337,0041a349,0041a345
;XREF[2,0]: 0041a2eb,0041a2fe
.text:0041a321 8bff MOV EDI,EDI
.text:0041a323 55 PUSH EBP
.text:0041a324 8bec MOV EBP,ESP
.text:0041a326 51 PUSH ECX
.text:0041a327 51 PUSH ECX
.text:0041a328 8b4d10 MOV ECX,dword ptr [EBP + param_1+0x4]
.text:0041a32b 0fb7450e MOVZX EAX,word ptr [EBP + Stack[0xa]+0x4]
.text:0041a32f dd4508 FLD qword ptr [EBP + __return_storage_ptr...
.text:0041a332 250f800000 AND EAX,0x800f
.text:0041a337 dd5df8 FSTP qword ptr [EBP + local_c+0x4]
.text:0041a33a 8d89fe030000 LEA ECX,[ECX + 0x3fe]
.text:0041a340 c1e104 SHL ECX,0x4
.text:0041a343 0bc8 OR ECX,EAX
.text:0041a345 66894dfe MOV word ptr [EBP + local_c+0xa],CX
.text:0041a349 dd45f8 FLD qword ptr [EBP + local_c+0x4]
.text:0041a34c c9 LEAVE
.text:0041a34d c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;byte FUN_0041a34e(int param_1, uint param_2)
;param_1 int 4 ;XREF[1,0]: 0041a35a
;param_2 uint 8 ;XREF[3,1]: 0041a353,0041a366,0041a397,0041a378
;XREF[2,0]: 0041973c,0041a3d2
.text:0041a34e 8bff MOV EDI,EDI
.text:0041a350 55 PUSH EBP
.text:0041a351 8bec MOV EBP,ESP
.text:0041a353 817d0c000... CMP dword ptr [EBP + param_2+0x4],0x7ff00000
.text:0041a35a 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a35d 7507 JNZ LAB_0041a366
.text:0041a35f 85c0 TEST EAX,EAX
.text:0041a361 7515 JNZ LAB_0041a378
.text:0041a363 40 INC EAX
.text:0041a364 5d POP EBP
.text:0041a365 c3 RET
LAB_0041a366: ;XREF[1,0]: 0041a35d
.text:0041a366 817d0c000... CMP dword ptr [EBP + param_2+0x4],0xfff00000
.text:0041a36d 7509 JNZ LAB_0041a378
.text:0041a36f 85c0 TEST EAX,EAX
.text:0041a371 7505 JNZ LAB_0041a378
.text:0041a373 6a02 PUSH 0x2
LAB_0041a375: ;XREF[2,0]: 0041a38b,0041a3ab
.text:0041a375 58 POP EAX
.text:0041a376 5d POP EBP
.text:0041a377 c3 RET
LAB_0041a378: ;XREF[3,0]: 0041a361,0041a36d,0041a371
.text:0041a378 668b4d0e MOV CX,word ptr [EBP + param_2+0x6]
.text:0041a37c baf87f0000 MOV EDX,0x7ff8
.text:0041a381 6623ca AND CX,DX
.text:0041a384 663bca CMP CX,DX
.text:0041a387 7504 JNZ LAB_0041a38d
.text:0041a389 6a03 PUSH 0x3
.text:0041a38b ebe8 JMP LAB_0041a375
LAB_0041a38d: ;XREF[1,0]: 0041a387
.text:0041a38d baf07f0000 MOV EDX,0x7ff0
.text:0041a392 663bca CMP CX,DX
.text:0041a395 7516 JNZ LAB_0041a3ad
.text:0041a397 f7450cfff... TEST dword ptr [EBP + param_2+0x4],0x7ffff
.text:0041a39e 7509 JNZ LAB_0041a3a9
.text:0041a3a0 f7d8 NEG EAX
.text:0041a3a2 1bc0 SBB EAX,EAX
.text:0041a3a4 83e004 AND EAX,0x4
.text:0041a3a7 5d POP EBP
.text:0041a3a8 c3 RET
LAB_0041a3a9: ;XREF[1,0]: 0041a39e
.text:0041a3a9 6a04 PUSH 0x4
.text:0041a3ab ebc8 JMP LAB_0041a375
LAB_0041a3ad: ;XREF[1,0]: 0041a395
.text:0041a3ad 33c0 XOR EAX,EAX
.text:0041a3af 5d POP EBP
.text:0041a3b0 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __fpclass *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;int __fpclass(double _X)
;_X double 4 ;XREF[3,2]: 0041a3ca,0041a414,0041a429,0041a3b6,0041a40b
;local_c undefined8 -c ;XREF[1,0]: 0041a3cf
;XREF[1,0]: 00419840
.text:0041a3b1 8bff MOV EDI,EDI
.text:0041a3b3 55 PUSH EBP
.text:0041a3b4 8bec MOV EBP,ESP
.text:0041a3b6 668b4d0e MOV CX,word ptr [EBP + _X+0xa]
.text:0041a3ba baf07f0000 MOV EDX,0x7ff0
.text:0041a3bf 668bc1 MOV AX,CX
.text:0041a3c2 6623c2 AND AX,DX
.text:0041a3c5 663bc2 CMP AX,DX
.text:0041a3c8 7533 JNZ LAB_0041a3fd
.text:0041a3ca dd4508 FLD qword ptr [EBP + _X+0x4]
.text:0041a3cd 51 PUSH ECX
.text:0041a3ce 51 PUSH ECX
.text:0041a3cf dd1c24 FSTP qword ptr [ESP]=>local_c
.text:0041a3d2 e877ffffff CALL FUN_0041a34e ;byte FUN_0041a34e(int param_1, uint ...
.text:0041a3d7 59 POP ECX
.text:0041a3d8 59 POP ECX
.text:0041a3d9 83e801 SUB EAX,0x1
.text:0041a3dc 7418 JZ LAB_0041a3f6
.text:0041a3de 83e801 SUB EAX,0x1
.text:0041a3e1 740e JZ LAB_0041a3f1
.text:0041a3e3 83e801 SUB EAX,0x1
.text:0041a3e6 7405 JZ LAB_0041a3ed
.text:0041a3e8 33c0 XOR EAX,EAX
.text:0041a3ea 40 INC EAX
.text:0041a3eb 5d POP EBP
.text:0041a3ec c3 RET
LAB_0041a3ed: ;XREF[1,0]: 0041a3e6
.text:0041a3ed 6a02 PUSH 0x2
.text:0041a3ef eb02 JMP LAB_0041a3f3
LAB_0041a3f1: ;XREF[1,0]: 0041a3e1
.text:0041a3f1 6a04 PUSH 0x4
LAB_0041a3f3: ;XREF[1,0]: 0041a3ef
.text:0041a3f3 58 POP EAX
.text:0041a3f4 5d POP EBP
.text:0041a3f5 c3 RET
LAB_0041a3f6: ;XREF[1,0]: 0041a3dc
.text:0041a3f6 b800020000 MOV EAX,0x200
.text:0041a3fb 5d POP EBP
.text:0041a3fc c3 RET
LAB_0041a3fd: ;XREF[1,0]: 0041a3c8
.text:0041a3fd 0fb7c9 MOVZX ECX,CX
.text:0041a400 81e100800000 AND ECX,0x8000
.text:0041a406 6685c0 TEST AX,AX
.text:0041a409 751e JNZ LAB_0041a429
.text:0041a40b f7450cfff... TEST dword ptr [EBP + _X+0x8],0xfffff
.text:0041a412 7506 JNZ LAB_0041a41a
.text:0041a414 837d0800 CMP dword ptr [EBP + _X+0x4],0x0
.text:0041a418 740f JZ LAB_0041a429
LAB_0041a41a: ;XREF[1,0]: 0041a412
.text:0041a41a f7d9 NEG ECX
.text:0041a41c 1bc9 SBB ECX,ECX
.text:0041a41e 83e190 AND ECX,0xffffff90
.text:0041a421 8d8180000000 LEA EAX,[ECX + 0x80]
.text:0041a427 5d POP EBP
.text:0041a428 c3 RET
LAB_0041a429: ;XREF[2,0]: 0041a409,0041a418
.text:0041a429 dd4508 FLD qword ptr [EBP + _X+0x4]
.text:0041a42c d9ee FLDZ
.text:0041a42e dae9 FUCOMPP
.text:0041a430 dfe0 FNSTSW AX
.text:0041a432 f6c444 TEST AH,0x44
.text:0041a435 7a0c JP LAB_0041a443
.text:0041a437 f7d9 NEG ECX
.text:0041a439 1bc9 SBB ECX,ECX
.text:0041a43b 83e1e0 AND ECX,0xffffffe0
.text:0041a43e 8d4140 LEA EAX,[ECX + 0x40]
.text:0041a441 5d POP EBP
.text:0041a442 c3 RET
LAB_0041a443: ;XREF[1,0]: 0041a435
.text:0041a443 f7d9 NEG ECX
.text:0041a445 1bc9 SBB ECX,ECX
.text:0041a447 81e108ffffff AND ECX,0xffffff08
.text:0041a44d 8d8100010000 LEA EAX,[ECX + 0x100]
.text:0041a453 5d POP EBP
.text:0041a454 c3 RET
.text:0041a455 ccccccccc... align align(11)
;************************************************************************************************
;* Library Function - Single Match *
;* __FindPESection *
;* *
;* Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release*
;************************************************************************************************
;PIMAGE_SECTION_HEADER __FindPESection(PBYTE pImageBase, DWORD_PTR rva)
;pImageBase PBYTE 4 ;XREF[1,0]: 0041a463
;rva DWORD_PTR 8 ;XREF[1,0]: 0041a481
;XREF[1,0]: 0041a509
.text:0041a460 55 PUSH EBP
.text:0041a461 8bec MOV EBP,ESP
.text:0041a463 8b4508 MOV EAX,dword ptr [EBP + pImageBase+0x4]
.text:0041a466 33d2 XOR EDX,EDX
.text:0041a468 53 PUSH EBX
.text:0041a469 56 PUSH ESI
.text:0041a46a 57 PUSH EDI
.text:0041a46b 8b483c MOV ECX,dword ptr [EAX + 0x3c]
.text:0041a46e 03c8 ADD ECX,EAX
.text:0041a470 0fb74114 MOVZX EAX,word ptr [ECX + 0x14]
.text:0041a474 0fb75906 MOVZX EBX,word ptr [ECX + 0x6]
.text:0041a478 83c018 ADD EAX,0x18
.text:0041a47b 03c1 ADD EAX,ECX
.text:0041a47d 85db TEST EBX,EBX
.text:0041a47f 741b JZ LAB_0041a49c
.text:0041a481 8b7d0c MOV EDI,dword ptr [EBP + rva+0x4]
LAB_0041a484: ;XREF[1,0]: 0041a49a
.text:0041a484 8b700c MOV ESI,dword ptr [EAX + 0xc]
.text:0041a487 3bfe CMP EDI,ESI
.text:0041a489 7209 JC LAB_0041a494
.text:0041a48b 8b4808 MOV ECX,dword ptr [EAX + 0x8]
.text:0041a48e 03ce ADD ECX,ESI
.text:0041a490 3bf9 CMP EDI,ECX
.text:0041a492 720a JC LAB_0041a49e
LAB_0041a494: ;XREF[1,0]: 0041a489
.text:0041a494 42 INC EDX
.text:0041a495 83c028 ADD EAX,0x28
.text:0041a498 3bd3 CMP EDX,EBX
.text:0041a49a 72e8 JC LAB_0041a484
LAB_0041a49c: ;XREF[1,0]: 0041a47f
.text:0041a49c 33c0 XOR EAX,EAX
LAB_0041a49e: ;XREF[1,0]: 0041a492
.text:0041a49e 5f POP EDI
.text:0041a49f 5e POP ESI
.text:0041a4a0 5b POP EBX
.text:0041a4a1 5d POP EBP
.text:0041a4a2 c3 RET
.text:0041a4a3 ccccccccc... align align(13)
;************************************************************************************************
;* Library Function - Single Match *
;* __IsNonwritableInCurrentImage *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;BOOL __IsNonwritableInCurrentImage(PBYTE pTarget)
;pTarget PBYTE 4 ;XREF[1,0]: 0041a4fb
;local_8 undefined4 -8 ;XREF[3,0]: 0041a4e3,0041a520,0041a54f
;local_c undefined4 -c ;XREF[1,0]: 0041a4d1
;local_14 undefined4 -14 ;XREF[3,0]: 0041a4d7,0041a527,0041a558
;local_1c undefined4 -1c ;XREF[1,0]: 0041a4e0
;XREF[1,0]: 00402393
.text:0041a4b0 55 PUSH EBP
.text:0041a4b1 8bec MOV EBP,ESP
.text:0041a4b3 6afe PUSH -0x2
.text:0041a4b5 6880214200 PUSH .rdata:DAT_00422180 ;= FEh
.text:0041a4ba 68a0224000 PUSH __except_handler4
.text:0041a4bf 64a100000000 MOV EAX,FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:0041a4c5 50 PUSH EAX
.text:0041a4c6 83ec08 SUB ESP,0x8
.text:0041a4c9 53 PUSH EBX
.text:0041a4ca 56 PUSH ESI
.text:0041a4cb 57 PUSH EDI
.text:0041a4cc a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0041a4d1 3145f8 XOR dword ptr [EBP + local_c+0x4],EAX
.text:0041a4d4 33c5 XOR EAX,EBP
.text:0041a4d6 50 PUSH EAX
.text:0041a4d7 8d45f0 LEA EAX=>local_14,[EBP + -0x10]
.text:0041a4da 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:0041a4e0 8965e8 MOV dword ptr [EBP + local_1c+0x4],ESP
.text:0041a4e3 c745fc000... MOV dword ptr [EBP + local_8+0x4],0x0
.text:0041a4ea 6800004000 PUSH Headers:IMAGE_DOS_HEADER_00400000
.text:0041a4ef e87c000000 CALL FUN_0041a570 ;bool FUN_0041a570(short * param_1)
.text:0041a4f4 83c404 ADD ESP,0x4
.text:0041a4f7 85c0 TEST EAX,EAX
.text:0041a4f9 7454 JZ LAB_0041a54f
.text:0041a4fb 8b4508 MOV EAX,dword ptr [EBP + pTarget+0x4]
.text:0041a4fe 2d00004000 SUB EAX,Headers:IMAGE_DOS_HEADER_00400000
.text:0041a503 50 PUSH EAX
.text:0041a504 6800004000 PUSH Headers:IMAGE_DOS_HEADER_00400000
.text:0041a509 e852ffffff CALL __FindPESection ;PIMAGE_SECTION_HEADER __FindPESectio...
.text:0041a50e 83c408 ADD ESP,0x8
.text:0041a511 85c0 TEST EAX,EAX
.text:0041a513 743a JZ LAB_0041a54f
.text:0041a515 8b4024 MOV EAX,dword ptr [EAX + 0x24]
.text:0041a518 c1e81f SHR EAX,0x1f
.text:0041a51b f7d0 NOT EAX
.text:0041a51d 83e001 AND EAX,0x1
.text:0041a520 c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0041a527 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:0041a52a 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:0041a531 59 POP ECX
.text:0041a532 5f POP EDI
.text:0041a533 5e POP ESI
.text:0041a534 5b POP EBX
.text:0041a535 8be5 MOV ESP,EBP
.text:0041a537 5d POP EBP
.text:0041a538 c3 RET
.text:0041a539 8b ?? 8Bh
.text:0041a53a 45 ?? 45h E
.text:0041a53b ec ?? ECh
.text:0041a53c 8b ?? 8Bh
.text:0041a53d 00 ?? 00h
.text:0041a53e 33 ?? 33h 3
.text:0041a53f c9 ?? C9h
.text:0041a540 81 ?? 81h
.text:0041a541 38 ?? 38h 8
.text:0041a542 05 ?? 05h
.text:0041a543 00 ?? 00h
.text:0041a544 00 ?? 00h
.text:0041a545 c0 ?? C0h
.text:0041a546 0f ?? 0Fh
.text:0041a547 94 ?? 94h
.text:0041a548 c1 ?? C1h
.text:0041a549 8b ?? 8Bh
.text:0041a54a c1 ?? C1h
.text:0041a54b c3 ?? C3h
.text:0041a54c 8b ?? 8Bh
.text:0041a54d 65 ?? 65h e
.text:0041a54e e8 ?? E8h
LAB_0041a54f: ;XREF[2,0]: 0041a4f9,0041a513
.text:0041a54f c745fcfef... MOV dword ptr [EBP + local_8+0x4],0xfffffffe
.text:0041a556 33c0 XOR EAX,EAX
.text:0041a558 8b4df0 MOV ECX,dword ptr [EBP + local_14+0x4]
.text:0041a55b 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:0041a562 59 POP ECX
.text:0041a563 5f POP EDI
.text:0041a564 5e POP ESI
.text:0041a565 5b POP EBX
.text:0041a566 8be5 MOV ESP,EBP
.text:0041a568 5d POP EBP
.text:0041a569 c3 RET
.text:0041a56a cccccccccccc align align(6)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;bool FUN_0041a570(short * param_1)
;param_1 short * 4 ;XREF[1,0]: 0041a573
;XREF[1,0]: 0041a4ef
.text:0041a570 55 PUSH EBP
.text:0041a571 8bec MOV EBP,ESP
.text:0041a573 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041a576 b94d5a0000 MOV ECX,0x5a4d
.text:0041a57b 663908 CMP word ptr [EAX],CX
.text:0041a57e 751d JNZ LAB_0041a59d
.text:0041a580 8b483c MOV ECX,dword ptr [EAX + 0x3c]
.text:0041a583 03c8 ADD ECX,EAX
.text:0041a585 813950450000 CMP dword ptr [ECX],0x4550
.text:0041a58b 7510 JNZ LAB_0041a59d
.text:0041a58d ba0b010000 MOV EDX,0x10b
.text:0041a592 33c0 XOR EAX,EAX
.text:0041a594 66395118 CMP word ptr [ECX + 0x18],DX
.text:0041a598 0f94c0 SETZ AL
.text:0041a59b 5d POP EBP
.text:0041a59c c3 RET
LAB_0041a59d: ;XREF[2,0]: 0041a57e,0041a58b
.text:0041a59d 33c0 XOR EAX,EAX
.text:0041a59f 5d POP EBP
.text:0041a5a0 c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;void * FUN_0041a5a1(void * this, byte param_1)
;this void * ECX
;param_1 byte 4 ;XREF[1,0]: 0041a5a4
;XREF[1,0]: 00420abc
.text:0041a5a1 55 PUSH EBP
.text:0041a5a2 8bec MOV EBP,ESP
.text:0041a5a4 f6450801 TEST byte ptr [EBP + param_1+0x4],0x1
.text:0041a5a8 56 PUSH ESI
.text:0041a5a9 8bf1 MOV ESI,this
.text:0041a5ab c706bc0a4200 MOV dword ptr [ESI],.rdata:type_info::vft...
.text:0041a5b1 740a JZ LAB_0041a5bd
.text:0041a5b3 6a0c PUSH 0xc
.text:0041a5b5 56 PUSH ESI
.text:0041a5b6 e895000000 CALL FUN_0041a650 ;undefined FUN_0041a650(LPVOID param_1)
.text:0041a5bb 59 POP this
.text:0041a5bc 59 POP this
LAB_0041a5bd: ;XREF[1,0]: 0041a5b1
.text:0041a5bd 8bc6 MOV EAX,ESI
.text:0041a5bf 5e POP ESI
.text:0041a5c0 5d POP EBP
.text:0041a5c1 c20400 RET 0x4
;************************************************************************************************
;* Library Function - Single Match *
;* __EH_epilog3 *
;* *
;* Libraries: Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012 *
;************************************************************************************************
;undefined __EH_epilog3(void)
;XREF[2,0]: 0040d3b8,0040d8b0
.text:0041a5c4 8b4df4 MOV ECX,dword ptr [EBP + -0xc]
.text:0041a5c7 64890d000... MOV dword ptr FS:[0x...,ECX ;= 00000000
.text:0041a5ce 59 POP ECX
.text:0041a5cf 5f POP EDI
.text:0041a5d0 5f POP EDI
.text:0041a5d1 5e POP ESI
.text:0041a5d2 5b POP EBX
.text:0041a5d3 8be5 MOV ESP,EBP
.text:0041a5d5 5d POP EBP
.text:0041a5d6 51 PUSH ECX
.text:0041a5d7 c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __EH_prolog3 *
;* *
;* Libraries: Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012 *
;************************************************************************************************
;undefined __EH_prolog3(int param_1)
;param_1 int 4 ;XREF[3,0]: 0041a5e0,0041a5e4,0041a5eb
;local_res0 undefined4 0 ;XREF[2,0]: 0041a5f7,0041a5fa
;local_8 undefined1 -8 ;XREF[1,0]: 0041a601
;XREF[2,0]: 0040d379,0040d884
.text:0041a5d8 50 PUSH EAX
.text:0041a5d9 64ff35000... PUSH dword ptr FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:0041a5e0 8d44240c LEA EAX=>param_1,[ESP + 0xc]
.text:0041a5e4 2b64240c SUB ESP,dword ptr [ESP + param_1+0x8]
.text:0041a5e8 53 PUSH EBX
.text:0041a5e9 56 PUSH ESI
.text:0041a5ea 57 PUSH EDI
.text:0041a5eb 8928 MOV dword ptr [EAX]=>param_1,EBP
.text:0041a5ed 8be8 MOV EBP,EAX
.text:0041a5ef a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0041a5f4 33c5 XOR EAX,EBP
.text:0041a5f6 50 PUSH EAX
.text:0041a5f7 ff75fc PUSH dword ptr [EBP + local_res0-0x4]
.text:0041a5fa c745fcfff... MOV dword ptr [EBP +...,0xffffffff
.text:0041a601 8d45f4 LEA EAX=>local_8,[EBP + -0xc]
.text:0041a604 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:0041a60a c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __EH_prolog3_catch *
;* *
;* Libraries: Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012 *
;************************************************************************************************
;undefined __EH_prolog3_catch(int param_1)
;param_1 int 4 ;XREF[3,0]: 0041a613,0041a617,0041a61e
;local_res0 undefined4 0 ;XREF[2,0]: 0041a62d,0041a630
;local_8 undefined1 -8 ;XREF[1,0]: 0041a637
;local_c undefined4 -c ;XREF[1,0]: 0041a62a
;XREF[1,0]: 00404181
.text:0041a60b 50 PUSH EAX
.text:0041a60c 64ff35000... PUSH dword ptr FS:[0x0]=>tdb:ExceptionList ;= 00000000
.text:0041a613 8d44240c LEA EAX=>param_1,[ESP + 0xc]
.text:0041a617 2b64240c SUB ESP,dword ptr [ESP + param_1+0x8]
.text:0041a61b 53 PUSH EBX
.text:0041a61c 56 PUSH ESI
.text:0041a61d 57 PUSH EDI
.text:0041a61e 8928 MOV dword ptr [EAX]=>param_1,EBP
.text:0041a620 8be8 MOV EBP,EAX
.text:0041a622 a114304200 MOV EAX,[.data:DAT_00423014] ;= BB40E64Eh
.text:0041a627 33c5 XOR EAX,EBP
.text:0041a629 50 PUSH EAX
.text:0041a62a 8965f0 MOV dword ptr [EBP + local_c-0x4],ESP
.text:0041a62d ff75fc PUSH dword ptr [EBP + local_res0-0x4]
.text:0041a630 c745fcfff... MOV dword ptr [EBP +...,0xffffffff
.text:0041a637 8d45f4 LEA EAX=>local_8,[EBP + -0xc]
.text:0041a63a 64a300000000 MOV FS:[0x0]=>tdb:ExceptionList,EAX ;= 00000000
.text:0041a640 c3 RET
.text:0041a641 ccccccccc... align align(15)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined FUN_0041a650(LPVOID param_1)
;param_1 LPVOID 4 ;XREF[1,0]: 0041a653
;XREF[2,0]: 00403f9d,0041a5b6
.text:0041a650 55 PUSH EBP
.text:0041a651 8bec MOV EBP,ESP
.text:0041a653 ff7508 PUSH dword ptr [EBP + param_1+0x4]
.text:0041a656 e8d1030000 CALL thunk_FUN_0040caa5 ;undefined thunk_FUN_0040caa5(LPVOID ...
.text:0041a65b 59 POP ECX
.text:0041a65c 5d POP EBP
.text:0041a65d c3 RET
.text:0041a65e cccc align align(2)
;************************************************************************************************
;* Library Function - Single Match *
;* __aulldiv *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;undefined8 __aulldiv(uint param_1, uint param_2, uint param_3, uint param_4)
;param_1 uint 4 ;XREF[3,0]: 0041a678,0041a68c,0041a6b8
;param_2 uint 8 ;XREF[3,0]: 0041a66e,0041a688,0041a6b0
;param_3 uint c ;XREF[3,0]: 0041a66a,0041a684,0041a6a6
;param_4 uint 10 ;XREF[2,0]: 0041a662,0041a6a0
;XREF[6,0]: 00405499,00407ec5,00408225,0040b569
; 0040b72e,0040dd0f
.text:0041a660 53 PUSH EBX
.text:0041a661 56 PUSH ESI
.text:0041a662 8b442418 MOV EAX,dword ptr [ESP + param_4+0x8]
.text:0041a666 0bc0 OR EAX,EAX
.text:0041a668 7518 JNZ LAB_0041a682
.text:0041a66a 8b4c2414 MOV ECX,dword ptr [ESP + param_3+0x8]
.text:0041a66e 8b442410 MOV EAX,dword ptr [ESP + param_2+0x8]
.text:0041a672 33d2 XOR EDX,EDX
.text:0041a674 f7f1 DIV ECX
.text:0041a676 8bd8 MOV EBX,EAX
.text:0041a678 8b44240c MOV EAX,dword ptr [ESP + param_1+0x8]
.text:0041a67c f7f1 DIV ECX
.text:0041a67e 8bd3 MOV EDX,EBX
.text:0041a680 eb41 JMP LAB_0041a6c3
LAB_0041a682: ;XREF[1,0]: 0041a668
.text:0041a682 8bc8 MOV ECX,EAX
.text:0041a684 8b5c2414 MOV EBX,dword ptr [ESP + param_3+0x8]
.text:0041a688 8b542410 MOV EDX,dword ptr [ESP + param_2+0x8]
.text:0041a68c 8b44240c MOV EAX,dword ptr [ESP + param_1+0x8]
LAB_0041a690: ;XREF[1,0]: 0041a69a
.text:0041a690 d1e9 SHR ECX,0x1
.text:0041a692 d1db RCR EBX,0x1
.text:0041a694 d1ea SHR EDX,0x1
.text:0041a696 d1d8 RCR EAX,0x1
.text:0041a698 0bc9 OR ECX,ECX
.text:0041a69a 75f4 JNZ LAB_0041a690
.text:0041a69c f7f3 DIV EBX
.text:0041a69e 8bf0 MOV ESI,EAX
.text:0041a6a0 f7642418 MUL dword ptr [ESP + param_4+0x8]
.text:0041a6a4 8bc8 MOV ECX,EAX
.text:0041a6a6 8b442414 MOV EAX,dword ptr [ESP + param_3+0x8]
.text:0041a6aa f7e6 MUL ESI
.text:0041a6ac 03d1 ADD EDX,ECX
.text:0041a6ae 720e JC LAB_0041a6be
.text:0041a6b0 3b542410 CMP EDX,dword ptr [ESP + param_2+0x8]
.text:0041a6b4 7708 JA LAB_0041a6be
.text:0041a6b6 7207 JC LAB_0041a6bf
.text:0041a6b8 3b44240c CMP EAX,dword ptr [ESP + param_1+0x8]
.text:0041a6bc 7601 JBE LAB_0041a6bf
LAB_0041a6be: ;XREF[2,0]: 0041a6ae,0041a6b4
.text:0041a6be 4e DEC ESI
LAB_0041a6bf: ;XREF[2,0]: 0041a6b6,0041a6bc
.text:0041a6bf 33d2 XOR EDX,EDX
.text:0041a6c1 8bc6 MOV EAX,ESI
LAB_0041a6c3: ;XREF[1,0]: 0041a680
.text:0041a6c3 5e POP ESI
.text:0041a6c4 5b POP EBX
.text:0041a6c5 c21000 RET 0x10
.text:0041a6c8 ccccccccc... align align(8)
;************************************************************************************************
;* Library Function - Single Match *
;* __aullrem *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;undefined8 __aullrem(uint param_1, uint param_2, uint param_3, uint param_4)
;param_1 uint 4 ;XREF[4,0]: 0041a6e5,0041a6fb,0041a724,0041a732
;param_2 uint 8 ;XREF[4,0]: 0041a6dd,0041a6f7,0041a71c,0041a736
;param_3 uint c ;XREF[4,0]: 0041a6d9,0041a6f3,0041a714,0041a72a
;param_4 uint 10 ;XREF[3,0]: 0041a6d1,0041a70f,0041a72e
;XREF[3,0]: 00405485,0040b580,0040b74a
.text:0041a6d0 53 PUSH EBX
.text:0041a6d1 8b442414 MOV EAX,dword ptr [ESP + param_4+0x4]
.text:0041a6d5 0bc0 OR EAX,EAX
.text:0041a6d7 7518 JNZ LAB_0041a6f1
.text:0041a6d9 8b4c2410 MOV ECX,dword ptr [ESP + param_3+0x4]
.text:0041a6dd 8b44240c MOV EAX,dword ptr [ESP + param_2+0x4]
.text:0041a6e1 33d2 XOR EDX,EDX
.text:0041a6e3 f7f1 DIV ECX
.text:0041a6e5 8b442408 MOV EAX,dword ptr [ESP + param_1+0x4]
.text:0041a6e9 f7f1 DIV ECX
.text:0041a6eb 8bc2 MOV EAX,EDX
.text:0041a6ed 33d2 XOR EDX,EDX
.text:0041a6ef eb50 JMP LAB_0041a741
LAB_0041a6f1: ;XREF[1,0]: 0041a6d7
.text:0041a6f1 8bc8 MOV ECX,EAX
.text:0041a6f3 8b5c2410 MOV EBX,dword ptr [ESP + param_3+0x4]
.text:0041a6f7 8b54240c MOV EDX,dword ptr [ESP + param_2+0x4]
.text:0041a6fb 8b442408 MOV EAX,dword ptr [ESP + param_1+0x4]
LAB_0041a6ff: ;XREF[1,0]: 0041a709
.text:0041a6ff d1e9 SHR ECX,0x1
.text:0041a701 d1db RCR EBX,0x1
.text:0041a703 d1ea SHR EDX,0x1
.text:0041a705 d1d8 RCR EAX,0x1
.text:0041a707 0bc9 OR ECX,ECX
.text:0041a709 75f4 JNZ LAB_0041a6ff
.text:0041a70b f7f3 DIV EBX
.text:0041a70d 8bc8 MOV ECX,EAX
.text:0041a70f f7642414 MUL dword ptr [ESP + param_4+0x4]
.text:0041a713 91 XCHG EAX,ECX
.text:0041a714 f7642410 MUL dword ptr [ESP + param_3+0x4]
.text:0041a718 03d1 ADD EDX,ECX
.text:0041a71a 720e JC LAB_0041a72a
.text:0041a71c 3b54240c CMP EDX,dword ptr [ESP + param_2+0x4]
.text:0041a720 7708 JA LAB_0041a72a
.text:0041a722 720e JC LAB_0041a732
.text:0041a724 3b442408 CMP EAX,dword ptr [ESP + param_1+0x4]
.text:0041a728 7608 JBE LAB_0041a732
LAB_0041a72a: ;XREF[2,0]: 0041a71a,0041a720
.text:0041a72a 2b442410 SUB EAX,dword ptr [ESP + param_3+0x4]
.text:0041a72e 1b542414 SBB EDX,dword ptr [ESP + param_4+0x4]
LAB_0041a732: ;XREF[2,0]: 0041a722,0041a728
.text:0041a732 2b442408 SUB EAX,dword ptr [ESP + param_1+0x4]
.text:0041a736 1b54240c SBB EDX,dword ptr [ESP + param_2+0x4]
.text:0041a73a f7da NEG EDX
.text:0041a73c f7d8 NEG EAX
.text:0041a73e 83da00 SBB EDX,0x0
LAB_0041a741: ;XREF[1,0]: 0041a6ef
.text:0041a741 5b POP EBX
.text:0041a742 c21000 RET 0x10
.text:0041a745 ccccccccc... align align(11)
;************************************************************************************************
;* Library Function - Single Match *
;* __allmul *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;longlong __allmul(uint param_1, uint param_2, uint param_3, uint param_4)
;param_1 uint 4 ;XREF[3,0]: 0041a760,0041a76e,0041a778
;param_2 uint 8 ;XREF[1,0]: 0041a750
;param_3 uint c ;XREF[1,0]: 0041a75a
;param_4 uint 10 ;XREF[2,0]: 0041a754,0041a772
;XREF[5,0]: 00407f15,00408275,0040b76f,0040b7a8
; 0040dd5f
.text:0041a750 8b442408 MOV EAX,dword ptr [ESP + param_2]
.text:0041a754 8b4c2410 MOV ECX,dword ptr [ESP + param_4]
.text:0041a758 0bc8 OR ECX,EAX
.text:0041a75a 8b4c240c MOV ECX,dword ptr [ESP + param_3]
.text:0041a75e 7509 JNZ LAB_0041a769
.text:0041a760 8b442404 MOV EAX,dword ptr [ESP + param_1]
.text:0041a764 f7e1 MUL ECX
.text:0041a766 c21000 RET 0x10
LAB_0041a769: ;XREF[1,0]: 0041a75e
.text:0041a769 53 PUSH EBX
.text:0041a76a f7e1 MUL ECX
.text:0041a76c 8bd8 MOV EBX,EAX
.text:0041a76e 8b442408 MOV EAX,dword ptr [ESP + param_1+0x4]
.text:0041a772 f7642414 MUL dword ptr [ESP + param_4+0x4]
.text:0041a776 03d8 ADD EBX,EAX
.text:0041a778 8b442408 MOV EAX,dword ptr [ESP + param_1+0x4]
.text:0041a77c f7e1 MUL ECX
.text:0041a77e 03d3 ADD EDX,EBX
.text:0041a780 5b POP EBX
.text:0041a781 c21000 RET 0x10
.text:0041a784 ccccccccc... align align(12)
;************************************************************************************************
;* Library Function - Single Match *
;* __allshl *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;longlong __allshl(byte param_1, int param_2)
;param_1 byte CL
;param_2 int EDX
;XREF[15,0]: 004091b0,004091cf,004092df,004092fe
; 004093f2,00409537,0040956b,0040af3a
; 0040b12f,0040b2c0,0040b31c,0040b6f6
; 0040f252,00414a28,00414be8
.text:0041a790 80f940 CMP param_1,0x40
.text:0041a793 7315 JNC LAB_0041a7aa
.text:0041a795 80f920 CMP param_1,0x20
.text:0041a798 7306 JNC LAB_0041a7a0
.text:0041a79a 0fa5c2 SHLD param_2,EAX,param_1
.text:0041a79d d3e0 SHL EAX,param_1
.text:0041a79f c3 RET
LAB_0041a7a0: ;XREF[1,0]: 0041a798
.text:0041a7a0 8bd0 MOV param_2,EAX
.text:0041a7a2 33c0 XOR EAX,EAX
.text:0041a7a4 80e11f AND param_1,0x1f
.text:0041a7a7 d3e2 SHL param_2,param_1
.text:0041a7a9 c3 RET
LAB_0041a7aa: ;XREF[1,0]: 0041a793
.text:0041a7aa 33c0 XOR EAX,EAX
.text:0041a7ac 33d2 XOR param_2,param_2
.text:0041a7ae c3 RET
.text:0041a7af cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* __aullshr *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;ulonglong __aullshr(byte param_1, uint param_2)
;param_1 byte CL
;param_2 uint EDX
;XREF[9,0]: 00409260,0040938f,0040954f,0040b2e7
; 0040f235,0040f28b,0040f43f,0040f4f5
; 0040fb14
.text:0041a7b0 80f940 CMP param_1,0x40
.text:0041a7b3 7315 JNC LAB_0041a7ca
.text:0041a7b5 80f920 CMP param_1,0x20
.text:0041a7b8 7306 JNC LAB_0041a7c0
.text:0041a7ba 0fadd0 SHRD EAX,param_2,param_1
.text:0041a7bd d3ea SHR param_2,param_1
.text:0041a7bf c3 RET
LAB_0041a7c0: ;XREF[1,0]: 0041a7b8
.text:0041a7c0 8bc2 MOV EAX,param_2
.text:0041a7c2 33d2 XOR param_2,param_2
.text:0041a7c4 80e11f AND param_1,0x1f
.text:0041a7c7 d3e8 SHR EAX,param_1
.text:0041a7c9 c3 RET
LAB_0041a7ca: ;XREF[1,0]: 0041a7b3
.text:0041a7ca 33c0 XOR EAX,EAX
.text:0041a7cc 33d2 XOR param_2,param_2
.text:0041a7ce c3 RET
.text:0041a7cf cc align align(1)
;************************************************************************************************
;* Library Function - Single Match *
;* __alldiv *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;undefined8 __alldiv(uint param_1, uint param_2, uint param_3, uint param_4)
;param_1 uint 4 ;XREF[5,0]: 0041a7de,0041a7ed,0041a81f,0041a833,0041a85f
;param_2 uint 8 ;XREF[5,0]: 0041a7d5,0041a7e9,0041a815,0041a82f,0041a857
;param_3 uint c ;XREF[5,0]: 0041a7fa,0041a809,0041a811,0041a82b,0041a84d
;param_4 uint 10 ;XREF[3,0]: 0041a7f1,0041a805,0041a847
;XREF[3,0]: 0040f547,0040f581,0040f5b3
.text:0041a7d0 57 PUSH EDI
.text:0041a7d1 56 PUSH ESI
.text:0041a7d2 53 PUSH EBX
.text:0041a7d3 33ff XOR EDI,EDI
.text:0041a7d5 8b442414 MOV EAX,dword ptr [ESP + param_2+0xc]
.text:0041a7d9 0bc0 OR EAX,EAX
.text:0041a7db 7d14 JGE LAB_0041a7f1
.text:0041a7dd 47 INC EDI
.text:0041a7de 8b542410 MOV EDX,dword ptr [ESP + param_1+0xc]
.text:0041a7e2 f7d8 NEG EAX
.text:0041a7e4 f7da NEG EDX
.text:0041a7e6 83d800 SBB EAX,0x0
.text:0041a7e9 89442414 MOV dword ptr [ESP + param_2+0xc],EAX
.text:0041a7ed 89542410 MOV dword ptr [ESP + param_1+0xc],EDX
LAB_0041a7f1: ;XREF[1,0]: 0041a7db
.text:0041a7f1 8b44241c MOV EAX,dword ptr [ESP + param_4+0xc]
.text:0041a7f5 0bc0 OR EAX,EAX
.text:0041a7f7 7d14 JGE LAB_0041a80d
.text:0041a7f9 47 INC EDI
.text:0041a7fa 8b542418 MOV EDX,dword ptr [ESP + param_3+0xc]
.text:0041a7fe f7d8 NEG EAX
.text:0041a800 f7da NEG EDX
.text:0041a802 83d800 SBB EAX,0x0
.text:0041a805 8944241c MOV dword ptr [ESP + param_4+0xc],EAX
.text:0041a809 89542418 MOV dword ptr [ESP + param_3+0xc],EDX
LAB_0041a80d: ;XREF[1,0]: 0041a7f7
.text:0041a80d 0bc0 OR EAX,EAX
.text:0041a80f 7518 JNZ LAB_0041a829
.text:0041a811 8b4c2418 MOV ECX,dword ptr [ESP + param_3+0xc]
.text:0041a815 8b442414 MOV EAX,dword ptr [ESP + param_2+0xc]
.text:0041a819 33d2 XOR EDX,EDX
.text:0041a81b f7f1 DIV ECX
.text:0041a81d 8bd8 MOV EBX,EAX
.text:0041a81f 8b442410 MOV EAX,dword ptr [ESP + param_1+0xc]
.text:0041a823 f7f1 DIV ECX
.text:0041a825 8bd3 MOV EDX,EBX
.text:0041a827 eb41 JMP LAB_0041a86a
LAB_0041a829: ;XREF[1,0]: 0041a80f
.text:0041a829 8bd8 MOV EBX,EAX
.text:0041a82b 8b4c2418 MOV ECX,dword ptr [ESP + param_3+0xc]
.text:0041a82f 8b542414 MOV EDX,dword ptr [ESP + param_2+0xc]
.text:0041a833 8b442410 MOV EAX,dword ptr [ESP + param_1+0xc]
LAB_0041a837: ;XREF[1,0]: 0041a841
.text:0041a837 d1eb SHR EBX,0x1
.text:0041a839 d1d9 RCR ECX,0x1
.text:0041a83b d1ea SHR EDX,0x1
.text:0041a83d d1d8 RCR EAX,0x1
.text:0041a83f 0bdb OR EBX,EBX
.text:0041a841 75f4 JNZ LAB_0041a837
.text:0041a843 f7f1 DIV ECX
.text:0041a845 8bf0 MOV ESI,EAX
.text:0041a847 f764241c MUL dword ptr [ESP + param_4+0xc]
.text:0041a84b 8bc8 MOV ECX,EAX
.text:0041a84d 8b442418 MOV EAX,dword ptr [ESP + param_3+0xc]
.text:0041a851 f7e6 MUL ESI
.text:0041a853 03d1 ADD EDX,ECX
.text:0041a855 720e JC LAB_0041a865
.text:0041a857 3b542414 CMP EDX,dword ptr [ESP + param_2+0xc]
.text:0041a85b 7708 JA LAB_0041a865
.text:0041a85d 7207 JC LAB_0041a866
.text:0041a85f 3b442410 CMP EAX,dword ptr [ESP + param_1+0xc]
.text:0041a863 7601 JBE LAB_0041a866
LAB_0041a865: ;XREF[2,0]: 0041a855,0041a85b
.text:0041a865 4e DEC ESI
LAB_0041a866: ;XREF[2,0]: 0041a85d,0041a863
.text:0041a866 33d2 XOR EDX,EDX
.text:0041a868 8bc6 MOV EAX,ESI
LAB_0041a86a: ;XREF[1,0]: 0041a827
.text:0041a86a 4f DEC EDI
.text:0041a86b 7507 JNZ LAB_0041a874
.text:0041a86d f7da NEG EDX
.text:0041a86f f7d8 NEG EAX
.text:0041a871 83da00 SBB EDX,0x0
LAB_0041a874: ;XREF[1,0]: 0041a86b
.text:0041a874 5b POP EBX
.text:0041a875 5e POP ESI
.text:0041a876 5f POP EDI
.text:0041a877 c21000 RET 0x10
.text:0041a87a cccccccccccc align align(6)
;************************************************************************************************
;* Library Function - Single Match *
;* __allrem *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;undefined8 __allrem(uint param_1, uint param_2, uint param_3, uint param_4)
;param_1 uint 4 ;XREF[6,0]: 0041a88d,0041a89c,0041a8cb,0041a8e4,0041a90d
; 0041a91b
;param_2 uint 8 ;XREF[6,0]: 0041a884,0041a898,0041a8c3,0041a8e0,0041a905
; 0041a91f
;param_3 uint c ;XREF[6,0]: 0041a8a8,0041a8b7,0041a8bf,0041a8dc,0041a8fd
; 0041a913
;param_4 uint 10 ;XREF[4,0]: 0041a8a0,0041a8b3,0041a8f8,0041a917
;XREF[3,0]: 0040f562,0040f594,0040f5c6
.text:0041a880 53 PUSH EBX
.text:0041a881 57 PUSH EDI
.text:0041a882 33ff XOR EDI,EDI
.text:0041a884 8b442410 MOV EAX,dword ptr [ESP + param_2+0x8]
.text:0041a888 0bc0 OR EAX,EAX
.text:0041a88a 7d14 JGE LAB_0041a8a0
.text:0041a88c 47 INC EDI
.text:0041a88d 8b54240c MOV EDX,dword ptr [ESP + param_1+0x8]
.text:0041a891 f7d8 NEG EAX
.text:0041a893 f7da NEG EDX
.text:0041a895 83d800 SBB EAX,0x0
.text:0041a898 89442410 MOV dword ptr [ESP + param_2+0x8],EAX
.text:0041a89c 8954240c MOV dword ptr [ESP + param_1+0x8],EDX
LAB_0041a8a0: ;XREF[1,0]: 0041a88a
.text:0041a8a0 8b442418 MOV EAX,dword ptr [ESP + param_4+0x8]
.text:0041a8a4 0bc0 OR EAX,EAX
.text:0041a8a6 7d13 JGE LAB_0041a8bb
.text:0041a8a8 8b542414 MOV EDX,dword ptr [ESP + param_3+0x8]
.text:0041a8ac f7d8 NEG EAX
.text:0041a8ae f7da NEG EDX
.text:0041a8b0 83d800 SBB EAX,0x0
.text:0041a8b3 89442418 MOV dword ptr [ESP + param_4+0x8],EAX
.text:0041a8b7 89542414 MOV dword ptr [ESP + param_3+0x8],EDX
LAB_0041a8bb: ;XREF[1,0]: 0041a8a6
.text:0041a8bb 0bc0 OR EAX,EAX
.text:0041a8bd 751b JNZ LAB_0041a8da
.text:0041a8bf 8b4c2414 MOV ECX,dword ptr [ESP + param_3+0x8]
.text:0041a8c3 8b442410 MOV EAX,dword ptr [ESP + param_2+0x8]
.text:0041a8c7 33d2 XOR EDX,EDX
.text:0041a8c9 f7f1 DIV ECX
.text:0041a8cb 8b44240c MOV EAX,dword ptr [ESP + param_1+0x8]
.text:0041a8cf f7f1 DIV ECX
.text:0041a8d1 8bc2 MOV EAX,EDX
.text:0041a8d3 33d2 XOR EDX,EDX
.text:0041a8d5 4f DEC EDI
.text:0041a8d6 794e JNS LAB_0041a926
.text:0041a8d8 eb53 JMP LAB_0041a92d
LAB_0041a8da: ;XREF[1,0]: 0041a8bd
.text:0041a8da 8bd8 MOV EBX,EAX
.text:0041a8dc 8b4c2414 MOV ECX,dword ptr [ESP + param_3+0x8]
.text:0041a8e0 8b542410 MOV EDX,dword ptr [ESP + param_2+0x8]
.text:0041a8e4 8b44240c MOV EAX,dword ptr [ESP + param_1+0x8]
LAB_0041a8e8: ;XREF[1,0]: 0041a8f2
.text:0041a8e8 d1eb SHR EBX,0x1
.text:0041a8ea d1d9 RCR ECX,0x1
.text:0041a8ec d1ea SHR EDX,0x1
.text:0041a8ee d1d8 RCR EAX,0x1
.text:0041a8f0 0bdb OR EBX,EBX
.text:0041a8f2 75f4 JNZ LAB_0041a8e8
.text:0041a8f4 f7f1 DIV ECX
.text:0041a8f6 8bc8 MOV ECX,EAX
.text:0041a8f8 f7642418 MUL dword ptr [ESP + param_4+0x8]
.text:0041a8fc 91 XCHG EAX,ECX
.text:0041a8fd f7642414 MUL dword ptr [ESP + param_3+0x8]
.text:0041a901 03d1 ADD EDX,ECX
.text:0041a903 720e JC LAB_0041a913
.text:0041a905 3b542410 CMP EDX,dword ptr [ESP + param_2+0x8]
.text:0041a909 7708 JA LAB_0041a913
.text:0041a90b 720e JC LAB_0041a91b
.text:0041a90d 3b44240c CMP EAX,dword ptr [ESP + param_1+0x8]
.text:0041a911 7608 JBE LAB_0041a91b
LAB_0041a913: ;XREF[2,0]: 0041a903,0041a909
.text:0041a913 2b442414 SUB EAX,dword ptr [ESP + param_3+0x8]
.text:0041a917 1b542418 SBB EDX,dword ptr [ESP + param_4+0x8]
LAB_0041a91b: ;XREF[2,0]: 0041a90b,0041a911
.text:0041a91b 2b44240c SUB EAX,dword ptr [ESP + param_1+0x8]
.text:0041a91f 1b542410 SBB EDX,dword ptr [ESP + param_2+0x8]
.text:0041a923 4f DEC EDI
.text:0041a924 7907 JNS LAB_0041a92d
LAB_0041a926: ;XREF[1,0]: 0041a8d6
.text:0041a926 f7da NEG EDX
.text:0041a928 f7d8 NEG EAX
.text:0041a92a 83da00 SBB EDX,0x0
LAB_0041a92d: ;XREF[2,0]: 0041a8d8,0041a924
.text:0041a92d 5f POP EDI
.text:0041a92e 5b POP EBX
.text:0041a92f c21000 RET 0x10
.text:0041a932 ccccccccc... align align(14)
;************************************************************************************************
;* Library Function - Single Match *
;* __alloca_probe_16 *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;uint __alloca_probe_16(undefined1 param_1)
;param_1 undefined1 4 ;XREF[1,0]: 0041a941
;XREF[5,0]: 004129b1,00417889,00417952,004189e9
; 00418a78
.text:0041a940 51 PUSH ECX
.text:0041a941 8d4c2408 LEA ECX=>param_1,[ESP + 0x8]
.text:0041a945 2bc8 SUB ECX,EAX
.text:0041a947 83e10f AND ECX,0xf
.text:0041a94a 03c1 ADD EAX,ECX
.text:0041a94c 1bc9 SBB ECX,ECX
.text:0041a94e 0bc1 OR EAX,ECX
.text:0041a950 59 POP ECX
.text:0041a951 e91a000000 JMP __alloca_probe ;undefined __alloca_probe(void)
;************************************************************************************************
;* Library Function - Single Match *
;* __alloca_probe_8 *
;* *
;* Library: Visual Studio *
;************************************************************************************************
;uint __alloca_probe_8(undefined1 param_1)
;param_1 undefined1 4 ;XREF[1,0]: 0041a957
.text:0041a956 51 PUSH ECX
.text:0041a957 8d4c2408 LEA ECX=>param_1,[ESP + 0x8]
.text:0041a95b 2bc8 SUB ECX,EAX
.text:0041a95d 83e107 AND ECX,0x7
.text:0041a960 03c1 ADD EAX,ECX
.text:0041a962 1bc9 SBB ECX,ECX
.text:0041a964 0bc1 OR EAX,ECX
.text:0041a966 59 POP ECX
.text:0041a967 e904000000 JMP __alloca_probe ;undefined __alloca_probe(void)
.text:0041a96c cccccccc align align(4)
;************************************************************************************************
;* Library Function - Single Match *
;* __chkstk *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;undefined __alloca_probe(void)
;local_res0 undefined4 0 ;XREF[2,0]: 0041a971,0041a98c
;local_2000 undefined4 -2000 ;XREF[1,0]: 0041a997
;XREF[5,0]: 00413f80,0041405b,00414144,0041a951
; 0041a967
.text:0041a970 51 PUSH ECX
.text:0041a971 8d4c2404 LEA ECX=>local_res0,[ESP + 0x4]
.text:0041a975 2bc8 SUB ECX,EAX
.text:0041a977 1bc0 SBB EAX,EAX
.text:0041a979 f7d0 NOT EAX
.text:0041a97b 23c8 AND ECX,EAX
.text:0041a97d 8bc4 MOV EAX,ESP
.text:0041a97f 2500f0ffff AND EAX,0xfffff000
LAB_0041a984: ;XREF[1,0]: 0041a999
.text:0041a984 3bc8 CMP ECX,EAX
.text:0041a986 720a JC LAB_0041a992
.text:0041a988 8bc1 MOV EAX,ECX
.text:0041a98a 59 POP ECX
.text:0041a98b 94 XCHG EAX,ESP
.text:0041a98c 8b00 MOV EAX=>local_res0,dword ptr [EAX]
.text:0041a98e 890424 MOV dword ptr [ESP],EAX
.text:0041a991 c3 RET
LAB_0041a992: ;XREF[1,0]: 0041a986
.text:0041a992 2d00100000 SUB EAX,0x1000
.text:0041a997 8500 TEST dword ptr [EAX]=>local_2000,EAX
.text:0041a999 ebe9 JMP LAB_0041a984
.text:0041a99b cccccccccc align align(5)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint thunk_FUN_0041a9b0(void)
;XREF[1,0]: 00414962
.text:0041a9a0 e90b000000 JMP FUN_0041a9b0
.text:0041a9a5 ccccccccc... align align(11)
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;uint FUN_0041a9b0(void)
;local_4 undefined4 -4 ;XREF[1,0]: 0041a9bc
;local_20 undefined1[10] -20 ;XREF[1,2]: 0041a9cc,0041a9cf,0041a9d3
;XREF[1,0]: 0041a9a0
.text:0041a9b0 833d3c394... CMP dword ptr [.data:DAT_0042393c],0x2
.text:0041a9b7 7c08 JL LAB_0041a9c1
.text:0041a9b9 83ec04 SUB ESP,0x4
.text:0041a9bc db0c24 FISTTP dword ptr [ESP]=>local_4
.text:0041a9bf 58 POP EAX
.text:0041a9c0 c3 RET
LAB_0041a9c1: ;XREF[1,0]: 0041a9b7
.text:0041a9c1 55 PUSH EBP
.text:0041a9c2 8bec MOV EBP,ESP
.text:0041a9c4 83c4f0 ADD ESP,-0x10
.text:0041a9c7 83e4f0 AND ESP,0xfffffff0
.text:0041a9ca d9c0 FLD ST0
.text:0041a9cc db3c24 FSTP tword ptr [ESP]=>local_20
.text:0041a9cf 8b442404 MOV EAX,dword ptr [ESP + local_20[4]+0x20]
.text:0041a9d3 0fb74c2408 MOVZX ECX,word ptr [ESP + local_20[8]+0x20]
.text:0041a9d8 0fbaf10f BTR ECX,0xf
.text:0041a9dc 1bd2 SBB EDX,EDX
.text:0041a9de 6681f9ff3f CMP CX,0x3fff
.text:0041a9e3 721f JC LAB_0041aa04
.text:0041a9e5 85c0 TEST EAX,EAX
.text:0041a9e7 7936 JNS LAB_0041aa1f
.text:0041a9e9 6681f91e40 CMP CX,0x401e
.text:0041a9ee 731c JNC LAB_0041aa0c
.text:0041a9f0 66f7d9 NEG CX
.text:0041a9f3 6681c13e40 ADD CX,0x403e
.text:0041a9f8 d9fc FRNDINT
.text:0041a9fa ddd8 FSTP ST0
.text:0041a9fc d3e8 SHR EAX,CL
.text:0041a9fe 33c2 XOR EAX,EDX
.text:0041aa00 2bc2 SUB EAX,EDX
.text:0041aa02 c9 LEAVE
.text:0041aa03 c3 RET
LAB_0041aa04: ;XREF[1,0]: 0041a9e3
.text:0041aa04 d9fc FRNDINT
.text:0041aa06 ddd8 FSTP ST0
.text:0041aa08 33c0 XOR EAX,EAX
.text:0041aa0a c9 LEAVE
.text:0041aa0b c3 RET
LAB_0041aa0c: ;XREF[1,0]: 0041a9ee
.text:0041aa0c 7711 JA LAB_0041aa1f
.text:0041aa0e 85d2 TEST EDX,EDX
.text:0041aa10 790d JNS LAB_0041aa1f
.text:0041aa12 3d00000080 CMP EAX,0x80000000
.text:0041aa17 7506 JNZ LAB_0041aa1f
.text:0041aa19 d9fc FRNDINT
.text:0041aa1b ddd8 FSTP ST0
.text:0041aa1d c9 LEAVE
.text:0041aa1e c3 RET
LAB_0041aa1f: ;XREF[4,0]: 0041a9e7,0041aa0c,0041aa10,0041aa17
.text:0041aa1f d81dcc0a4200 FCOMP dword ptr [.rdata:DAT_00420acc] ;= FFh
.text:0041aa25 c9 LEAVE
.text:0041aa26 b800000080 MOV EAX,0x80000000
.text:0041aa2b c3 RET
;************************************************************************************************
;* FUNCTION *
;************************************************************************************************
;undefined thunk_FUN_0040caa5(LPVOID param_1)
;param_1 LPVOID 4 ;XREF[1,0]: 0040caab
;XREF[1,0]: 0041a656
.text:0041aa2c e97420ffff JMP FUN_0040caa5
.text:0041aa31 ccccccccc... align align(15)
;************************************************************************************************
;* Library Function - Single Match *
;* _strrchr *
;* *
;* Libraries: Visual Studio 2012, Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 *
;************************************************************************************************
;char * _strrchr(char * _Str, int _Ch)
;_Str char * 4 ;XREF[2,0]: 0041aa51,0041ab4e
;_Ch int 8 ;XREF[3,0]: 0041aa56,0041aacd,0041ab60
;XREF[1,0]: 0040f338
.text:0041aa40 55 PUSH EBP
.text:0041aa41 8bec MOV EBP,ESP
.text:0041aa43 57 PUSH EDI
.text:0041aa44 833d3c394... CMP dword ptr [.data:DAT_0042393c],0x1
.text:0041aa4b 0f82fd000000 JC LAB_0041ab4e
.text:0041aa51 8b7d08 MOV EDI,dword ptr [EBP + _Str+0x4]
.text:0041aa54 7777 JA LAB_0041aacd
.text:0041aa56 0fb6550c MOVZX EDX,byte ptr [EBP + _Ch+0x4]
.text:0041aa5a 8bc2 MOV EAX,EDX
.text:0041aa5c c1e208 SHL EDX,0x8
.text:0041aa5f 0bd0 OR EDX,EAX
.text:0041aa61 660f6eda MOVD XMM3,EDX
.text:0041aa65 f20f70db00 PSHUFLW XMM3,XMM3,0x0
.text:0041aa6a 0f16db MOVLHPS XMM3,XMM3
.text:0041aa6d b90f000000 MOV ECX,0xf
.text:0041aa72 23cf AND ECX,EDI
.text:0041aa74 83c8ff OR EAX,0xffffffff
.text:0041aa77 d3e0 SHL EAX,CL
.text:0041aa79 2bf9 SUB EDI,ECX
.text:0041aa7b 33d2 XOR EDX,EDX
LAB_0041aa7d: ;XREF[1,0]: 0041aaab
.text:0041aa7d f30f6f0f MOVDQU XMM1,xmmword ptr [EDI]
.text:0041aa81 660fefd2 PXOR XMM2,XMM2
.text:0041aa85 660f74d1 PCMPEQB XMM2,XMM1
.text:0041aa89 660f74cb PCMPEQB XMM1,XMM3
.text:0041aa8d 660fd7ca PMOVMSKB ECX,XMM2
.text:0041aa91 23c8 AND ECX,EAX
.text:0041aa93 7518 JNZ LAB_0041aaad
.text:0041aa95 660fd7c9 PMOVMSKB ECX,XMM1
.text:0041aa99 23c8 AND ECX,EAX
.text:0041aa9b 0fbdc1 BSR EAX,ECX
.text:0041aa9e 03c7 ADD EAX,EDI
.text:0041aaa0 85c9 TEST ECX,ECX
.text:0041aaa2 0f45d0 CMOVNZ EDX,EAX
.text:0041aaa5 83c8ff OR EAX,0xffffffff
.text:0041aaa8 83c710 ADD EDI,0x10
.text:0041aaab ebd0 JMP LAB_0041aa7d
LAB_0041aaad: ;XREF[1,0]: 0041aa93
.text:0041aaad 53 PUSH EBX
.text:0041aaae 660fd7d9 PMOVMSKB EBX,XMM1
.text:0041aab2 23d8 AND EBX,EAX
.text:0041aab4 d1e1 SHL ECX,0x1
.text:0041aab6 33c0 XOR EAX,EAX
.text:0041aab8 2bc1 SUB EAX,ECX
.text:0041aaba 23c8 AND ECX,EAX
.text:0041aabc 49 DEC ECX
.text:0041aabd 23cb AND ECX,EBX
.text:0041aabf 5b POP EBX
.text:0041aac0 0fbdc1 BSR EAX,ECX
.text:0041aac3 03c7 ADD EAX,EDI
.text:0041aac5 85c9 TEST ECX,ECX
.text:0041aac7 0f44c2 CMOVZ EAX,EDX
.text:0041aaca 5f POP EDI
.text:0041aacb c9 LEAVE
.text:0041aacc c3 RET
LAB_0041aacd: ;XREF[1,0]: 0041aa54
.text:0041aacd 0fb6550c MOVZX EDX,byte ptr [EBP + _Ch+0x4]
.text:0041aad1 85d2 TEST EDX,EDX
.text:0041aad3 7439 JZ LAB_0041ab0e
.text:0041aad5 33c0 XOR EAX,EAX
.text:0041aad7 f7c70f000000 TEST EDI,0xf
.text:0041aadd 7415 JZ LAB_0041aaf4
LAB_0041aadf: ;XREF[1,0]: 0041aaf2
.text:0041aadf 0fb60f MOVZX ECX,byte ptr [EDI]
.text:0041aae2 3bca CMP ECX,EDX
.text:0041aae4 0f44c7 CMOVZ EAX,EDI
.text:0041aae7 85c9 TEST ECX,ECX
.text:0041aae9 7420 JZ LAB_0041ab0b
.text:0041aaeb 47 INC EDI
.text:0041aaec f7c70f000000 TEST EDI,0xf
.text:0041aaf2 75eb JNZ LAB_0041aadf
LAB_0041aaf4: ;XREF[1,0]: 0041aadd
.text:0041aaf4 660f6ec2 MOVD XMM0,EDX
LAB_0041aaf8: ;XREF[1,0]: 0041ab09
.text:0041aaf8 83c710 ADD EDI,0x10
.text:0041aafb 660f3a634... PCMPISTRI XMM0,xmmword ptr [EDI + -0x10],0x40
.text:0041ab02 8d4c39f0 LEA ECX,[ECX + EDI*0x1 + -0x10]
.text:0041ab06 0f42c1 CMOVC EAX,ECX
.text:0041ab09 75ed JNZ LAB_0041aaf8
LAB_0041ab0b: ;XREF[2,0]: 0041aae9,0041ab4c
.text:0041ab0b 5f POP EDI
.text:0041ab0c c9 LEAVE
.text:0041ab0d c3 RET
LAB_0041ab0e: ;XREF[1,0]: 0041aad3
.text:0041ab0e b8f0ffffff MOV EAX,0xfffffff0
.text:0041ab13 23c7 AND EAX,EDI
.text:0041ab15 660fefc0 PXOR XMM0,XMM0
.text:0041ab19 660f7400 PCMPEQB XMM0,xmmword ptr [EAX]
.text:0041ab1d b90f000000 MOV ECX,0xf
.text:0041ab22 23cf AND ECX,EDI
.text:0041ab24 baffffffff MOV EDX,0xffffffff
.text:0041ab29 d3e2 SHL EDX,CL
.text:0041ab2b 660fd7f8 PMOVMSKB EDI,XMM0
.text:0041ab2f 23fa AND EDI,EDX
.text:0041ab31 7514 JNZ LAB_0041ab47
LAB_0041ab33: ;XREF[1,0]: 0041ab45
.text:0041ab33 660fefc0 PXOR XMM0,XMM0
.text:0041ab37 660f744010 PCMPEQB XMM0,xmmword ptr [EAX + 0x10]
.text:0041ab3c 83c010 ADD EAX,0x10
.text:0041ab3f 660fd7f8 PMOVMSKB EDI,XMM0
.text:0041ab43 85ff TEST EDI,EDI
.text:0041ab45 74ec JZ LAB_0041ab33
LAB_0041ab47: ;XREF[1,0]: 0041ab31
.text:0041ab47 0fbcd7 BSF EDX,EDI
.text:0041ab4a 03c2 ADD EAX,EDX
.text:0041ab4c ebbd JMP LAB_0041ab0b
LAB_0041ab4e: ;XREF[1,0]: 0041aa4b
.text:0041ab4e 8b7d08 MOV EDI,dword ptr [EBP + _Str+0x4]
.text:0041ab51 33c0 XOR EAX,EAX
.text:0041ab53 83c9ff OR ECX,0xffffffff
.text:0041ab56 f2ae SCASB.REPNE ES:EDI
.text:0041ab58 83c101 ADD ECX,0x1
.text:0041ab5b f7d9 NEG ECX
.text:0041ab5d 83ef01 SUB EDI,0x1
.text:0041ab60 8a450c MOV AL,byte ptr [EBP + _Ch+0x4]
.text:0041ab63 fd STD
.text:0041ab64 f2ae SCASB.REPNE ES:EDI
.text:0041ab66 83c701 ADD EDI,0x1
.text:0041ab69 3807 CMP byte ptr [EDI],AL
.text:0041ab6b 7404 JZ LAB_0041ab71
.text:0041ab6d 33c0 XOR EAX,EAX
.text:0041ab6f eb02 JMP LAB_0041ab73
LAB_0041ab71: ;XREF[1,0]: 0041ab6b
.text:0041ab71 8bc7 MOV EAX,EDI
LAB_0041ab73: ;XREF[1,0]: 0041ab6f
.text:0041ab73 fc CLD
.text:0041ab74 5f POP EDI
.text:0041ab75 c9 LEAVE
.text:0041ab76 c3 RET
.text:0041ab77 ccccccccc... align align(9)
;************************************************************************************************
;* Library Function - Single Match *
;* _strchr *
;* *
;* Libraries: Visual Studio 2012, Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 *
;************************************************************************************************
;char * _strchr(char * _Str, int _Val)
;_Str char * 4 ;XREF[2,0]: 0041aba1,0041abf4
;_Val int 8 ;XREF[2,0]: 0041ab89,0041abea
;XREF[1,0]: 004120ca
.text:0041ab80 833d3c394... CMP dword ptr [.data:DAT_0042393c],0x1
.text:0041ab87 725f JC LAB_0041abe8
.text:0041ab89 0fb6442408 MOVZX EAX,byte ptr [ESP + _Val]
.text:0041ab8e 8bd0 MOV EDX,EAX
.text:0041ab90 c1e008 SHL EAX,0x8
.text:0041ab93 0bd0 OR EDX,EAX
.text:0041ab95 660f6eda MOVD XMM3,EDX
.text:0041ab99 f20f70db00 PSHUFLW XMM3,XMM3,0x0
.text:0041ab9e 0f16db MOVLHPS XMM3,XMM3
.text:0041aba1 8b542404 MOV EDX,dword ptr [ESP + _Str]
.text:0041aba5 b90f000000 MOV ECX,0xf
.text:0041abaa 83c8ff OR EAX,0xffffffff
.text:0041abad 23ca AND ECX,EDX
.text:0041abaf d3e0 SHL EAX,CL
.text:0041abb1 2bd1 SUB EDX,ECX
LAB_0041abb3: ;XREF[1,0]: 0041abd5
.text:0041abb3 f30f6f0a MOVDQU XMM1,xmmword ptr [EDX]
.text:0041abb7 660fefd2 PXOR XMM2,XMM2
.text:0041abbb 660f74d1 PCMPEQB XMM2,XMM1
.text:0041abbf 660f74cb PCMPEQB XMM1,XMM3
.text:0041abc3 660febd1 POR XMM2,XMM1
.text:0041abc7 660fd7ca PMOVMSKB ECX,XMM2
.text:0041abcb 23c8 AND ECX,EAX
.text:0041abcd 7508 JNZ LAB_0041abd7
.text:0041abcf 83c8ff OR EAX,0xffffffff
.text:0041abd2 83c210 ADD EDX,0x10
.text:0041abd5 ebdc JMP LAB_0041abb3
LAB_0041abd7: ;XREF[1,0]: 0041abcd
.text:0041abd7 0fbcc1 BSF EAX,ECX
.text:0041abda 03c2 ADD EAX,EDX
.text:0041abdc 660f7eda MOVD EDX,XMM3
.text:0041abe0 33c9 XOR ECX,ECX
.text:0041abe2 3a10 CMP DL,byte ptr [EAX]
.text:0041abe4 0f45c1 CMOVNZ EAX,ECX
.text:0041abe7 c3 RET
LAB_0041abe8: ;XREF[1,0]: 0041ab87
.text:0041abe8 33c0 XOR EAX,EAX
.text:0041abea 8a442408 MOV AL,byte ptr [ESP + _Val]
.text:0041abee 53 PUSH EBX
.text:0041abef 8bd8 MOV EBX,EAX
.text:0041abf1 c1e008 SHL EAX,0x8
.text:0041abf4 8b542408 MOV EDX,dword ptr [ESP + _Str+0x4]
.text:0041abf8 f7c203000000 TEST EDX,0x3
.text:0041abfe 7415 JZ LAB_0041ac15
LAB_0041ac00: ;XREF[1,0]: 0041ac13
.text:0041ac00 8a0a MOV CL,byte ptr [EDX]
.text:0041ac02 83c201 ADD EDX,0x1
.text:0041ac05 3acb CMP CL,BL
.text:0041ac07 7459 JZ LAB_0041ac62
.text:0041ac09 84c9 TEST CL,CL
.text:0041ac0b 7451 JZ LAB_0041ac5e
.text:0041ac0d f7c203000000 TEST EDX,0x3
.text:0041ac13 75eb JNZ LAB_0041ac00
LAB_0041ac15: ;XREF[1,0]: 0041abfe
.text:0041ac15 0bd8 OR EBX,EAX
.text:0041ac17 57 PUSH EDI
.text:0041ac18 8bc3 MOV EAX,EBX
.text:0041ac1a c1e310 SHL EBX,0x10
.text:0041ac1d 56 PUSH ESI
.text:0041ac1e 0bd8 OR EBX,EAX
LAB_0041ac20: ;XREF[3,0]: 0041ac4b,0041ac5a,0041ac8d
.text:0041ac20 8b0a MOV ECX,dword ptr [EDX]
.text:0041ac22 bffffefe7e MOV EDI,0x7efefeff
.text:0041ac27 8bc1 MOV EAX,ECX
.text:0041ac29 8bf7 MOV ESI,EDI
.text:0041ac2b 33cb XOR ECX,EBX
.text:0041ac2d 03f0 ADD ESI,EAX
.text:0041ac2f 03f9 ADD EDI,ECX
.text:0041ac31 83f1ff XOR ECX,0xffffffff
.text:0041ac34 83f0ff XOR EAX,0xffffffff
.text:0041ac37 33cf XOR ECX,EDI
.text:0041ac39 33c6 XOR EAX,ESI
.text:0041ac3b 83c204 ADD EDX,0x4
.text:0041ac3e 81e100010181 AND ECX,0x81010100
.text:0041ac44 7521 JNZ LAB_0041ac67
.text:0041ac46 2500010181 AND EAX,0x81010100
.text:0041ac4b 74d3 JZ LAB_0041ac20
.text:0041ac4d 2500010101 AND EAX,0x1010100
.text:0041ac52 7508 JNZ LAB_0041ac5c
.text:0041ac54 81e600000080 AND ESI,0x80000000
.text:0041ac5a 75c4 JNZ LAB_0041ac20
LAB_0041ac5c: ;XREF[5,0]: 0041ac52,0041ac70,0041ac78,0041ac83
; 0041ac8b
.text:0041ac5c 5e POP ESI
.text:0041ac5d 5f POP EDI
LAB_0041ac5e: ;XREF[1,0]: 0041ac0b
.text:0041ac5e 5b POP EBX
.text:0041ac5f 33c0 XOR EAX,EAX
.text:0041ac61 c3 RET
LAB_0041ac62: ;XREF[1,0]: 0041ac07
.text:0041ac62 8d42ff LEA EAX,[EDX + -0x1]
.text:0041ac65 5b POP EBX
.text:0041ac66 c3 RET
LAB_0041ac67: ;XREF[1,0]: 0041ac44
.text:0041ac67 8b42fc MOV EAX,dword ptr [EDX + -0x4]
.text:0041ac6a 3ac3 CMP AL,BL
.text:0041ac6c 7436 JZ LAB_0041aca4
.text:0041ac6e 84c0 TEST AL,AL
.text:0041ac70 74ea JZ LAB_0041ac5c
.text:0041ac72 3ae3 CMP AH,BL
.text:0041ac74 7427 JZ LAB_0041ac9d
.text:0041ac76 84e4 TEST AH,AH
.text:0041ac78 74e2 JZ LAB_0041ac5c
.text:0041ac7a c1e810 SHR EAX,0x10
.text:0041ac7d 3ac3 CMP AL,BL
.text:0041ac7f 7415 JZ LAB_0041ac96
.text:0041ac81 84c0 TEST AL,AL
.text:0041ac83 74d7 JZ LAB_0041ac5c
.text:0041ac85 3ae3 CMP AH,BL
.text:0041ac87 7406 JZ LAB_0041ac8f
.text:0041ac89 84e4 TEST AH,AH
.text:0041ac8b 74cf JZ LAB_0041ac5c
.text:0041ac8d eb91 JMP LAB_0041ac20
LAB_0041ac8f: ;XREF[1,0]: 0041ac87
.text:0041ac8f 5e POP ESI
.text:0041ac90 5f POP EDI
.text:0041ac91 8d42ff LEA EAX,[EDX + -0x1]
.text:0041ac94 5b POP EBX
.text:0041ac95 c3 RET
LAB_0041ac96: ;XREF[1,0]: 0041ac7f
.text:0041ac96 8d42fe LEA EAX,[EDX + -0x2]
.text:0041ac99 5e POP ESI
.text:0041ac9a 5f POP EDI
.text:0041ac9b 5b POP EBX
.text:0041ac9c c3 RET
LAB_0041ac9d: ;XREF[1,0]: 0041ac74
.text:0041ac9d 8d42fd LEA EAX,[EDX + -0x3]
.text:0041aca0 5e POP ESI
.text:0041aca1 5f POP EDI
.text:0041aca2 5b POP EBX
.text:0041aca3 c3 RET
LAB_0041aca4: ;XREF[1,0]: 0041ac6c
.text:0041aca4 8d42fc LEA EAX,[EDX + -0x4]
.text:0041aca7 5e POP ESI
.text:0041aca8 5f POP EDI
.text:0041aca9 5b POP EBX
.text:0041acaa c3 RET
;************************************************************************************************
;* Library Function - Single Match *
;* __filter_x86_sse2_floating_point_exception_default *
;* *
;* Library: Visual Studio 2019 Release *
;************************************************************************************************
;int __filter_x86_sse2_floating_point_exception_default(int param_1)
;param_1 int 4 ;XREF[3,0]: 0041acb8,0041acc1,0041ad1e
;local_8 undefined4 -8 ;XREF[2,0]: 0041acca,0041acce
;XREF[2,0]: 004022b9,00402e3c
.text:0041acab 55 PUSH EBP
.text:0041acac 8bec MOV EBP,ESP
.text:0041acae 51 PUSH ECX
.text:0041acaf 833d3c394... CMP dword ptr [.data:DAT_0042393c],0x1
.text:0041acb6 7c66 JL LAB_0041ad1e
.text:0041acb8 817d08b40... CMP dword ptr [EBP + param_1+0x4],0xc00002b4
.text:0041acbf 7409 JZ LAB_0041acca
.text:0041acc1 817d08b50... CMP dword ptr [EBP + param_1+0x4],0xc00002b5
.text:0041acc8 7554 JNZ LAB_0041ad1e
LAB_0041acca: ;XREF[1,0]: 0041acbf
.text:0041acca 0fae5dfc STMXCSR dword ptr [EBP + local_8+0x4]
.text:0041acce 8b45fc MOV EAX,dword ptr [EBP + local_8+0x4]
.text:0041acd1 83f03f XOR EAX,0x3f
.text:0041acd4 a881 TEST AL,0x81
.text:0041acd6 743f JZ LAB_0041ad17
.text:0041acd8 a904020000 TEST EAX,0x204
.text:0041acdd 7507 JNZ LAB_0041ace6
.text:0041acdf b88e0000c0 MOV EAX,0xc000008e
.text:0041ace4 c9 LEAVE
.text:0041ace5 c3 RET
LAB_0041ace6: ;XREF[1,0]: 0041acdd
.text:0041ace6 a902010000 TEST EAX,0x102
.text:0041aceb 742a JZ LAB_0041ad17
.text:0041aced a908040000 TEST EAX,0x408
.text:0041acf2 7507 JNZ LAB_0041acfb
.text:0041acf4 b8910000c0 MOV EAX,0xc0000091
.text:0041acf9 c9 LEAVE
.text:0041acfa c3 RET
LAB_0041acfb: ;XREF[1,0]: 0041acf2
.text:0041acfb a910080000 TEST EAX,0x810
.text:0041ad00 7507 JNZ LAB_0041ad09
.text:0041ad02 b8930000c0 MOV EAX,0xc0000093
.text:0041ad07 c9 LEAVE
.text:0041ad08 c3 RET
LAB_0041ad09: ;XREF[1,0]: 0041ad00
.text:0041ad09 a920100000 TEST EAX,0x1020
.text:0041ad0e 750e JNZ LAB_0041ad1e
.text:0041ad10 b88f0000c0 MOV EAX,0xc000008f
.text:0041ad15 c9 LEAVE
.text:0041ad16 c3 RET
LAB_0041ad17: ;XREF[2,0]: 0041acd6,0041aceb
.text:0041ad17 b8900000c0 MOV EAX,0xc0000090
.text:0041ad1c c9 LEAVE
.text:0041ad1d c3 RET
LAB_0041ad1e: ;XREF[3,0]: 0041acb6,0041acc8,0041ad0e
.text:0041ad1e 8b4508 MOV EAX,dword ptr [EBP + param_1+0x4]
.text:0041ad21 c9 LEAVE
.text:0041ad22 c3 RET
LAB_0041ad23: ;XREF[2,0]: 0040417c,004215ac
.text:0041ad23 90 NOP
.text:0041ad24 90 NOP
.text:0041ad25 8b542408 MOV EDX,dword ptr [ESP + 0x8]
.text:0041ad29 8d420c LEA EAX,[EDX + 0xc]
.text:0041ad2c 8b4aec MOV ECX,dword ptr [EDX + -0x14]
.text:0041ad2f 33c8 XOR ECX,EAX
.text:0041ad31 e8ef73feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0041ad36 b8241c4200 MOV EAX,.rdata:FuncInfo_00421c24
.text:0041ad3b e93483feff JMP FID_conflict:___CxxFrameHandler3 ;undefined4 FID_conflict:___CxxFrameH...
LAB_0041ad40: ;XREF[2,0]: 004046e6,004215b0
.text:0041ad40 90 NOP
.text:0041ad41 90 NOP
.text:0041ad42 8b542408 MOV EDX,dword ptr [ESP + 0x8]
.text:0041ad46 8d420c LEA EAX,[EDX + 0xc]
.text:0041ad49 8b4ae4 MOV ECX,dword ptr [EDX + -0x1c]
.text:0041ad4c 33c8 XOR ECX,EAX
.text:0041ad4e e8d273feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0041ad53 b8041d4200 MOV EAX,.rdata:FuncInfo_00421d04
.text:0041ad58 e91783feff JMP FID_conflict:___CxxFrameHandler3 ;undefined4 FID_conflict:___CxxFrameH...
LAB_0041ad5d: ;XREF[2,0]: 004047c7,004215b4
.text:0041ad5d 90 NOP
.text:0041ad5e 90 NOP
.text:0041ad5f 8b542408 MOV EDX,dword ptr [ESP + 0x8]
.text:0041ad63 8d420c LEA EAX,[EDX + 0xc]
.text:0041ad66 8b4af4 MOV ECX,dword ptr [EDX + -0xc]
.text:0041ad69 33c8 XOR ECX,EAX
.text:0041ad6b e8b573feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0041ad70 b8d81c4200 MOV EAX,.rdata:DAT_00421cd8 ;= 22h "
.text:0041ad75 e9fa82feff JMP FID_conflict:___CxxFrameHandler3 ;undefined4 FID_conflict:___CxxFrameH...
LAB_0041ad7a: ;XREF[2,0]: 0040d374,004215b8
.text:0041ad7a 90 NOP
.text:0041ad7b 90 NOP
.text:0041ad7c 8b542408 MOV EDX,dword ptr [ESP + 0x8]
.text:0041ad80 8d420c LEA EAX,[EDX + 0xc]
.text:0041ad83 8b4af0 MOV ECX,dword ptr [EDX + -0x10]
.text:0041ad86 33c8 XOR ECX,EAX
.text:0041ad88 e89873feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0041ad8d b8f41d4200 MOV EAX,.rdata:FuncInfo_00421df4
.text:0041ad92 e9dd82feff JMP FID_conflict:___CxxFrameHandler3 ;undefined4 FID_conflict:___CxxFrameH...
LAB_0041ad97: ;XREF[2,0]: 0040d87f,004215bc
.text:0041ad97 90 NOP
.text:0041ad98 90 NOP
.text:0041ad99 8b542408 MOV EDX,dword ptr [ESP + 0x8]
.text:0041ad9d 8d420c LEA EAX,[EDX + 0xc]
.text:0041ada0 8b4ae0 MOV ECX,dword ptr [EDX + -0x20]
.text:0041ada3 33c8 XOR ECX,EAX
.text:0041ada5 e87b73feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0041adaa b83c1e4200 MOV EAX,.rdata:FuncInfo_00421e3c
.text:0041adaf e9c082feff JMP FID_conflict:___CxxFrameHandler3 ;undefined4 FID_conflict:___CxxFrameH...
LAB_0041adb4: ;XREF[2,0]: 00413ad1,004215c0
.text:0041adb4 90 NOP
.text:0041adb5 90 NOP
.text:0041adb6 8b542408 MOV EDX,dword ptr [ESP + 0x8]
.text:0041adba 8d420c LEA EAX,[EDX + 0xc]
.text:0041adbd 8b8a7cffffff MOV ECX,dword ptr [EDX + 0xffffff7c]
.text:0041adc3 33c8 XOR ECX,EAX
.text:0041adc5 e85b73feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0041adca 8b4afc MOV ECX,dword ptr [EDX + -0x4]
.text:0041adcd 33c8 XOR ECX,EAX
.text:0041adcf e85173feff CALL FUN_00402125 ;undefined FUN_00402125(int param_1)
.text:0041add4 b8d81c4200 MOV EAX,.rdata:DAT_00421cd8 ;= 22h "
.text:0041add9 e99682feff JMP FID_conflict:___CxxFrameHandler3 ;undefined4 FID_conflict:___CxxFrameH...
.text:0041adde 00 ?? 00h
.text:0041addf 00 ?? 00h
.text:0041ade0 00 ?? 00h
.text:0041ade1 00 ?? 00h
.text:0041ade2 00 ?? 00h
.text:0041ade3 00 ?? 00h
.text:0041ade4 00 ?? 00h
.text:0041ade5 00 ?? 00h
.text:0041ade6 00 ?? 00h
.text:0041ade7 00 ?? 00h
.text:0041ade8 00 ?? 00h
.text:0041ade9 00 ?? 00h
.text:0041adea 00 ?? 00h
.text:0041adeb 00 ?? 00h
.text:0041adec 00 ?? 00h
.text:0041aded 00 ?? 00h
.text:0041adee 00 ?? 00h
.text:0041adef 00 ?? 00h
.text:0041adf0 00 ?? 00h
.text:0041adf1 00 ?? 00h
.text:0041adf2 00 ?? 00h
.text:0041adf3 00 ?? 00h
.text:0041adf4 00 ?? 00h
.text:0041adf5 00 ?? 00h
.text:0041adf6 00 ?? 00h
.text:0041adf7 00 ?? 00h
.text:0041adf8 00 ?? 00h
.text:0041adf9 00 ?? 00h
.text:0041adfa 00 ?? 00h
.text:0041adfb 00 ?? 00h
.text:0041adfc 00 ?? 00h
.text:0041adfd 00 ?? 00h
.text:0041adfe 00 ?? 00h
.text:0041adff 00 ?? 00h
;1133 QueryPerformanceCounter <>
PTR_QueryPerformanceCounter...;XREF[4,0]: 00400128,004001d0,00400224,00401c01
.rdata:0041b000 dc220200 addr KERNEL32.DLL::QueryPerformanceCounter
;557 GetCurrentProcessId <>
PTR_GetCurrentProcessId_004...;XREF[1,0]: 00401bf4
.rdata:0041b004 f6220200 addr KERNEL32.DLL::GetCurrentProcessId
;561 GetCurrentThreadId <>
PTR_GetCurrentThreadId_0041...;XREF[1,0]: 00401beb
.rdata:0041b008 0c230200 addr KERNEL32.DLL::GetCurrentThreadId
;771 GetSystemTimeAsFileTime <>
PTR_GetSystemTimeAsFileTime...;XREF[1,0]: 00401bdc
.rdata:0041b00c 22230200 addr KERNEL32.DLL::GetSystemTimeAsFileTime
;897 InitializeSListHead <>
PTR_InitializeSListHead_004...;XREF[1,0]: 00401c74
.rdata:0041b010 3c230200 addr KERNEL32.DLL::InitializeSListHead
;925 IsDebuggerPresent <>
PTR_IsDebuggerPresent_0041b...;XREF[2,0]: 00401daf,0040e11f
.rdata:0041b014 52230200 addr KERNEL32.DLL::IsDebuggerPresent
;1493 UnhandledExceptionFilter <>
PTR_UnhandledExceptionFilte...;XREF[3,0]: 00401dd9,00402141,0040e136
.rdata:0041b018 66230200 addr KERNEL32.DLL::UnhandledExceptionFilter
;1428 SetUnhandledExceptionFilter <>
PTR_SetUnhandledExceptionFi...;XREF[3,0]: 00401dcf,00402138,0040e129
.rdata:0041b01c 82230200 addr KERNEL32.DLL::SetUnhandledExceptionFi...
;746 GetStartupInfoW <>
PTR_GetStartupInfoW_0041b020: ;XREF[1,0]: 0040ebeb
.rdata:0041b020 a0230200 addr KERNEL32.DLL::GetStartupInfoW
;933 IsProcessorFeaturePresent <>
PTR_IsProcessorFeaturePrese...;XREF[6,0]: 00401ce3,00401f5b,00402166,0040db65
; 0040e235,00418c19
.rdata:0041b024 b2230200 addr KERNEL32.DLL::IsProcessorFeaturePresent
;655 GetModuleHandleW <>
PTR_GetModuleHandleW_0041b028:;XREF[1,0]: 00401df9
.rdata:0041b028 ce230200 addr KERNEL32.DLL::GetModuleHandleW
;556 GetCurrentProcess <>
PTR_GetCurrentProcess_0041b...;XREF[3,0]: 0040214c,00404787,0040e258
.rdata:0041b02c e2230200 addr KERNEL32.DLL::GetCurrentProcess
;1460 TerminateProcess <>
PTR_TerminateProcess_0041b030:;XREF[3,0]: 00402153,0040478e,0040e25f
.rdata:0041b030 f6230200 addr KERNEL32.DLL::TerminateProcess
;1269 RtlUnwind <>
PTR_RtlUnwind_0041b034: ;XREF[2,0]: 004028cf,00402f0b
.rdata:0041b034 0a240200 addr KERNEL32.DLL::RtlUnwind
;631 GetLastError <>
PTR_GetLastError_0041b038: ;XREF[29,0]: 0040295f,00402b8a,0040584a,0040589e
; 0040e009,0040e395,0040e460,0040fe2d
; 004104ad,004105fe,00410c77,00410d29
; 00410d6a,00411489,004114ca,00411555
; 004139fe,00413e68,00413eea,00414038
; 00414121,00414253,0041450c,00416c0d
; 00417070,00417112,00417f74,0041815d
; 00418be5
.rdata:0041b038 16240200 addr KERNEL32.DLL::GetLastError
;1365 SetLastError <>
PTR_SetLastError_0041b03c: ;XREF[6,0]: 004029d8,0040587f,004058d4,0040e018
; 0041054f,004106a0
.rdata:0041b03c 26240200 addr KERNEL32.DLL::SetLastError
;325 EnterCriticalSection <>
PTR_EnterCriticalSection_00...;XREF[3,0]: 004049f1,0040df62,00412593
.rdata:0041b040 36240200 addr KERNEL32.DLL::EnterCriticalSection
;989 LeaveCriticalSection <>
PTR_LeaveCriticalSection_00...;XREF[3,0]: 00404a05,0040dfaa,004125b6
.rdata:0041b044 4e240200 addr KERNEL32.DLL::LeaveCriticalSection
;290 DeleteCriticalSection <>
PTR_DeleteCriticalSection_0...;XREF[5,0]: 00402a83,004049c2,0040df82,0040e8a7
; 004124c1
.rdata:0041b048 66240200 addr KERNEL32.DLL::DeleteCriticalSection
;893 InitializeCriticalSectionAndSpinCount <>
PTR_InitializeCriticalSecti...;XREF[2,0]: 00402ceb,0040e761
.rdata:0041b04c 7e240200 addr KERNEL32.DLL::InitializeCriticalSecti...
;1478 TlsAlloc <>
PTR_TlsAlloc_0041b050: ;XREF[2,0]: 00402bf3,0040e656
.rdata:0041b050 a6240200 addr KERNEL32.DLL::TlsAlloc
;1480 TlsGetValue <>
PTR_TlsGetValue_0041b054: ;XREF[2,0]: 00402c66,0040e6d9
.rdata:0041b054 b2240200 addr KERNEL32.DLL::TlsGetValue
;1481 TlsSetValue <>
PTR_TlsSetValue_0041b058: ;XREF[2,0]: 00402ca4,0040e71b
.rdata:0041b058 c0240200 addr KERNEL32.DLL::TlsSetValue
;1479 TlsFree <>
PTR_TlsFree_0041b05c: ;XREF[2,0]: 00402c2b,0040e69a
.rdata:0041b05c ce240200 addr KERNEL32.DLL::TlsFree
;447 FreeLibrary <>
PTR_FreeLibrary_0041b060: ;XREF[4,0]: 00402b56,00404829,0040e4d7,0040e82b
.rdata:0041b060 d8240200 addr KERNEL32.DLL::FreeLibrary
;710 GetProcAddress <>
PTR_GetProcAddress_0041b064: ;XREF[3,0]: 00402b60,00404807,0040e52f
.rdata:0041b064 e6240200 addr KERNEL32.DLL::GetProcAddress
;995 LoadLibraryExW <>
PTR_LoadLibraryExW_0041b068: ;XREF[4,0]: 00402b80,00402bb2,0040e454,0040e496
.rdata:0041b068 f8240200 addr KERNEL32.DLL::LoadLibraryExW
;321 EncodePointer <>
PTR_EncodePointer_0041b06c: ;XREF[1,0]: 00403c45
.rdata:0041b06c 0a250200 addr KERNEL32.DLL::EncodePointer
;1155 RaiseException <>
PTR_RaiseException_0041b070: ;XREF[2,0]: 00404556,0041a0ba
.rdata:0041b070 1a250200 addr KERNEL32.DLL::RaiseException
;370 ExitProcess <>
PTR_ExitProcess_0041b074: ;XREF[1,0]: 004047a0
.rdata:0041b074 2c250200 addr KERNEL32.DLL::ExitProcess
;654 GetModuleHandleExW <>
PTR_GetModuleHandleExW_0041...;XREF[1,0]: 004047f5
.rdata:0041b078 3a250200 addr KERNEL32.DLL::GetModuleHandleExW
;748 GetStdHandle <>
PTR_GetStdHandle_0041b07c: ;XREF[1,0]: 0040ece1
.rdata:0041b07c 50250200 addr KERNEL32.DLL::GetStdHandle
;1594 WriteFile <>
PTR_WriteFile_0041b080: ;XREF[6,0]: 00413d7f,00413dc5,00414012,004140fb
; 00414223,00414502
.rdata:0041b080 60250200 addr KERNEL32.DLL::WriteFile
;651 GetModuleFileNameW <>
PTR_GetModuleFileNameW_0041...;XREF[1,0]: 0041154b
.rdata:0041b084 6c250200 addr KERNEL32.DLL::GetModuleFileNameW
;490 GetCommandLineA <>
PTR_GetCommandLineA_0041b088: ;XREF[1,0]: 0040d472
.rdata:0041b088 82250200 addr KERNEL32.DLL::GetCommandLineA
;491 GetCommandLineW <>
PTR_GetCommandLineW_0041b08c: ;XREF[1,0]: 0040d47d
.rdata:0041b08c 94250200 addr KERNEL32.DLL::GetCommandLineW
;867 HeapAlloc <>
PTR_HeapAlloc_0041b090: ;XREF[2,0]: 0040e358,0040ee03
.rdata:0041b090 a6250200 addr KERNEL32.DLL::HeapAlloc
;871 HeapFree <>
PTR_HeapFree_0041b094: ;XREF[1,0]: 0040e38a
.rdata:0041b094 b2250200 addr KERNEL32.DLL::HeapFree
;170 CompareStringW <>
PTR_CompareStringW_0041b098: ;XREF[1,0]: 0040e617
.rdata:0041b098 be250200 addr KERNEL32.DLL::CompareStringW
;977 LCMapStringW <>
PTR_LCMapStringW_0041b09c: ;XREF[1,0]: 0040e7be
.rdata:0041b09c d0250200 addr KERNEL32.DLL::LCMapStringW
;611 GetFileType <>
PTR_GetFileType_0041b0a0: ;XREF[2,0]: 0040ec55,0040ecf3
.rdata:0041b0a0 e0250200 addr KERNEL32.DLL::GetFileType
;393 FindClose <>
PTR_FindClose_0041b0a4: ;XREF[2,0]: 004111f9,0041122c
.rdata:0041b0a4 ee250200 addr KERNEL32.DLL::FindClose
;399 FindFirstFileExW <>
PTR_FindFirstFileExW_0041b0a8:;XREF[1,0]: 004110c6
.rdata:0041b0a8 fa250200 addr KERNEL32.DLL::FindFirstFileExW
;416 FindNextFileW <>
PTR_FindNextFileW_0041b0ac: ;XREF[1,0]: 004111ba
.rdata:0041b0ac 0e260200 addr KERNEL32.DLL::FindNextFileW
;939 IsValidCodePage <>
PTR_IsValidCodePage_0041b0b0: ;XREF[1,0]: 00411bff
.rdata:0041b0b0 1e260200 addr KERNEL32.DLL::IsValidCodePage
;454 GetACP <>
PTR_GetACP_0041b0b4: ;XREF[1,0]: 00411717
.rdata:0041b0b4 30260200 addr KERNEL32.DLL::GetACP
;687 GetOEMCP <>
PTR_GetOEMCP_0041b0b8: ;XREF[1,0]: